Title: C6: Introducing Native Invocation with the OpenEdge
1C6 Introducing Native Invocation with the
OpenEdge Adapter for Sonic ESB
Chris James Senior Consultant
2Agenda
- Business Processes and Sonic ESB
- OpenEdge Adapter for Sonic ESB
- Native Invocation Methodology
3Business Processes
- How do you create business processes that execute
ABL components? - With Sonic ESB!
- Flexibly assemble
components - Heterogeneous
- Distributed
- Scalable
4Model Business ProcessSonic Itinerary Process
Editor
5OpenEdge Adapter for Sonic ESB
- ABL components participate in business processes
controlled by Sonic ESB - Prior to OpenEdge 10.1C
- ABL is disguised as Web services
- Developer needs detailed knowledge of Web service
technologies - The setup in OpenEdge and Sonic is complex
- Starting with OpenEdge 10.1C
- Native Invocation Methodology Added!
6Adapter ArchitectureWeb Service Invocation
Methodology
7ABL Native Invocation Methodology
- Sonic ESB calls ABL procedures, functions and
external procedures directly/natively - AppServer call information is collected at
development time - Source code annotation preferred
- AppServer run-time properties service
initialization info stored in invocation files - Input/output parameters of ABL procedure mapped
to Sonic message content - Sonic ESB Process Editor
8Adapter ArchitectureNative Invocation
Methodology
9Supported AppServer Session Models
- Session-free (recommended)
- No session between client AppServer is
maintained - AppServer runs in a state-free operating mode
- Session-managed
- Client to AppServer persistent connection
maintained - AppServer runs in State-reset, State-aware or
Stateless operation modes
10Unified Development Environment
- OpenEdge Architect and Sonic Workbench are both
based on Eclipse - Easy to configure a combined development
environment in a single Eclipse instance - OpenEdge 10.1C and either Sonic 7.5 or 7.6
- No switching between OpenEdge and Sonic
- Single unified view of project resources
11Demonstration Unified Development Environment
12Native Invocation Development Process
New in OpenEdge 10.1C
STEP 1 Create .esboe file for each ABL procedure STEP 1 Create .esboe file for each ABL procedure STEP 1 Create .esboe file for each ABL procedure
Annotate Source Code Annotate Source Code Dont Annotate ProxyGen builds .esboe from r-code
OE Architect Annotation Wizard .esboe built on-compile or on-demand Manually Command line utility to build .esboe Dont Annotate ProxyGen builds .esboe from r-code
STEP 1 Create .esboe file for ABL procedure
OE Architect Annotation Wizard .esboe built on-compile or on-demand
STEP 2 .esboe file in Sonic project (automatic or import)
STEP 3 Drop .esboe onto Sonic Workbench Process Editor
STEP 4 Map ABL parameters to message parts
OpenEdge Architect must be installed
13Code Annotation Example
_at_openapi.openedge.export(typeESB,ESBOEFilename
PROCNAME)
DEFINE INPUT PARAMETER ItemNumIn AS INTEGER
NO-UNDO. DEFINE OUTPUT PARAMETER DATASET FOR
dsItemLocations. FIND Sports2000.Item WHERE
Sports2000.Item.Itemnum ItemNumIn. IF
AVAILABLE(Item) THEN DO CREATE ttItem.
ASSIGN ttItem.Itemnum Sports2000.Item.Itemnu
m ttItem.ItemName Sports2000.Item.ItemName.
FOR EACH Sports2000.Bin WHERE
Sports2000.Bin.Itemnum ItemNumIn
14Supplying Invocation Information to Sonic
Yes (Declarative)
Add Annotations
Compile Source Code
Add ABL Call to Itinerary in Sonic Workbench
15Demonstration Source Code Annotation
16Native Invocation Development Process
STEP 1 Create .esboe file for ABL procedure STEP 1 Create .esboe file for ABL procedure STEP 1 Create .esboe file for ABL procedure
Annotate Source Code Annotate Source Code Dont Annotate ProxyGen builds .esboe from r-code
OE Architect Annotation Wizard .esboe built on-compile or on-demand Manually Command line utility to build .esboe Dont Annotate ProxyGen builds .esboe from r-code
STEP 3 Drop .esboe onto Sonic Workbench Process Editor
STEP 2 .esboe file in Sonic project (automatic or import)
STEP 3 Drop .esboe onto Sonic Workbench Process Editor
STEP 4 Map ABL parameters to message parts
OpenEdge Architect must be installed
17Sonic Workbench Process EditorAdd ABL Process
Step
18Demonstration Sonic Workbench Process Editor
19Native Invocation Development Process
STEP 1 Create .esboe file for ABL procedure STEP 1 Create .esboe file for ABL procedure STEP 1 Create .esboe file for ABL procedure
Annotate Source Code Annotate Source Code Dont Annotate ProxyGen builds .esboe from r-code
OE Architect Annotation Wizard .esboe built on-compile or on-demand Manually Command line utility to build .esboe Dont Annotate ProxyGen builds .esboe from r-code
STEP 4 Map ABL parameters to message parts
Graphical mapping available Use XPath to extract/insert simple types Use message parts for TempTables/DataSets
STEP 2 .esboe files in Sonic project (automatic or import)
STEP 3 Drop .esboe onto Sonic Workbench Process Editor
STEP 4 Map ABL parameters to message parts
OpenEdge Architect must be installed
20Message Structure
Envelope
Header 0
Header 1
Body
Message Payload
21Mapping Message Parts Request ABL
Flexible mapping capabilities
22Mapping Message Parts ABL Response
23Demonstration Mapping Message Parts
24Debugging and Deployment
- Use scenarios in Sonic Workbench Process Editor
to debug the business process - Deploy the business process, .esboe file and
r-code - ABL is automatically executed when the business
process runs
25Demonstration Debugging
26Native Invocation Methodology Benefits
- Unified OpenEdge and Sonic development
environment - Easy to expose ABL code as a service
- Minimal technical knowledge needed
- Basic use case is automated
- Faster development
- Optimized run-time performance (no SOAP)
27Next Steps
- Get an evaluation copy of OpenEdge 10.1C and
Sonic 7.6 - Visit www.psdn.com and click on the product tour
and evaluation kits link
28?
Questions
29Thank You
30(No Transcript)