26
(ATS3-PLAT03) Enterprise Protocol & Package Deployment Jarek Tomczak Principal Solutions Architect, Professional Services [email protected]

(ATS3-PLAT03) Enterprise Protocol & Package Deployment

Embed Size (px)

DESCRIPTION

There is a significant difference between publication of individual protocols and deployment of complex applications consisting of a significant number of protocols combined with a custom Web interface and custom components developed in third party languages. This session will summarize existing methods of protocol deployment and then focus on various aspects of packaging and meta-packaging (on-fly package creation and installation) to address typical requirements of enterprise application publication like dependency management, configuration injection, security, application initialization, testing and continuous integration.

Citation preview

Page 1: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

(ATS3-PLAT03) Enterprise Protocol & Package Deployment

Jarek TomczakPrincipal Solutions Architect, Professional Services

[email protected]

Page 2: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

The information on the roadmap and future software development efforts are intended to outline general product direction and should not be relied on in making a purchasing decision.

Page 3: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Outline

• Application Deployment• Deployment of Components and Protocols• Packaging and Package Deployment– When to use– Benefits– Issues– Usage– Undocumented features

Page 4: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

AEP Application Deployment

Develop and

DocumentTest Validate Install Test Use

Development Test/Production

Page 5: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Application Deployment – Bigger Picture

ReleasePackage Advertise

De-ReleaseAdvertise Retire

InstallTransfer Configure

De-Install

Adapt

De-ActivateActivate

UpdateTransfer Configure

A Characterization Framework for Software Deployment TechnologiesAntonio Carzaniga et al., 1998

Page 6: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Deployment of Individual Components and Protocols

Don’t do it!Potential issues:• Relationship to other application protocols• Dependent components• Additional resources, data etc.• Configuration management• Documentation

Page 7: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Deployment of Individual Protocols

• If you do then– Enforce protocol validation– Resources contained within the protocol– Document manual deployment workflow

• Actual deployment– Import/Export– Network tab

Page 8: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Packages

• The only official way of distributing Pipeline Pilot collections

• Fundamental unit of the AEP ecosystem

Page 9: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Is Packaging Really Relevant?

Number of package-related questions on the Accelrys Pipeline Pilot Community forum…

1

Page 10: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

When Packages Are

• Necessary– Custom Java/.NET components– CGI scripts– Executable files

• Recommended– Nearly always

Page 11: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Benefits of Packaging

• A way of organising code• Straightforward deployment to multiple servers• Dependency management• Configuration management– Package variables

• Documentation (components, custom/API)– Integration with Help Center

• Apache configuration

Page 12: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Benefits of Packaging cont.

• Authorization– Integration with Admin Portal

• Support for CGI scripts• Handling of executable files• Locked code• Versioning• Integrity check

Page 13: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Packaging Issues

• Need access to server for package development and deployment

• Cannot save packaged components/protocols (export)– Lost PP versioning through export/import

• Tricky to use with SCM systems

Page 14: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Package Content and Directory Structure

• Components and protocols• Configuration files• Documentation• Data files

– Required by individual components/protocols– Baseline files for regression tests

• Custom (Java, .NET etc.) components• Other code (e.g. Web applications)• Executable files

Page 15: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Packaging Overview

• Create a new packageperl mktree.pl --company=mycorp --product=myapp

• Fix folder structure• Edit package.conf• Develop package components• Install (activate) the package (pkgutil -i)• Check integrity, validate GUIDs (pkgutil -q/-v)• Create zip file (pkgutil -buildpackagezip)

Page 16: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

package.conf as Deployment Descriptor File

Identificationand Versioning

Vendor

Name

Version

DependencyManagement

Require

Testing

Test

OnInstall

OnUninstall

Configuration

Global

Web

Documentation

HelpDoc

Code Management

Xml

Data

DotNet

Java

Perl

Page 17: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Apache HTTP Server Configuration

• Deploy a web application to e.g. http://server:9944/myapp

• Deploy a custom Web / REST / CGI service• Make a data directory browsable• Make a private directory non-browsable• Change default cache ages for images• …

Page 18: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Apache HTTP Server Configuration Options

• Edit httpd.conf• Use documented package web directive

• Use undocumented package directives

• Use a dedicated config file

Web myapp $(package)/webWeb myapp-temp C:/Temp/myapp

<web custom>insert ...</web>

Page 19: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Sending Specific MIME Type Files

• Export of DICOM images• .dcm extension is not enough• HTTP header field:

Content-Type: application/dicom

• CGI Script<web custom>insert Alias /mime/getfile "C:/Program Files/Accelrys/PPS85/apps/accelrys/mime/bin/getfile.cgi"insert <Directory "C:/Program Files/Accelrys/PPS85/apps/accelrys/mime/bin">insert Options +ExecCGI -Indexes -IncludesNoExecinsert AllowOverride Noneinsert Order allow,denyinsert Allow from allinsert AddHandler cgi-script cgiinsert </Directory></web>

Page 20: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Package-Defined Global Protocol Properties

<PACKAGE_DIR>/package.conf

Page 21: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Application Role Management

<PACKAGE_DIR>/xml/Objects/AuthzRegistry.xml

Client has to providecorresponding clientType(in PipelinePilotServer)

Page 22: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Auto Parameters

<PACKAGE_DIR>/xml/Objects/AutoParameters.xml

<PACKAGE_DIR>/package.conf• complib• <autoparameters>

Page 23: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Light Relief & A Serious Issue

For Everyone

Would you plz be so kind as to send me the ordering details for your book “Pipeline Pilot for Dummies 2010?”

I was unable to locate it on amazon…

Page 24: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Limited Access to PP Server…

There is always Pipeline Pilot Professional Client or Web Port

Page 25: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

Summary

• Packages are the basic deployment unit and…

• There is even more: File Reader extensions, embedded packages…• Documentation is pretty good• But one can learn still from the “scitegic” package masters…• Relevant sessions

– Web Development with Accelrys Enterprise Platform (ATS3-DEV06)– Team Development with Accelrys Enterprise Platform (ATS3-DEV08)

Page 26: (ATS3-PLAT03) Enterprise Protocol & Package Deployment

The information on the roadmap and future software development efforts are intended to outline general product direction and should not be relied on in making a purchasing decision.

For more information on the Accelrys Tech Summits and other IT & Developer information, please visit:https://community.accelrys.com/groups/it-dev