(ATS3-DEV08) Team Development with Accelrys Enterprise Platform
-
Upload
accelrys -
Category
Technology
-
view
645 -
download
0
description
Transcript of (ATS3-DEV08) Team Development with Accelrys Enterprise Platform
![Page 1: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/1.jpg)
(ATS3-DEV08) Team Development with Accelrys Enterprise Platform
Jarek TomczakPrincipal Solutions Architect, Professional Services
![Page 2: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/2.jpg)
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-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/3.jpg)
Outline
• Introduction• Patterns for team application development• A pattern for Java component development
![Page 4: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/4.jpg)
Situation
• Non-trivial application• Code version management system in place• Several developers• Multiple development configurations• Heterogeneous code base• Deployment to Dev/Test/Prod servers
![Page 5: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/5.jpg)
Solution Components
• PP Protocols• PP Components• Java/.NET/Perl/Python/Dynamic Java/… PP components• SQL DDL and DML code• HTML, JavaScript, CSS• Custom application (Java EE, .NET,…)
![Page 6: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/6.jpg)
Pipeline Pilot Professional
Development Environment
Database Modeller/DeveloperWeb Developer
Java Developer
![Page 7: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/7.jpg)
Development Model
![Page 8: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/8.jpg)
Key Issue
Synchronisation of XMLDB with an SCM repository
![Page 9: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/9.jpg)
Patterns for AEP Application Development
• XMLDB only• In-situ package• Sibling packages• Package container
![Page 10: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/10.jpg)
Version Management of Protocols in XMLDB
• XMLDB as primary component/protocol storage• On demand export/import
File SystemXMLDB
![Page 11: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/11.jpg)
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
![Page 12: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/12.jpg)
In-Situ Package
• mktree.pl• Straightforward for non-Java containing packages
PP_ROOT/apps/mycompany/mypackage Package directory
![Page 13: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/13.jpg)
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
![Page 14: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/14.jpg)
In-Situ Package – Problems with Java Packages
• Suboptimal documented approach– mktree.pl– Eclipse setup with linked src/build dirs
PP_ROOT/apps/mycompany/mypackage Package directory
Eclipse workspace ?
![Page 15: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/15.jpg)
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
![Page 16: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/16.jpg)
Sibling Packages
Problem statement• Do not want to provide customer with source code or
unit/regression testsSolution• Split package into production and
test/development packages
![Page 17: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/17.jpg)
Sibling Packages
• Production package– Ships to customers– Components, protocols– Images, other resources– Build binaries
• Test/Development package– Regression tests and baseline files– Source code– Build scripts
mycompany/myproductmycompany/myproductdev
![Page 18: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/18.jpg)
Sibling Packages – ChemReg
scite
gic
scid
ev
![Page 19: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/19.jpg)
Package Container
Development outside of PP_ROOT
WorkspacePackage directory
Package installation
![Page 20: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/20.jpg)
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
![Page 21: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/21.jpg)
Package Container – Folder Setup
Dev
elop
men
t
ant
config myhost local.properties
docs
packages ourapp
bin
dataroot
docs
lang
regression
web
xml
Objects
Components
Protocolspackage.conf-tmpl
src
java
build
dist
lib
src
sqlddl
dml
build.xml
application.properties
![Page 22: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/22.jpg)
Package Container – Build/Deployment Automation
Tasks• Standard tasks
– File operations (copy, delete,…)– Filters– Exec (pkgutil, regress, net)– Java (YUI Compressor)
• Database deployment– Third party SQL*Plus wrapper incanto.sourceforge.net
• Custom task to execute PP protocols• Source code management integration
![Page 23: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/23.jpg)
Development of Java Components
1. Create package (mktree.pl)2. Create missing folders3. Create Eclipse project4. Develop Java class(es) implementing
com.scitegic.pilot.Component5. D&D Java (on Server)6. Configure Java (on Server) and add new parameters7. Save the new component8. Export the new component9. Install the package
![Page 24: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/24.jpg)
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
![Page 25: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/25.jpg)
Patterns For Custom Components
Double Adapter
Business Logic Unit Tests
Java Component
Regression Test(s)
PP Component
Gen
erat
e
![Page 26: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/26.jpg)
• Develop and deploy custom Java component under 5 minutes
Demo
![Page 27: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/27.jpg)
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
![Page 28: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/28.jpg)
• Different approaches for team development• The power of plain text and XML• AEP-based development can be further automated and
improved
Summary
![Page 29: (ATS3-DEV08) Team Development with Accelrys Enterprise Platform](https://reader035.fdocuments.in/reader035/viewer/2022062616/54b1fd2d4a795933108b4626/html5/thumbnails/29.jpg)
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