This document discusses patterns for team application development using Accelrys Enterprise Platform (AEP). It describes several patterns including XMLDB only, in-situ package, sibling packages, and package container. The in-situ package pattern places all code and resources in a single directory structure within the AEP server. Sibling packages split applications into production and test packages. The package container pattern develops applications outside the AEP server and manages packages and synchronization separately. The document also provides an example of developing custom Java components for AEP and integrating with external systems like Columbus. Automating development tasks through scripts and metaprogramming is recommended to improve the development process.
Automating Google Workspace (GWS) & more with Apps Script
Team Development with Accelrys Enterprise Platform
1. (ATS3-DEV08) Team Development
with Accelrys Enterprise Platform
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.
4. Situation
• Non-trivial application
• Code version management system in place
• Several developers
• Multiple development configurations
• Heterogeneous code base
• Deployment to Dev/Test/Prod servers
9. Patterns for AEP Application Development
• XMLDB only
• In-situ package
• Sibling packages
• Package container
10. Version Management of Protocols in XMLDB
• XMLDB as primary component/protocol storage
• On demand export/import
XMLDB File System
11. XMLDB Only
• Benefits
– Simple
– Can work without direct access to the PP server necessary
• Drawbacks
– Works only with simple projects: PP components + protocols
– Limited configuration management
– No packaging
13. In-Situ Package
• Pros
– Everything in one place
– Standard package setup
• Cons
– Access to server
– Configuration management
– Doesn’t scale for multiple packages
– Doesn’t work for default Java component setup
15. In-Situ Package
• Set Eclipse workspace to PP_ROOT/apps/mycompany
• New Java project in Eclipse, but use lang/java/src and
lang/java/build
• DIY mktree.pl
PP_ROOT/apps/mycompany/mypackage Package
directory
16. Sibling Packages
Problem statement
• Do not want to provide customer with source code or
unit/regression tests
Solution
• Split package into production and
test/development packages
17. Sibling Packages
• Production package
– Ships to customers
– Components, protocols
– Images, other resources
mycompany/myproduct
– Build binaries mycompany/myproductdev
• Test/Development package
– Regression tests and baseline files
– Source code
– Build scripts
20. Package Container
• Pros
– Most flexible
– Can manage one or many packages
– Proper configuration management
– Can work with a remote server
• Cons
– Requires some work to set up (meta-packaging)
– Synchronisation with the server
21. Package Container – Folder Setup
ant
config myhost local.properties
docs bin
dataroot
docs
lang
packages ourapp
regression
Development
web Objects
xml Components
package.conf-tmpl Protocols
build
dist
java
lib
src src
build.xml ddl
sql
dml
application.properties
23. Development of Java Components
1. Create package (mktree.pl)
2. Create missing folders
3. Create Eclipse project
4. Develop Java class(es) implementing
com.scitegic.pilot.Component
5. D&D Java (on Server)
6. Configure Java (on Server) and add new parameters
7. Save the new component
8. Export the new component
9. Install the package
24. Example Component Set – Integration with Columbus
• SOAP Method with WSDL Support component can call most
methods: createProject, createDataset, getImageInfo etc.
• For image transfer Columbus uses SOAP MTOM (Message Transfer
Optimization Mechanism) – not supported by AEP
25. Patterns For Custom Components
Double Adapter Regression Test(s)
PP Component
Generate
Java Component
Business Logic Unit Tests
26. Demo
• Develop and deploy custom Java
component under 5 minutes
27. DRY—Don’t Repeat Yourself
• Automation
– Generate Java (on Server) component with the right GUID
(unique) – avoid pain of saving and exporting
• Metaprogramming
– Write Code That Writes Code Components
• Possible validation of Java-PP component parameters
28. Summary
• Different approaches for team development
• The power of plain text and XML
• AEP-based development can be further automated and
improved
29. 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