SlideShare a Scribd company logo
(ATS6-DEV06) Using Packages for
Enterprise Application Delivery
Steven Bush
R&D, AEP Core Infrastructure
steven.bush@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.
Content
• What are packages?
• Using pkgutil
• Creating a new package
• Adding items to packages
– Components and Protocols
– Java, Perl, .Net Modules
– 3rdparty applications
• Editing
• Testing
• Deploying
• Combining with version control (cvs, svn, git, etc.)
Documentation
• See Application Packaging Guide in the AEP Server
Developer Help Center
Simple!
• Create the package
– pkgutil –n <mycompany/mypackage>
• Create xml directory
– Add “xml” directive to package.conf
• Export Components/Protocols to xml folder
– Folder structure matches trees in Pro Client
• Register package
– Pkgutil –r <mycompany/mypackage>
What is it?
• A package is basically a folder used to deploy applications to an AEP server
• Located in <root>/apps/<company>/<packagename>
– Ex. accelrys/customapp
• Can include:
– Protocols, components
– .jars, .pms, .NET assemblies, javascript
– 3rd party applications
– Various web pages
– Data files
– Server configuration
• Global data
• URL mapping
• Static web pages
• Edit directly
• Use pkgutil to manage
pkgutil
• Command Line application
• Used to register, unregister, list, create, and test packages
– Windows: <root>/bin/pkgutil.exe
– Linux: <root>/linux_bin/pkgutil
• Note: run “. <root>/linux_bin/ppvars.sh” first
• Install/Register
– pkgutil -i <package> or pkgutil -r <package>
• Commands are equivalent, -r will first unregister if necessary
• Unregister
– pkgutil -u <package>
• List
– pkgutil -l [company]
• Create
– pkgutil -n <package>
• Creates the basic framework of a package
• Validate
– pkgutil -v <package>
Creating a package
• Use pkgutil –n <packagename>
– e.g. pkgutil –n mycompany/myapp
– Creates folder under <root>/apps
– Creates “package.conf” text file with basic entries
• Edit package.conf
– Add directives as necessary
• xml, data, java, perl, URL, etc.
• Add folders for each item
– Component and protocol xml
– Data files
– Application dependencies (.jar, .pm, 3rdparty apps)
Package structure
mycompany/myapp
bin/
lang/
java/
js/
perl/
dataroot/
data/
docs/
icons/
scheduler/
xml/
Components/
Protocols/
ComponentState.xml
package.conf
Adding Items: Components and Protocols
• Folder structure is identical to folders in Protocol DB
– Mycompany/myapp/xml/Components/Data Access and
Manipulation/etc…
• Add “xml” directive to indicate the folder where the items are
stored
• Export item into location
• Install package to see newly added items
• Updated items take effect immediately
– No built in version control! Combine with 3rd party version control on
your package folder
Adding Items: Java, Perl, .NET, 3rd Party
• Save in an appropriate folder
– Typically <package>/bin/lang/*
• Add the appropriate directives
– Java:
<java>
CLASSPATH
</java>
– Perl:
<perl>
INC
</perl>
– .NET:
<dotnet platform="windows">
ASSEMBLY
</dotnet>
• Install the package to update
Adding Items: other
• “dataroot”
– Adds set of data files for the package
– Adds shortcuts to client file browsers
• <icons>
– Adds custom icons for components
• Icon format is very specific!!! Need multiple files for each icon for different sizes and states
• MyIcon.ico (16x16), MyIcon.png (60x52), MyIcon16x16.png (16x16), MyIconRed.png (60x52)
• <web>
– Static web pages (e.g. index.html)
• <URL>
– Custom URL routing for launching protocols
• <helpdoc>
– Documentation to show in help center
– Typically a pdf
• <require>
– Specifies dependencies on other packages
• “scheduler”
– Folder that contains scheduled tasks such as protocol executions
Interface vs. Implementation
• For component SDK items, the implementation might not
be included in the component.
• So, if you have .jar, .pm, or .Net implementation files that
are used by components, OLD components might still
make use of the same file.
• Code your implementation to accept OLD parameter sets.
Editing
• Changes to existing components and protocols take effect
immediately
• Added or deleted components and protocols require
reregistering the package
• Other changes require reregistering as well
– .jar, .pm, docs, icons, etc.
• Some changes might require restarting the AEP server
– URL or scheduler changes which change the server’s core
configuration
Testing Functionality
• regress.exe
– Create regression protocols to test components
– Use regress to make sure
• protocol runs
• results have not changed
– Suggestion: Create a “MyApp_test” package to store
regressions.
• This way you can uninstall the test package on the production server
– Regression protocols should be self contained.
• Same inputs = same outputs
• Remote calls are tested that they work, but remote data might change
Testing Component State
• Validation
– Prevent unintentional changes to component parameters
– Run “pkgutil –q” to create a baseline file called
“ComponentState.txt”
• Stored in <package>/xml folder
– Run “pkgutil –v” to report any differences from the baseline
– Rerun “pkgutil –q” to update the state.
Deploying
• (optional) Pkgutil -repackxml <package>
– Changes the registrant of each component and package to
<company/package>
– Cleans up several parameter values
• Check the package with pkgutil –v <package>
• Copy folder to new server
– Use zip file
• Run pkgutil –r <package>
• Run regression tests on the new server
Version Control
• No built in versioning of items in packages
– Editing an item is permanent
• Connect 3rd party version control to the package folders
– A package is just a folder structure with a set of files
– Be aware of types of files (binary, text, unicode, etc.)
• Creating a package is simple!
• Useful for
– Deploying sets of components and protocols
– Web Applications
– Required for Load-Balanced Deployments
– 3rd party tools
• Take a look at the packages that we ship for examples
Summary

More Related Content

PDF
(ATS6-PLAT03) What's behind Discngine collections
PDF
(ATS6-PLAT07) Managing AEP in an enterprise environment
PDF
(ATS6-PLAT06) Maximizing AEP Performance
PPTX
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
PDF
(ATS6-PLAT04) Query service
PDF
(ATS6-GS02) Integrating Contur and HEOS
PDF
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
PDF
SAP ASE Migration Lessons Learned
(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT06) Maximizing AEP Performance
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS6-PLAT04) Query service
(ATS6-GS02) Integrating Contur and HEOS
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
SAP ASE Migration Lessons Learned

What's hot (20)

PPTX
Ingesting Data from Kafka to JDBC with Transformation and Enrichment
PPTX
Building Your First Apache Apex (Next Gen Big Data/Hadoop) Application
PDF
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
PPTX
Intro to YARN (Hadoop 2.0) & Apex as YARN App (Next Gen Big Data)
PDF
Integrating Apache NiFi and Apache Apex
PDF
OSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at Runtime
PDF
Apache NiFi Meetup - Introduction to NiFi Registry
PPT
IOUG Collaborate 2015 - PDB Cloning Using SQL Commands
PPTX
What will be new in Apache NiFi 1.2.0
PDF
SAP on Azure Web Dispatcher High Availability
PPTX
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
PDF
Apache Big Data EU 2016: Next Gen Big Data Analytics with Apache Apex
PDF
Developing streaming applications with apache apex (strata + hadoop world)
PPTX
SQL Developer for DBAs
PDF
OpenText Archive Server on Azure
PDF
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
PDF
Oracle 12c Parallel Execution New Features
PPTX
Intro to Apache Apex @ Women in Big Data
PDF
Oracle to Postgres Migration - part 1
PPTX
Apache Apex Meetup at Cask
Ingesting Data from Kafka to JDBC with Transformation and Enrichment
Building Your First Apache Apex (Next Gen Big Data/Hadoop) Application
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
Intro to YARN (Hadoop 2.0) & Apex as YARN App (Next Gen Big Data)
Integrating Apache NiFi and Apache Apex
OSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at Runtime
Apache NiFi Meetup - Introduction to NiFi Registry
IOUG Collaborate 2015 - PDB Cloning Using SQL Commands
What will be new in Apache NiFi 1.2.0
SAP on Azure Web Dispatcher High Availability
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Apache Big Data EU 2016: Next Gen Big Data Analytics with Apache Apex
Developing streaming applications with apache apex (strata + hadoop world)
SQL Developer for DBAs
OpenText Archive Server on Azure
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Oracle 12c Parallel Execution New Features
Intro to Apache Apex @ Women in Big Data
Oracle to Postgres Migration - part 1
Apache Apex Meetup at Cask
Ad

Similar to (ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery (20)

PPTX
(ATS3-DEV08) Team Development with Accelrys Enterprise Platform
PDF
(ATS6-PLAT08) AEP in a Validated Environment
PPTX
SFDC Deployments
PDF
(ATS6-APP09) ELN configuration management with ADM
PPT
Anatomy of Autoconfig in Oracle E-Business Suite
PPTX
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
PPT
]project-open[ Package Manager
PDF
POUG2019 - Test your PL/SQL - your database will love you
PPTX
Scripts that automate OWASP ZAP as part of a continuous delivery pipeline
PPTX
The PeriCAT Framework
PPTX
Enhanced Reframework Session_16-07-2022.pptx
PPTX
Mac Application Packaging
PDF
Bgoug 2019.11 test your pl sql - not your patience
PDF
Python Requirements File How to Create Python requirements.txt
PDF
(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0
PPT
R12 d49656 gc10-apps dba 20
PDF
Angular Best Practices - Perfomatix
PDF
Agile db testing_techniques
PPTX
E business suite r12.2 changes for database administrators
PPTX
E business suite r12.2 changes for database administrators
(ATS3-DEV08) Team Development with Accelrys Enterprise Platform
(ATS6-PLAT08) AEP in a Validated Environment
SFDC Deployments
(ATS6-APP09) ELN configuration management with ADM
Anatomy of Autoconfig in Oracle E-Business Suite
(ATS3-DEV04) Introduction to Pipeline Pilot Protocol Development for Developers
]project-open[ Package Manager
POUG2019 - Test your PL/SQL - your database will love you
Scripts that automate OWASP ZAP as part of a continuous delivery pipeline
The PeriCAT Framework
Enhanced Reframework Session_16-07-2022.pptx
Mac Application Packaging
Bgoug 2019.11 test your pl sql - not your patience
Python Requirements File How to Create Python requirements.txt
(ATS6-DEV01) What’s new for Protocol and Component Developers in AEP 9.0
R12 d49656 gc10-apps dba 20
Angular Best Practices - Perfomatix
Agile db testing_techniques
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
Ad

More from BIOVIA (20)

PPTX
ScienceCloud: Collaborative Workflows in Biologics R&D
PDF
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
PDF
(ATS6-PLAT05) Security enhancements in AEP 9
PDF
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
PDF
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
PDF
(ATS6-GS01) Welcome
PDF
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
PDF
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
PDF
(ATS6-DEV07) Building widgets for ELN home page
PDF
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
PDF
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
PDF
(ATS6-DEV02) Web Application Strategies
PDF
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
PDF
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
PDF
(ATS6-APP05) Deploying Contur ELN to large organizations
PDF
(ATS6-APP04) Flexible Data Capture for Improved Laboratory Ergonomics
PDF
(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot
PDF
(ATS6-APP02) Deploying Discoverant Across a Global Network
PDF
(ATS6-APP01) Unleashing the Power of Your Data with Discoverant
PDF
(ATS6-APP08) ADQM Solution Deployment
ScienceCloud: Collaborative Workflows in Biologics R&D
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT05) Security enhancements in AEP 9
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
(ATS6-GS01) Welcome
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
(ATS6-DEV02) Web Application Strategies
(ATS6-APP07) Configuration of Accelrys ELN to Clone to the Latest Template Ve...
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
(ATS6-APP05) Deploying Contur ELN to large organizations
(ATS6-APP04) Flexible Data Capture for Improved Laboratory Ergonomics
(ATS6-APP03) Thomson Rueters Content used in Acclrys Pipeline Pilot
(ATS6-APP02) Deploying Discoverant Across a Global Network
(ATS6-APP01) Unleashing the Power of Your Data with Discoverant
(ATS6-APP08) ADQM Solution Deployment

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
A Presentation on Artificial Intelligence
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
cuic standard and advanced reporting.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Approach and Philosophy of On baking technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
A Presentation on Artificial Intelligence
Diabetes mellitus diagnosis method based random forest with bat algorithm
Mobile App Security Testing_ A Comprehensive Guide.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Reach Out and Touch Someone: Haptics and Empathic Computing
Advanced methodologies resolving dimensionality complications for autism neur...
NewMind AI Weekly Chronicles - August'25 Week I
cuic standard and advanced reporting.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
NewMind AI Monthly Chronicles - July 2025
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
20250228 LYD VKU AI Blended-Learning.pptx

(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery

  • 1. (ATS6-DEV06) Using Packages for Enterprise Application Delivery Steven Bush R&D, AEP Core Infrastructure steven.bush@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. Content • What are packages? • Using pkgutil • Creating a new package • Adding items to packages – Components and Protocols – Java, Perl, .Net Modules – 3rdparty applications • Editing • Testing • Deploying • Combining with version control (cvs, svn, git, etc.)
  • 4. Documentation • See Application Packaging Guide in the AEP Server Developer Help Center
  • 5. Simple! • Create the package – pkgutil –n <mycompany/mypackage> • Create xml directory – Add “xml” directive to package.conf • Export Components/Protocols to xml folder – Folder structure matches trees in Pro Client • Register package – Pkgutil –r <mycompany/mypackage>
  • 6. What is it? • A package is basically a folder used to deploy applications to an AEP server • Located in <root>/apps/<company>/<packagename> – Ex. accelrys/customapp • Can include: – Protocols, components – .jars, .pms, .NET assemblies, javascript – 3rd party applications – Various web pages – Data files – Server configuration • Global data • URL mapping • Static web pages • Edit directly • Use pkgutil to manage
  • 7. pkgutil • Command Line application • Used to register, unregister, list, create, and test packages – Windows: <root>/bin/pkgutil.exe – Linux: <root>/linux_bin/pkgutil • Note: run “. <root>/linux_bin/ppvars.sh” first • Install/Register – pkgutil -i <package> or pkgutil -r <package> • Commands are equivalent, -r will first unregister if necessary • Unregister – pkgutil -u <package> • List – pkgutil -l [company] • Create – pkgutil -n <package> • Creates the basic framework of a package • Validate – pkgutil -v <package>
  • 8. Creating a package • Use pkgutil –n <packagename> – e.g. pkgutil –n mycompany/myapp – Creates folder under <root>/apps – Creates “package.conf” text file with basic entries • Edit package.conf – Add directives as necessary • xml, data, java, perl, URL, etc. • Add folders for each item – Component and protocol xml – Data files – Application dependencies (.jar, .pm, 3rdparty apps)
  • 10. Adding Items: Components and Protocols • Folder structure is identical to folders in Protocol DB – Mycompany/myapp/xml/Components/Data Access and Manipulation/etc… • Add “xml” directive to indicate the folder where the items are stored • Export item into location • Install package to see newly added items • Updated items take effect immediately – No built in version control! Combine with 3rd party version control on your package folder
  • 11. Adding Items: Java, Perl, .NET, 3rd Party • Save in an appropriate folder – Typically <package>/bin/lang/* • Add the appropriate directives – Java: <java> CLASSPATH </java> – Perl: <perl> INC </perl> – .NET: <dotnet platform="windows"> ASSEMBLY </dotnet> • Install the package to update
  • 12. Adding Items: other • “dataroot” – Adds set of data files for the package – Adds shortcuts to client file browsers • <icons> – Adds custom icons for components • Icon format is very specific!!! Need multiple files for each icon for different sizes and states • MyIcon.ico (16x16), MyIcon.png (60x52), MyIcon16x16.png (16x16), MyIconRed.png (60x52) • <web> – Static web pages (e.g. index.html) • <URL> – Custom URL routing for launching protocols • <helpdoc> – Documentation to show in help center – Typically a pdf • <require> – Specifies dependencies on other packages • “scheduler” – Folder that contains scheduled tasks such as protocol executions
  • 13. Interface vs. Implementation • For component SDK items, the implementation might not be included in the component. • So, if you have .jar, .pm, or .Net implementation files that are used by components, OLD components might still make use of the same file. • Code your implementation to accept OLD parameter sets.
  • 14. Editing • Changes to existing components and protocols take effect immediately • Added or deleted components and protocols require reregistering the package • Other changes require reregistering as well – .jar, .pm, docs, icons, etc. • Some changes might require restarting the AEP server – URL or scheduler changes which change the server’s core configuration
  • 15. Testing Functionality • regress.exe – Create regression protocols to test components – Use regress to make sure • protocol runs • results have not changed – Suggestion: Create a “MyApp_test” package to store regressions. • This way you can uninstall the test package on the production server – Regression protocols should be self contained. • Same inputs = same outputs • Remote calls are tested that they work, but remote data might change
  • 16. Testing Component State • Validation – Prevent unintentional changes to component parameters – Run “pkgutil –q” to create a baseline file called “ComponentState.txt” • Stored in <package>/xml folder – Run “pkgutil –v” to report any differences from the baseline – Rerun “pkgutil –q” to update the state.
  • 17. Deploying • (optional) Pkgutil -repackxml <package> – Changes the registrant of each component and package to <company/package> – Cleans up several parameter values • Check the package with pkgutil –v <package> • Copy folder to new server – Use zip file • Run pkgutil –r <package> • Run regression tests on the new server
  • 18. Version Control • No built in versioning of items in packages – Editing an item is permanent • Connect 3rd party version control to the package folders – A package is just a folder structure with a set of files – Be aware of types of files (binary, text, unicode, etc.)
  • 19. • Creating a package is simple! • Useful for – Deploying sets of components and protocols – Web Applications – Required for Load-Balanced Deployments – 3rd party tools • Take a look at the packages that we ship for examples Summary