(ATS3-PLAT03) Enterprise Protocol & Package Deployment

Preview:

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

(ATS3-PLAT03) Enterprise Protocol & Package Deployment

Jarek TomczakPrincipal Solutions Architect, Professional Services

Jaroslaw.Tomczak@accelrys.com

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.

Outline

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

AEP Application Deployment

Develop and

DocumentTest Validate Install Test Use

Development Test/Production

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

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

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

Packages

• The only official way of distributing Pipeline Pilot collections

• Fundamental unit of the AEP ecosystem

Is Packaging Really Relevant?

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

1

When Packages Are

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

• Recommended– Nearly always

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

Benefits of Packaging cont.

• Authorization– Integration with Admin Portal

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

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

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

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)

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

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• …

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>

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>

Package-Defined Global Protocol Properties

<PACKAGE_DIR>/package.conf

Application Role Management

<PACKAGE_DIR>/xml/Objects/AuthzRegistry.xml

Client has to providecorresponding clientType(in PipelinePilotServer)

Auto Parameters

<PACKAGE_DIR>/xml/Objects/AutoParameters.xml

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

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…

Limited Access to PP Server…

There is always Pipeline Pilot Professional Client or Web Port

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)

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

Recommended