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.
1. (ATS3-PLAT03) Enterprise Protocol &
Package Deployment
Jarek Tomczak
Principal Solutions Architect, Professional Services
Jaroslaw.Tomczak@accelrys.com
2. 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.
3. Outline
• Application Deployment
• Deployment of Components and Protocols
• Packaging and Package Deployment
– When to use
– Benefits
– Issues
– Usage
– Undocumented features
4. AEP Application Deployment
Develop
and Test Validate Install Test Use
Document
Development Test/Production
5. Application Deployment – Bigger Picture
Release De-Release
Package Advertise Advertise Retire
A Characterization Framework for Software Deployment Technologies
Antonio Carzaniga et al., 1998
Install
De-Install
Transfer Configure
Update
Adapt
Transfer Configure
Activate De-Activate
6. 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
7. 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
8. Packages
• The only official way of
distributing Pipeline Pilot
collections
• Fundamental unit of the AEP
ecosystem
9. Is Packaging Really Relevant?
Number of package-related questions on the Accelrys
Pipeline Pilot Community forum…
11. 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
12. Benefits of Packaging cont.
• Authorization
– Integration with Admin Portal
• Support for CGI scripts
• Handling of executable files
• Locked code
• Versioning
• Integrity check
13. 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
14. 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
16. package.conf as Deployment Descriptor File
Identification Dependency Configuration Testing Documentation
and Versioning Management Global Test HelpDoc
Vendor Require Web OnInstall
Name OnUninstall
Code
Version Management
Xml
Data
DotNet
Java
Perl
17. 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
• …
18. Apache HTTP Server Configuration Options
• Edit httpd.conf
• Use documented package web directive
Web myapp $(package)/web
Web myapp-temp C:/Temp/myapp
• Use undocumented package directives
<web custom>
insert ...
</web>
• Use a dedicated config file
19. 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 -IncludesNoExec
insert AllowOverride None
insert Order allow,deny
insert Allow from all
insert AddHandler cgi-script cgi
insert </Directory>
</web>
23. Light Relief & A Serious Issue
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…
For
Everyone
24. Limited Access to PP Server…
There is always Pipeline Pilot Professional Client or Web Port
25. 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)
26. 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