(ATS3-DEV08) Team Development with Accelrys Enterprise Platform

640 views

Published on

Developing scientific applications typically involves a team of people with different disciplines. This includes software developers, testers, business analysts/product managers, and more. This may also include software developers and scientists collaborating together that have a mixture of technology experience.
In this session, we’ll explain how teams can work together to build simple to complex applications leveraging Pipeline Pilot. We’ll also demonstrate how this is accomplished while leveraging standard software development tools like Eclipse for Java, Visual Studio, CVS, and more.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
640
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

(ATS3-DEV08) Team Development with Accelrys Enterprise Platform

  1. 1. (ATS3-DEV08) Team Developmentwith Accelrys Enterprise Platform Jarek Tomczak Principal Solutions Architect, Professional Services Jaroslaw.Tomczak@accelrys.com
  2. 2. The information on the roadmap and future software development efforts areintended to outline general product direction and should not be relied on in makinga purchasing decision.
  3. 3. Outline• Introduction• Patterns for team application development• A pattern for Java component development
  4. 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
  5. 5. 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,…)
  6. 6. Development Environment Java Developer Pipeline Pilot Professional Web Developer Database Modeller/Developer
  7. 7. Development Model
  8. 8. Key IssueSynchronisation of XMLDB with an SCM repository
  9. 9. Patterns for AEP Application Development• XMLDB only• In-situ package• Sibling packages• Package container
  10. 10. Version Management of Protocols in XMLDB• XMLDB as primary component/protocol storage• On demand export/import XMLDB File System
  11. 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
  12. 12. In-Situ Package• mktree.pl• Straightforward for non-Java containing packages PP_ROOT/apps/mycompany/mypackage Package directory
  13. 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
  14. 14. 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
  15. 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. 16. Sibling PackagesProblem statement• Do not want to provide customer with source code or unit/regression testsSolution• Split package into production and test/development packages
  17. 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
  18. 18. Sibling Packages – ChemReg scidev scitegic
  19. 19. Package ContainerDevelopment outside of PP_ROOT Package Workspace directory Package installation
  20. 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. 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
  22. 22. Package Container – Build/Deployment AutomationTasks• 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
  23. 23. Development of Java Components1. 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
  24. 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. 25. Patterns For Custom ComponentsDouble Adapter Regression Test(s) PP Component Generate Java Component Business Logic Unit Tests
  26. 26. Demo • Develop and deploy custom Java component under 5 minutes
  27. 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. 28. Summary• Different approaches for team development• The power of plain text and XML• AEP-based development can be further automated and improved
  29. 29. The information on the roadmap and future software development efforts areintended to outline general product direction and should not be relied on in makinga purchasing decision.For more information on the Accelrys Tech Summits and other IT & Developer information,please visit:https://community.accelrys.com/groups/it-dev

×