C2: Introduction to OpenEdge® Integration Technologies Chris James Senior Consultant 1 1 1
Agenda Reasons to Integrate Outgoing Integration Incoming Integration Introduction to OpenEdge Integration Technologies Reasons to Integrate Outgoing Integration Incoming Integration Choosing The Right Approach
Business Environment Highly Susceptible to Change Customer Demands Competition Mergers & Acquisitions Divestitures Business Partners Technology Business Expansion Drive for Cost Efficiency 3 3 3
Constant changes reduces the ability to respond The IT Reality Business Requirements IT Systems Time Constant changes reduces the ability to respond 4 4 4
Agenda Reasons to Integrate Outgoing Integration Incoming Integration Introduction to OpenEdge Integration Technologies Reasons to Integrate Outgoing Integration Incoming Integration Choosing The Right Approach
Outgoing Integration OpenEdge App UI ABL DB MS Oracle® ODBC SQL COM / ActiveX OpenEdge App DB ABL UI Web service SonicMQ®/Sonic™ ESB Flat File Process Oracle® MS SQL ODBC
Usability Legend Ease of Implementation Suseptible to Change Future Ready E E E C C C F F F
Outgoing – Flat File ABL Developers Interpret File Format C F ABL Developers Interpret File Format IMPORT / EXPORT INPUT FROM / OUTPUT TO PUT READ-XML()* / WRITE-XML()* * OpenEdge 10.1A
Outgoing – Process ABL Developers F ABL Developers Interpret Process Input / Output Format INPUT THROUGH / OUTPUT THROUGH External processes are platform dependent!
Outgoing – Sockets* ABL Developers Socket Management Implement Custom Protocol Remote System Developers * Progress 9.1A / OpenEdge 10.0B
Outgoing – Sockets Typical Uses FTP HTTP SMTP Special needs: E C F Performance Non-Standard protocol
Outgoing – COM / ActiveX* F ABL Developers Instantiate & Use COM objects Embed ActiveX component in GUI Program for each event / method Typical Uses Custom GUI Objects Word Processing, Spreadsheets, Email *Primarily Windows – otherwise very limited support
Outgoing – .Net* ABL Developers Embed existing .Net components F ABL Developers Embed existing .Net components Requires a little OOABL programming Typical Uses Custom GUI Objects Custom .Net Objects *Supported only on Windows *Requires OpenEdge 10.2A (not yet released)
Outgoing – Web Service Web service = HTTP + SOAP ABL Developers F Web service = HTTP + SOAP ABL Developers Connection Management Very similar to calling OpenEdge AppServer™ Interpret WSDL bprowsdldoc creates sample code
Outgoing – SonicMQ ABL Developers JMS Connection Management F ABL Developers JMS Connection Management Produce/Consume SonicMQ Messages Offers Guaranteed Delivery Message ordering
Outgoing – Sonic ESB ABL Developers Produce/Consume SonicMQ Messages F ABL Developers Produce/Consume SonicMQ Messages Call ESB hosted Web service Offers Application independant connection to basically anything* *JMS, WebService, FTP, Email, HTTP, 100+ Apps
Outgoing – Data Server ABL Developers Either: Tweak data access F ABL Developers Either: Tweak data access Existing code will just work... ...but maybe not efficiently Or: Reimplement foreign business logic Oracle, MS/SQL, other ODBC
Outgoing Integration Overview Implementation Approach Ease of Suseptibility to Change Future Ready Flat File Process Sockets COM / ActiveX .Net Web Services SonicMQ Sonic ESB Data Server E C F E C F E C F E C F E C F E C F E C F E C F E C F
Agenda Reasons to Integrate Outgoing Integration Incoming Integration Introduction to OpenEdge Integration Technologies Reasons to Integrate Outgoing Integration Incoming Integration Choosing The Right Approach
Incoming Integration OpenEdge App UI App Server DB Java™ Web service SonicMQ / ESB ODBC / JDBC
Incoming – .Net /Java ABL Developers Proxy Gen Distribute proxies F ABL Developers Proxy Gen Distribute proxies .Net / Java Developers Use proxies No special coding
Incoming – Web Services F ABL Developers Proxy Gen Distribute WSDL Remote System Developers Use Web Service No Special Coding
Incoming – Sonic ESB ABL Developers Insert Code Annotation F ABL Developers Insert Code Annotation Directly deployed into Sonic ESB Remote System Developers Use easiest approach: SonicMQ, Other JMS, Web service, File Drop, DB Event, Email, many more...
Incoming – ODBC / JDBC ABL Developers Do Nothing F ABL Developers Do Nothing Remote System Developers Understand Database Schema Replicate ABL Logic
Incoming Integration Overview Implementation Approach Ease of Suseptibility to Change Future Ready .Net / Java Web Services Sonic ESB ODBC / JDBC E C F E C F E C F E C F
Agenda Reasons to Integrate Incoming Integration Outgoing Integration Introduction to OpenEdge Integration Technologies Reasons to Integrate Incoming Integration Outgoing Integration Choosing The Right Approach
IT Dilemma: “The Accidental Architecture” Inability to Respond Proprietary technologies and skill sets Multiple communication infrastructures High cost of license, consulting and operation Lots of turf control and organizational issues ORDER ENTRY CRM ERP PARTNER SYSTEMS FINANCE 27 27 27
IT Architecture Requirements Simplicity Agility and flexibility Reusability Technology independent Promote integration Software that reflects business needs Built to Change 28 28 28
Service-Oriented Architecture An approach for building distributed computing systems based on encapsulating business functions as services that can be easily accessed in a loosely coupled fashion. 29 29 29
It Has Been Tried Before Easier for Programmers – API Focused CORBA Microsoft® DCOM Java RMI .NET Remoting DCE EJB 30 30 30
Easier for Business Analysts – Document Focused How is SOA Different? Easier for Business Analysts – Document Focused Uses established distributed computing and messaging concepts Scales-up as well as down Department Enterprise Extended enterprise Incorporates multiple communication models – events and request/reply Driven by standards and well-known protocols, e.g. Web Services, XML, HTTP, etc. 31 31 31
An Approach for Building Agile and Flexible Business Applications SOA: It’s Not a Thing It’s not a: Product A specific technology An application A specific standard A specific set of rules An Approach for Building Agile and Flexible Business Applications 32 32 32
For More Information, go to… Relevant OpenEdge Integration Sessions C1: Applied SOA – Building Out Your SOA Environment with OpenEdge C6: Introducing Native Invocation with the OpenEdge Adapter for Sonic ESB
For More Information, go to… Relevant OpenEdge Integration Sessions A3: Application Architecture Made Simple A4: Introduction to the OpenEdge GUI for .NET A7: Architecting Your Application in OpenEdge 10 …and many more
PSDN – Just some topics... SOA Overview and Business Drivers Principles of a SOA Identifying Services in your App Access Web services from OpenEdge Patterns for Async Web service calls Building Services in OpenEdge (Overview) Exposing ABL as Web Services Messaging Patterns for OpenEdge
Documentation OpenEdge Installation and Configuration Guides Application and Integration Services Core Business Services Messaging and ESB Application Server Administration 36 36 36
? Questions 37 37
Thank You 38 38
39 39 39