The document discusses coding custom components for Pipeline Pilot. It explains that components can integrate new functionality and outlines the component model involving initialization, processing, and finalization states. It also categorizes common component types and describes accessing context, data records, and parameters through component APIs for different programming languages.
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
(ATS3-DEV05) Coding up Pipeline Pilot Components
1. (ATS03-DEV05) Coding up Pipeline
Pilot Components
Mike Peeler
Senior Director, R&D
michael.peeler@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. Agenda
• Component intro
• Why code a new component?
• Component model
• Component categories
• Component APIs
4. Pipeline Pilot Integration Points
Client Integration
Build clients that connect to Pipeline Pilot
and run protocol services.
Web Browser
Run Protocol .NET Client Java Client
Professional JavaScript Client
Command Line Web Port SOAP Client HTTP Client
Client
Client
.NET Client
JavaScript Client SDK Java Client SDK
SDK
Pipeline Pilot Enterprise Server
Web Apps Web Services API Admin Portal Help Portal
Protocol Runtime Environment
VB Script VB Script
Run SOAP & Telnet / ODBC /
(On (On Java Perl Python .NET SSH / SCP
Program HTTP FTP JDBC
Client) Server)
Java Perl .NET
VB Script Cmd Line
Classes Scripts Classes
Server Integration REST SOAP
Cmd Line
Extend pipelines with new Service Service DBs
components that integrate
your code, data and services.
5. What is a component?
• A Pipeline Pilot component is a unit of useful functionality
that can be built into a Pipeline Pilot protocol.
• Re-usability is the key for level of granularity.
6. More about components
• A component is displayed with a representational icon and any
combination of the 3 standard ports.
• It has zero, one or more parameters, organized for usability,
whose settings are used to modify run time behavior.
• A component and its parameters are self documenting.
7. Why ‘code’ a new component?
• First see if a non-coding approach will work
– Specialization
– PilotScript
– Subprotocols
• Scripting languages
– Perl, Python, VBScript, Dynamic Java + Dynamic .NET
– R, as a more custom example
• Compiled
– Java
– .NET
• Integration Driver
8. Component model (State Machine)
Protocol event triggers:
• onInitialize(context) Context
• onProcess (context, data)
Data
Access to:
• onFinalize (context)
Access to: data
o Global
o Data record content
o Parameters
Data Component State CS
o Port routingFactories
o Utilities,
I Record • Ready For Input Data
• Ready for New Data
Protocol CS onInitialize • Ready For Input Then New Data
Fires • Done Processing Data
Events
P
• How the component
CS onProcess notifies the protocol what it
is expecting next: input
port record or a new data
F record.
onFinalize
10. Component categories
• Components generally fall into one of a number of roles e.g. Reader, Filter, Calculator, Viewer, Merger.
• Within a category, there is a specific use pattern for component state and data record processing. E.G.
Reader Calculator Merger/Sorter
ReadyForInputData
ReadyForNewData ReadyForInputData …
ReadyForNewData ReadyForInputData ReadyForInputData
… … ReadyForNewData
ReadyForNewData ReadyForInputData …
DoneProcessingData ReadyForNewData
DoneProcessing
There are conventions for naming and parameterization for each component
category, described in the Component Development Guide.
11. Component APIs
• Similarities and differences
– Java, .NET, Perl, Python
– API Documentation
• Where to find it
• Debugging
• Object model
– See next slide
12. Object Model
1 Global Data 1
Data Record Context
Data Root 1
Parameters
1 1
1 1 1
Node Property Collection
1 * 1
*
Property
Name: string
1
1
Value
13. Summary
• Multiple ways to build components
• Most advanced approach is to code your own
– Specialized integration components for various language options
• Component interface
– Context, Data Record, Ports
– Object models
– Manage component state for the behavior you need
• Developers Tab in Pipeline Pilot Help Center
– Server-side Integration/Language-based Integration
– Development Guides/*
14. 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