490 likes | 588 Views
Exchange Breakout Notes. To access the hyperlinks in this presentation, please view in SlideShow Mode When printing, please select the “Print Hidden Slides” option to get all detailed slides. SOA-27: Practical Approaches for Implementing a Service Oriented Architecture. Michael J. Boyd, CITP.
E N D
Exchange Breakout Notes • To access the hyperlinks in this presentation, please view in SlideShow Mode • When printing, please select the “Print Hidden Slides” option to get all detailed slides SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
SOA-27: Practical Approaches for Implementing a Service Oriented Architecture Michael J. Boyd, CITP Services Portfolio Manager
Practical Approaches for Implementing a SOA What you will learn today How to begin implementing aService Oriented Architecture (SOA),one step at a time
Agenda Practical Approaches for Implementing a SOA • The SOA starting point • Starting your own evolution • A tale of two architectures • Process, process, process • Think globally, act locally • Case Study • Common pitfalls • First steps when you get back home SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Introducing SOA & SOBA Service-Oriented Architecture > Service-Oriented Business Applications • An approach for building agile and flexible business applications • Loosely coupled services = flexible business processes • SOA is not • A product or application • A specific technology • A specific standard • A specific set of rules SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Progress’ SOA Portfolio Enterprise Messaging Enterprise Service Bus Data Interoperability ServicesManagement Your World, Your SOATM Registry/ Repository Mainframe Integration Complex Event Processing Business Process Management SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
SOA In Summary • SOA • The architecture for the agile business • SOA is a design approach • Not a technology • Take small steps • Evolution, not revolution SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Agenda Practical Approaches for Implementing a SOA • The SOA starting point • Starting your own evolution • A tale of two architectures • Process, process, process • Think globally, act locally • Case Study • Common pitfalls • First steps when you get back home SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Communications is conducted point to point, synchronous and unreliable Process logic is fragmented across applications and platforms and implemented differently in each place Data comes in multiple incompatible formats Communications are direct to a centralized service bus Process logic is coherently defined in a single model which can be edited and redeployed quickly Data comes expressed as XML A Tale of Two Architectures Existing Architecture New Architecture SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Enterprise Service Bus (ESB) Order Fulfillment CRM Example: Using Two Architectures Existing Architecture New SOA (ESB) SCM Integration Broker P1 CRM P3 Finance P2 Adapter Adapter Order Process Supplier Mgmt Order Mgmt Adapter MFG TrackingService Back Office Partner Business Applications SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Moving towards SOA… “Fundamentally, the technology shift is the easy part; changing how people work is the greater challenge facing IT organizations today, as they move to SOA.” Zapthink SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
What is Wrong with this ABL ? /** MyIntProc1.p **/ DEF INPUT PARAMETER ipcA AS CHAR. DEF INPUT PARAMETER ipcB AS CHAR. DEF INPUT PARAMETER ipcC AS CHAR. DEF OUTPUT PARAMETER opcD AS CHAR. ASSIGN ipcA = "A" ipcB = "B" ipcC = "C". RUN MyIntProc2.p (INPUT ipcA, INPUT ipcB, INPUT ipcC, OUTPUT opcD). DISPLAY opcD. /** MyIntProc2.p **/ DEF INPUT PARAMETER ipcA AS CHAR. DEF INPUT PARAMETER ipcB AS CHAR. DEF INPUT PARAMETER ipcC AS CHAR. DEF INPUT PARAMETER ipcD AS CHAR. DEF OUTPUT PARAMETER opcE AS CHAR. DEF OUTPUT PARAMETER opcF AS CHAR. FOR EACH ..... : ASSIGN opcE = ... opcF = ... END. SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Process, Process, Process SODA - Service Oriented Development of Applications • Cannot “Code your way out of it” • Requires developers to: • Specify contracts and interfaces • Harvest existing systems for logic • Wrap legacy systems • Define system monitoring and management • Specify service policies & granularity • Benefit: Parallel development SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Think Globally, Act Locally Tactical SOA Implement first elements of your SOA vision on next business-based project Add SOA elements into each successive business-based project until SOA is realized Strategic SOA Define your long-term SOA vision Succeed by thinking strategically but acting tactically SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Enterprise Service Bus (ESB) Enterprise Service Bus (ESB) Order Fulfillment CRM Act Locally – Tactical SOA: Additional Projects Existing Architecture New SOA (ESB) SCM Integration Broker Adapter P1 CRM P3 Finance P2 Adapter Adapter Order Process Supplier Mgmt Order Mgmt Adapter Adapter MFG TrackingService Back Office Partner Business Applications SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Think Globally – Strategic SOA “In order to be agile, businesses need disposable business rules – ones that are cheap and easy enough to throwaway and replace as business changes.” Ronald Ross, “Father of Business Rules” Business Rule Concepts SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Agenda Practical Approaches for Implementing a SOA • The SOA starting point • Starting your own evolution • A tale of two architectures • Process, process, process • Think globally, act locally • Case Study • Common pitfalls • First steps when you get back home SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pharmaceutical Company • Company: Family-owned, global company with 40,000 employees and 135 affiliates that make prescription and over-the-counter (OTC) pharmaceuticals, veterinary drugs, and consumer health care products. • Challenge: Multiple integration strategies and approaches was making integration too complex. Needed to introduce an infrastructure for developing applications following a SOA methodology for current and future business requirements. Applications must offer services reusable across the globe. New applications will be composed of existing and new services. • Solution: Introduce the Sonic™ ESB as a distributed infrastructure capable of offering and interconnecting services. Introduce a common development methodology allowing local teams to develop services that can be reused in other countries. Results: • Gained experience on the path to SOA by conducting local projects • Realized services and concepts in 3 “incubator” countries, spread the methodology across the enterprise • Spread the methodology around the OPU’s • Standardized architecture and implementation for integration needs • Decoupled, yet integrated approach to SOA SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
DirectoryService DirectoryService DirectoryService DirectoryService DirectoryService DirectoryService DirectoryService DirectoryService OPU_FR:: OPU_DE:: OPU_IT:: OPU_BE:: OPU_US:: OPU_JP:: OPU_AU:: OPU_CA:: Case Study: Pharmaceutical Company Each OPU maintains and develops it’s own ESB segment SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pharmaceutical Company • Example: Maintain global training requirements • Standard Operating Procedures (SOPs) are maintained centrally • SOP changes require training of international staff • Training status and schedule is maintained in OPU specific applications • Change notification was manually before the ESB SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pharmaceutical Company • Example: Maintain global training requirements • Automate the data exchange • Develop a central document SOP change notification service • Define a communication pattern to distribute SOP change events to interested OPUs • Each interested OPU runs a local project to consume the change events SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pharmaceutical Company Example: Maintain global training requirements • Step 1: • Don’t touch the connection to the document management system. • Define XML based change events formatted in XML replacing the individual files • Publish the change events on the Sonic ESB • Use Dynamic Routing Architecture to distribute the change events globally SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pharmaceutical Company Example: Maintain global training requirements • Step 2: • Consume the XML based change event from the ESB • Define a handling ESB process to update the training database accordingly. • Typically the process transforms the change event and uses a backend Service for the Training database. SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pharmaceutical Company Example: Maintain global training requirements • Step 3: • Leverage the knowledge gained in other OPUs • Reuse whatever is reusable, amend what needs to change for a specific OPU • All OPU adhere to the same development and deployment methodology SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pharmaceutical Company Lessons learned • Traditional development turns slowly into a SOA community • Community like development structures needed • SOA needs • loose coupling • A common infrastructure • Common development principles and guidelines “Successful establishment of SOA is NOT dependent on technology, but on the acceptance of the organization to support the paradigm shift.” “Lessons Learned” from SOA Project Review SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pernod Ricard Pacific “Our ESB allows us to achieve results far more quickly and flexibly than would otherwise be possible.” Ric Hayman Innovation Manager for Pernod Ricard Pacific SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pernod Ricard Pacific • 150,000 • 500 • 100 • 90 • 30 Tonnes of Grapes per year Vineyards Subcontractors Day Harvest Season Minutes SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pernod Ricard Pacific • The Business Case • Poor quality wine results in lower sales and bad reputation • Business Challenges • Minimize value loss that occurs between harvest and controlled fermentation • Business Objectives • Picking the grapes at their peak • Process and transport to fermentation tanks ASAP SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pernod Ricard Pacific • The existing solution • Project Objective • Find a new way for these 2 existing disparate applications to work as one to deliver real-time results XML • Legacy CHUI App • 15 years old • HP-UX • CSIRO specialty software • C++ • Windows • File based XML Given a change in base data, could take over 24 hrs to generate a new vintage plan SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Webspeed field data / Sonic Œ Recipient Generate Block Shared drive … Block.xml Progress Ž Subscriber .../ bidsheet.sh XML Rules … / Sample data “ Consolidated cbs Sonic 5 ” Direct entry to ‘ ’ the Viticulture Subscriber Excel application Windows Server Case Study: Pernod Ricard Pacific • The Solution • Investigate functionality and harvest SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pernod Ricard Pacific • The Solution • Investigate functionality and harvest • Application functionality was there • The supporting data was there • But the whole PROCESS suffered from …. 1. A batch processing mentality 2. accidental architecture SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
CSIRO vintage planning Emailer Viticulture Database CSIRO maturity prediction Case Study: Pernod Ricard Pacific • The Solution • Investigate functionality and harvest • Draw up the process flow and interactions Calculate and store maturity predictions Generate a vintage plan SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
CSIRO vintage planning CSIRO vintage planning Emailer Viticulture Database CSIRO maturity prediction Case Study: Pernod Ricard Pacific • The Solution • Investigate functionality and harvest • Draw up the process flow and interactions • Some basic experimenting and prototypes SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
CSIRO vintage planning Transformation Service CSIRO maturity prediction XML Server Case Study: Pernod Ricard Pacific • The Solution (cont) • Service Policies SonicESB Database Service Email Service Calculate and store maturity predictions SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
CSIRO vintage planning Transformation Service CSIRO maturity prediction XML Server Case Study: Pernod Ricard Pacific • The Solution (cont) • Service Policies SonicESB Database Service Email Service Generate a vintage plan SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Case Study: Pernod Ricard Pacific • Case Study Lessons • Think in terms of process flows • Whiteboards • Iterative approach • Prototyping and experimentation • Get the process right first (using service stubs), then full out the services • Good interface contracts (Message Book) • Good stringent test cases (Positive & Negative) KISS SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
CSIRO vvp (vintage planning) Transformation Service CSIRO matprid (maturity prediction) XML Server Case Study: Pernod Ricard Pacific – ASN2 • Vintage plan direct from MS Excel Web Service SonicESB Database Service SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
CSIRO vvp (vintage planning) Transformation Service CSIRO matprid (maturity prediction) XML Server Case Study: Pernod Ricard Pacific – ASN2 • Expose vintage plan to growers Web Service SonicESB Database Service SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
CSIRO vintage planning Transformation Service CSIRO maturity prediction CSIRO maturity prediction 2 XML Server Case Study: Pernod Ricard Pacific – ASN2 • New way to calculate maturity predictions (agility) SonicESB Database Service Email Service SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
More bright ideas, more brilliant results CSIRO vintage planning Transformation Service CSIRO maturity prediction ????? ????? SonicESB Database Service Email Service XML Server Case Study: Pernod Ricard Pacific – ASN3? SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Agenda Practical Approaches for Implementing a SOA • The SOA starting point • Starting your own evolution • A tale of two architectures • Process, process, process • Think globally, act locally • Case Study • Common pitfalls • First steps when you get back home SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Common Pitfalls • Communication Breakdowns • Not Enough Process • Initial Project Failure • Not Working Incrementally SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Agenda Practical Approaches for Implementing a SOA • The SOA starting point • Starting your own evolution • A tale of two architectures • Process, process, process • Think globally, act locally • Case Study • Common pitfalls • First steps when you get back home SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
First Steps to Take When you Get Back Home Success Factors • A SOA strategy is incremental and progressive • Have clear, realistic objectives • Be Strategic AND Tactical • Set your Vision and Implement in Steps • Steps to Success • Define a SOA Vision to achieve business agility • Use high-value business projects for your first steps • Build and refine “just enough process” for your needs • Determine where you are in the SOA Maturity Model, your key goals and key practices to achieve the next level SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
For More Information, go to… • PSDN • A New Service-Oriented Architecture (SOA) Maturity Model • Principles of a Service-Oriented Architecture • Service-Oriented Architecture: Overview and Business Drivers • Design Best Practices: Methodology using Patterns • SOA Worst Practices, Volume 1 • OpenEdge Evaluation Kit and Product Tour • Progress eLearning Community: • 4GL Development with XML • Consuming Web Services from OpenEdge • OpenEdge Development with Sonic ESB • SOAP for OpenEdge Developers • Service Oriented Integration with Sonic ESB SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Relevant Exchange Sessions Go Back and Review • SOA-1: Applied SOA:Building Out Your SOA Environment with OpenEdge • SOA-4: Introduction to OpenEdge Integration Technologies • SOA-11: Common Applications of Sonic ESB • SOA-14: Continuous Integration in SOA Projects • SOA-17: Introducing Native Invocation with the OpenEdge Adapter for Sonic ESB • SOA-15: Using Portal and Sonic ESB to Integrate Information from Public Resources • SOA-23: Enterprise Integration Patterns in Sonic ESB Still to Come • SOA-32: Progress SOA Portfolio Roadmap • SOA-37: SOA Management with Actional for Sonic Live at Work • SOA-41: Enabling Your OpenEdge Application with Web 2.0 SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
? Questions SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
Thank You SOA-27: Practical Approaches for Implementing a Service Oriented Architecture
SOA-27: Practical Approaches for Implementing a Service Oriented Architecture