Introduction to Service- Oriented Architecture

Size: px
Start display at page:

Download "Introduction to Service- Oriented Architecture"

Transcription

1 ecommerce: SOA Development TRAIN. LEARN. SUCCEED. Introduction to Service- Oriented Architecture Copyright 2008, OnsiteSeminar LLC All rights reserved, no unauthorized duplication For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) i

2 ecommerce: SOA Development Copyright 2008 by OnsiteSeminar LLC. All rights reserved. No part of this publication may be reproduced, transmitted, transcribed in any form or by any means including; electronic, mechanical, optical, manual or otherwise without the expressed written consent of this firm. This course,, was developed by the staff of OnsiteSeminar LLC for use in technical seminars. It has been licensed expressly for use by our clients for internal training only. Copyright 2008, OnsiteSeminar LLC All rights reserved, no unauthorized duplication IMPORTANT NOTICE The sole purpose of this student manual is to serve as a supplement to an instructor-based technical presentation. The combination of information contained in this manual with the detailed insights of the instructor leads to the most positive educational experience for all students. It is not intended to be used solely as a stand alone reference manual. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where these designations appear in this seminar, and OnsiteSeminar LLC is aware of a trademark claim, the designations have been printed in initial capital letters or all capital letters. OnsiteSeminar LLC has taken care in the development of this seminar, but make no expressed or implied warranty of any kind or assume any responsibility for errors or omissions. Oracle, Oracle JDeveloper, Oracle SOA Suite are a registered trademarks of Oracle Corporation. Java, Java Development Kit, J2ME, J2SE and J2EE are a registered trademarks of Sun Microsystems Inc. Rational Application Developer, WebSphere Application Server, WebSphere Studio, WebSphere Studio Application Developer, MQSeries, WebSphereMQ, WebSphere Site Developer, VisualAge, VisualAge for Java, Visual Composition Editor, VisualAge Debugger and DB2 are registered trademarks of IBM Corporation. Microsoft, Microsoft.NET, MS-DOS, Windows NT, Windows 2000, Windows 98, Windows ME and SQLServer are registered trademarks of Microsoft Corporation For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) marketing@onsiteseminar.com ii

3 ecommerce: SOA Development Audience Duration Course Abstract Objectives Prerequisites Java developers, web page designers and other professionals that will be developing and deploying Web Services in an SOA environment 2 Days This course will provide each participant with a high-level comprehensive overview of the Service-Oriented Architecture (SOA) and business integration components of the ecommerce environment. This briefing will focus on the concept and role of the SOA surroundings in the corporate environment, integration of Web services, architecture of the Enterprise Service Bus, routing of SOA messages, event driven processing, business process modeling using BPEL, BPEL4WS and BPMN, BPEL Process Manager for modeling, XML data transformations, logging and auditing, security concerns, business integration architecture (Integration Server, MOM, adapters, etc) and the development tools that can be utilized. All aspects of this class will incorporate the architecture offerings of the SOA environment to illustrate the implementation of these techniques. Upon conclusion participants will have acquired these skills: Understand the Service-Oriented Architecture Illustrate the components of the SOA Pyramid Depict the role of Web services and corresponding client interaction Discuss the role of the Integration Server and its components Understand the pathway to a complete SOA architecture Define the use of the Enterprise Service Bus for managing SOA communications Illustrate the role of different messaging brokers as the deployed ESB component Discuss the logical and physical SOA components in the SOA corporate environment Understand the business process modeling concept for depicting enterprise workflows Depict the implementation of Business Process Execution Language (BPEL), BPEL4WS and the modeling notation of BPMN Define the use of business rules in an SOA implementation Illustrate the importance of SOA Governances Each student should have a basic knowledge of and have been exposed to the Java programming language. For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) marketing@onsiteseminar.com iii

4 ecommerce: SOA Development Course Objectives Understand the role of Service-Oriented Architecture Depict the components of the SOA Pyramid Depict the structure and architecture of web services Understand the importance of the Integration Server Illustrate the role of the Enterprise Service Bus Depict the use of Business Process Models and their implementation in SOA Define the use of Business Rules Understand the importance of SOA Governance For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) iv

5 ecommerce: SOA Development Table of Contents I. SOA Architecture A. SOA Pyramid SOA Pyramid. 1-4 SOA and Corporate Data. 1-5 SOA and Pgming Languages. 1-6 SOA Pyramid: Application Server. 1-7 SOA Pyramid: Web Services. 1-8 SOA Pyramid: Integration Server. 1-9 SOA Pyramid: ESB SOA Pyramid: BPEL Models SOA Pyramid: Rules Engine SOA Pyramid: Web Services v SOA Pyramid: UDDI Registry SOA Governance B. SOA Business Challenges SOA Business Challenges s: Billion Dollar Lock-In Integration Tools Appearing Point-to-Point Approach New $200B Lock-In: Big Apps Frozen Enterprise Asset Concept Liquid Asset Transformation SOA: Frozen to Liquid Assets Service Infrastructure Layer Web Services Based Approach Service Infrastructure Application vs. Service Layer SOA Challenges Service Infrastructure Approach Vendor Product Solutions SOA Development Actors Vendor SOA Products SOA Product Family ESB Target Environments Composition vs. Coding Role of Integration Server Service Registry Data Services SOA Enterprise Security For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) v

6 ecommerce: SOA Development User Interaction BPM Suite II. Defining Web Services A. Overview Business Integration Issues. 2-4 Integrated Barriers. 2-5 Integrated Architectures. 2-6 Current Integration Structure..2-7 B2B Integration Solutions: Web Services..2-8 Web Service Advantages. 2-9 Web Services Characteristics Defining a Web Service Emerging Standards Service Oriented Architecture SOA and Web Services Illustrating SOA Environment Defining XML Web Services Web Services Components Enterprise Solutions Platform Leading Web Services Vendors J2EE vs.net Web Services Implementation Architecture Client Tier Connectivity Web Services Interaction Market Dynamics for Web Services Web Services Model Expanded Web Services Model B2Cand B2B Comparison Legacy Integration using Web Services Web Services Integration Application Partnership B. Examining SOAP Defining SOAP Illustrating SOAP SOAP Hides Implementation Web Services Protocol Stack SOAP Architecture Basis SOAP Architecture Web Services: SOAP Message SOAP Message Using Attachments SOAP with Attachments For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) marketing@onsiteseminar.com vi

7 ecommerce: SOA Development C. Defining WSDL Illustrating WSDL WSDL Components WSDL Parts Service Orchestration D. Describing UDDI Registries Web Services Discovery Illustrating Service Registries Universal Description, Discovery Integration UDDI Process UDDI Models UDDI Data Models UDDI Data Model Example E. JCA Integration Web Services Gateway Illustrating Integration with JCA III. Integration Server Overview A. Environment Overview SOA Pyramid: Integration Server. 3-4 Integration Overview..3-5 Business Integration. 3-6 Integration Server Abilities. 3-7 Integration Topologies. 3-8 Point-to-Point. 3-9 Hub and Spoke Bus Topology Hub and Bus Combined Coupling Techniques Integration Patterns Integration Services Runtime Mapping B. Architecture Integration Architecture Software Components Deployed Components Collaboration s Integration Adapters Business Objects Business Object Data Flow For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) vii

8 ecommerce: SOA Development IV. Enterprise Service Bus A. Overview Enterprise Service Bus. 4-4 What is an ESB?. 4-5 Basic ESB Pattern. 4-6 Elements of Basic ESB Pattern. 4-7 ESB Architecture. 4-8 Using ESB Functionality. 4-9 Enterprise Service Bus Added Value to Application Server Multiple Interaction Patterns ESB Communication ESB Capabilities ESB Product Relationships Major ESB Components Service Component Mediations ESB and Message Broker Message Broker as ESB B. ESB Patterns ESB Patterns Interaction Patterns V. Introduction to BPEL A. Overview BPM Meets SOA. 5-4 Business Process Management. 5-5 BPM Meets SOA. 5-6 Business Process Execution Language. 5-7 Defining BPEL. 5-8 BPEL Processes. 5-9 BPEL Engine Architecture BPEL Engine Processing BPEL Composition Deploying BPEL4WS Processes Basic Web Services Web Services vs. BPEL W3C Web Services Stack W3C Stack Components Business Process Improvement Defining BPEL Web Service Business Processes BPEL Usage Patterns For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) viii

9 ecommerce: SOA Development Non-Interruptible Process Interruptible Process Basis for BPEL Key BPEL Concepts Creating BPEL Syntax BPEL Specification BPEL Process Elements Model vs. Runtime Vendor BPEL Offerings VI. Business Rules A. Overview Defining Rules. 6-4 Key Benefits. 6-5 Business Rules. 6-6 Mechanism of Rules. 6-7 Business Rules Architecture. 6-8 Business Rules Example..6-9 Business Rules Design Rules Conclusion Business Rules Composition Business Rules Processing VII. SOA Governance A. Overview Defining SOA Governance. 7-4 Governance Definitions. 7-5 Changing IT Governance. 7-6 SOA Adoption Challenges. 7-8 SOA: What s Needed. 7-9 Evolving SOA Technology Evolving Standards (WS-*) SOA Governance Infrastructure What Needs to be Governed SOA Entry Points Service Visibility Service Lifecycle SOA Security Challenges Identity Management Security Services SOA Governance Challenges SOA Challenges For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) marketing@onsiteseminar.com ix

10 ecommerce: SOA Development Governance Models SOA Interactions For information on this course or other many seminar offerings, please contact OnsiteSeminar LLC Direct: (817) x

11 Section I: SOA Architecture All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-1

12 Section I. SOA Architecture Unit Description In this unit, the student will be introduced to the business challenges facing IT applications todays, the migration to SOA systems, evolution from vendor bound apps, role of SOA products, the role of different individuals, use of the ESB and the overall business process modeling in an SOA world. The instructor-led lecture is supplemented with a series of hands-on exercises to reinforce all of the Business Process Modeling concepts discussed in this section. Unit Objectives After successfully completing this section, you should be able to: Understand SOA business challenges Depict the evolution away from vendor bound applications Illustrate the emergence of the Service infrastructure Understand the products for SOA implementations Demonstrate the use of the Enterprise Service Bus Depict the integration of the components Illustrate the usage of the Business Process Modeling suite All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-2

13 Section I: SOA Architecture SOA Pyramid All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-3

14 SOA Pyramid To reach the pinnacle achievement of SOA, we need to progress through multiple levels of application evolution with each have an increasingly important role When we envision the transition from our current level of ecommerce applications to the Serviceoriented Architecture environment, we find that we must transition through multiple levels of increasing sophistication. With each level that we evolve through, our implementation adds another layer that will allow us to build more efficient and cost effective SOA components. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-4

15 SOA and Corporate Data The cornerstone of any and all our application systems will be our accumulated corporate data The most fundamental layer of any organization will be the corporate data that we use to drive all of our application systems. This will provide the necessary information that will be utilized by our deployed services to respond to specific queries. The organization of the information can be in any physical format and utilize any vendor s RDBMS environment. All of these are accessible when using an SOA implementation. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-5

16 SOA and Programming Languages To facilitate our migration to SOA, we need to utilize a programming language that can be adapted to its architecture To be able to successful utilze the abilities of an SOA architecture, our applications must be developed using a programming language that can be upgraded to support a Service-Oriented Architecture environment. Almost any programming language can be utilized in this architecture or we can create very simple proxy components that will allow us to access them in this new realm. The most significant advancements in SOA architecture will generally involve the most popular programming languages like Java and.net. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-6

17 SOA Pyramid: Application Server The utilization of Web Services and SOA will require a J2EE Application Server to deploy our services When developing and deploying ecommerce applications, we are generally utilizing the services of a J2EE Application Server. Through this server, our applications will have access to the full range of J2EE services that the class library provides. Each individual vendor has their own version of an application server, but they all support the same versions of the J2EE and Web Services specification. Through the difference containers in the application server (Web, EJB and Process containers), we can deploy different components that can be converted into Web Services. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-7

18 SOA Pyramid and Web Services To reach our SOA goal, we will need to redesign components as Web Services In the early 2001, the first specification for Web Services was developed and shipped with the Java v1.3 specification. This initial depiction provided the basic foundational standards that all future versions would be based upon: XML, SOAP, WSDL and the Registry. The role of these standards specifications was to allow the various vendors (IBM, Microsoft, BEA, Oracle, Sun, etc) to create a universal standard that would allow exchange of information. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-8

19 SOA Pyramid: Integration Server Extends the abilities of the Application server to include expanded functionality With the addition of the Integration Server to our deployed set of servers, we gained another component of an SOA architected environment. It plays a critical role by providing new and necessary services for our SOA implementation. The role of this server is to provide the basic infrastructure for supporing a more robust environment that will allow more complex and sophisticated set of Web Services. This serverwas developed to resolve some of the deficiencies of the basic application server environment. An integration server is a computer server used to facilitate interaction between diverse operating systems and applications across internal and external networked computer systems. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-9

20 SOA Pyramid: ESB The ESB provides the centralized features necessary that will allow services to flourish An ESB is software infrastructure that simplifies the integration and flexible reuse of business components within a service-oriented architecture. An ESB provides a dependable and scalable infrastructure that connects disparate applications and IT resources, mediates their incompatibilities, orchestrates their interactions, and makes them broadly available as services for additional uses. The role of the Enterprise Service Bus is to provide the an arena for the centralization of some very basic services: security, routing to services, mediation, message transformation and protocol transformation. The ESB will help us overcome one of the basic pitfalls of the initial implementation of Web Services, the point-to-point abilities of the client applications. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-10

21 SOA Pyramid: BPEL Modeling Process Models will allow us to construct new workflows without writing any additional business logic Once all of our basic Web Services have been developed and deployed, we are ready to begin the process of merging services together to build larger applications. With the inclusion of the basic infrastructure and the addition of the WS-BPEL language, we have the ability to create more complex applications with greater ease. BPEL provides a language for the formal specification of business processes and business interaction protocols. By doing so, it extends the Web Services interaction model and enables it to support business transactions. BPEL defines an interoperable integration model that should facilitate the expansion of automated process integration in both the intra-corporate and the business-to-business spaces. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-11

22 SOA Pyramid: Rules Engine Business Rules allow us to migrate business logic to a higher level in our architecture A rules engine helps you resolve (or at least reduce) the issues and difficulties inherent in the development and maintenance of an application's business logic. You can think of a rules engine as a framework for implementing complex business logic. Most rules engines let you use declarative programming to express the consequences that are valid given some information or knowledge. A business rule defines or constrains one aspect of your business that is intended to assert business structure or influence the behavior of your business. Business rules often focus on access control issues All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-12

23 SOA Pyramid: Web Services 2.0 Expansion of the BPEL language provides advanced features for increasingly complex workflows With the addition of the new standards involved in defining Web Services 2.0, our applications can contain a more sophisticated brand of Web services. The expansion of the BPEL modeling language provides for the ability to include dual coordination, use of two phase commit principles, verification of message delivery and the ability to control events through a centralized processing point. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-13

24 SOA Pyramid: UDDI Registry The role of the UDDI Registry is to document our deployed services and store our WSDL files Universal Description Discovery and Integration (UDDI) provides a method for publishing and finding service descriptions. The UDDI data entities provide support for defining both business and service information. The service description information defined in WSDL is complementary to the information found in a UDDI registry. UDDI provides support for many different types of service descriptions. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-14

25 SOA Pyramid: Governance Without Corporate SOA Governance, we can not successfully achieve all of the advantages of SOA The definition of the word governance implies the action or manner of governing. Further, IT governance, as defined by Peter Weill and Joanne Ross in their wonderful work on IT governance, is a decision and accountability framework to encourage desirable behavior in IT. Participants of the governance body lay down policies around different categories of decisions that need to be made. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-15

26 Section I: SOA Architecture SOA Business Challenge All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-16

27 SOA Business Challenges Increase operational efficiency Improve productivity from existing systems Streamline and optimize business process Built-in re-use and adaptation, no starting over Turn IT into a competitive business asset Provide customers a unified view of the business Eliminate silos and create end-to-end visibility for customers into and across the business Provide customers specific views of processes and information While Achieving faster time to value Sixty-seven percent of companies recently surveyed by InfoWorld cited integration with existing and legacy applications as a top pain point for implementing SOA, which explains why companies are prioritizing new technology spending such as service infrastructure to address those pains. Companies that want to move forward with SOA in a scalable way must emphasize flexibility and elevate point-topoint integration. To be successful, these companies must establish an SOA reference architecture and roadmap for developing a flexible service infrastructure, shared business services and the integration and aggregation of information access enterprise-wide i.e. a single logical system for the enterprise. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-17

28 The 90s: Billion Dollar Lock-In In the 1990 s application development followed a pattern of binding our systems to specific vendor and architecture patterns Application Application Application Application Application Application HPUX AIX Solaris Windows Linux Mainframes All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-18

29 Integration Tools Appearing After the 1990 s, a variety of products appeared that focused on the ease of integration of different systems ecommerce Applications Application Infrastructure Real- Time Edge SIP Vendor Product Family.NET Tuxedo WebLogic CICS Product Family HPUX AIX Solaris Windows Linux Mainframes Today, corporate executives have access to numerous business and technology opportunities for improving performance. Some deal with the integration of business and technology while others deal with technology alone. What is motivating these executives to consider the possibilities promised by these performance improvement initiatives? Most likely, these executives are coming under increasing pressure to deliver more with less, while increasing profits and cutting costs. Some have the luxury of developing strategic initiatives based on the corporate vision, while others are struggling with the pain associated with cost overruns, delayed project completions and excessive technology costs. Many executives are chasing an illusive business model, one that changes more rapidly and is further compounded by an equally illusive supporting technology model. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-19

30 Point-to-Point Approach Point-to-Point architecture leads to tightly coupled and brittle connections Presentation Logic Data Clients Porta EJB Identity/ Policy Browser Portle Mainframe Application Client Portle Databases Legacy Mobile Web App Point-to-Point Approach Business logic is often replicated and tightly coupled Security, messaging, management are hard-wired in each connection Applications are brittle and difficult to maintain or upgrade Each Vendor s Data Services Platform has been built from the ground up for SOA. It provides automation for creating and maintaining enterprise data services which can help customers achieve greater productivity, business optimization and faster time to value. Each Vendor s Data Services Platform offers a single location to capture logic that is relevant to data access and data updates. A data services layer provides reusable, simplified access to relevant, realtime heterogeneous data. Each Vendor s Data Services Platform is based on a metadata-driven approach with a declarative definition of services. This helps eliminate the need for application developers to build workflows or code Java by hand, resulting in the automation of data service creation and maintenance. Furthermore, the declarative approach helps optimize data access, improving overall system performance. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-20

31 New $200B Lock-In: Big Apps In the 2000 s, we saw the implementation of large scale vendor packages and customized applications Packaged Applications Custom Applications SAP ORCL CA MANU BEA IBM MSFT ORCL Application Infrastructure Real- Time Edge SIP Vendor Product Family.NET Tuxedo CICS HPUX AIX Solaris Windows Linux Mainframes All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-21

32 Frozen Enterprise Asset Concept Division B Division A Division C CR ER D Businesses most pressing issues today include: Improving Operational Efficiency, to make what you already have achieve higher productivity, which in turn means improving the way you do business, and thus your overall business procedures or processes. In particular, preserving and expanding new strategic development efforts, amidst shrinking budgets and ongoing expensive maintenance costs. It is a game of: Doing more with less (the days of do less with more have gone), in virtually every area of the business. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-22

33 Liquid Asset Transformation Division B Division A Division C Secondly, we see the need to be more responsive to those stakeholders that support your business, whether that s internal customers or external customers. That rests largely on your ability to gather and use the information flowing through your business no matter where it is, and make it available to the people who can do the job. The third point is about Change and agility of the business. We see businesses emphasizing more and more the need to build in the ability to rapidly adapt the business and your internal and external touch points as the business changes. Too often today the existing IT infrastructure can t react quickly enough because it doesn t have adaptability built in. Avoiding having to start over as the business requirements change. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-23

34 SOA: Frozen to Liquid Assets In the 2000 s, we saw the implementation of large scale vendor packages and customized applications Web Services Packaged Applications Custom Applications SAP ORCL CA MANU BEA IBM MSFT ORCL Application Infrastructure Real- Time Edge SIP Vendor Product Family.NET Tuxedo CICS HPUX AIX Solaris Windows Linux Mainframes Each Vendor s Product Family will include the following: - MOM (Message-Oriented Middleware) to take high end transactions into distributed environments and Web service enable legacy environments, A standards-based platform that unlocks legacy applications and extends them to a Service-Oriented Architecture. - Vendor J2EE: The industry s leading J2EE platform to create, blend and run applications and services. It is SIP-enabled, Edge-Aware and Real-Time - ESB: An industry cross-platform product component optimized for scaling, securing and managing SOA throughout the enterprise. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-24

35 Service Infrastructure Layer Providing a Uniquely Business-Aligned Approach to the Design and Delivery of Applications Sales Engineering Service Customers Role-based Composite Applications B2E B2C Partners connect to business services, built and managed with an integrated suite on open standards, with supporting infrastructure using content from Vanilla ERP and application engines Presentation Services Shared Business Services Information and Access Services Enterprise Information Systems Custom Applications Composite Applications Data and Middleware Databases MiddleWare Interactions Services Management Service Bus Common Services Service Infrastructure Layer Non-Functional Requirements Standards Development Tools Configuration Management System Management Network Management Provisioning Business Activity Monitoring Directories Third Party Products (Erp, CRM, etc.) (TUXEDO, MQ Series,ect.) Patterns Effective Service-Oriented Architecture (SOA) requires a new approach to IT infrastructure that s tailored to the needs of each individual company, with service infrastructure, shared technical services, security, information, and access services all defined in a comprehensive reference architecture. To meet the demands of SOA, all companies will require an SOA reference architecture and roadmap to guide them, the deployment of an industrialstrength service infrastructure that is enriched over time, and the development and management of service-oriented applications. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-25

36 Web Services Based Approach Presentation Process Logic Data Clients Browser Application Client Mobile Porta WSR WSR Web App Proces Proces Web Services Web Services Web Services Web Services Identity/ Policy Mainframe Databases Legacy App Web Services Based Approach Services are directly connected and tightly coupled Security, messaging, management are hard-wired in each connection Applications are brittle and difficult to maintain or upgrade Each Vendor s Services Platform has been built from the ground up for SOA. It provides automation for creating and maintaining enterprise data services which can help customers achieve greater productivity, business optimization and faster time to value. Each Vendor s Services Platform offers a single location to capture logic that is relevant to data access and data updates. A data services layer provides reusable, simplified access to relevant, real-time heterogeneous data. Each Vendor s Services Platform is based on a metadata-driven approach with a declarative definition of services. This helps eliminate the need for application developers to build workflows or code Java by hand, resulting in the automation of data service creation and maintenance. Furthermore, the declarative approach helps optimize data access, improving overall system performance. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-26

37 Service Infrastructure The Next Software Category Service Infrastructure Packaged Applications Custom Applications SAP ORCL CA MANU BEA IBM MSFT ORCL Application Infrastructure Real- Time Edge SIP Vendor Product Family.NET Tuxedo CICS HPUX AIX Solaris Windows Linux Mainframes Each vendor offers products and services that enable enterprises to achieve faster time-to-value for critical business applications using open standards, web services and a Service-Oriented Architecture (SOA). A blended development model means leveraging the best of open source and commercial code to get new applications and services to production faster. Proven high performance, security and world-class support services offers IT professionals piece-of-mind. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-27

38 Application vs. Service Layer Application Infrastructure Service Enablement Execution Environment Reliability Service Infrastructure Cross-platform management Governance and control Service discovery and publishing Service security Message routing and transformation Resource allocation The role of Application infrastructure and service infrastructure provide different scopes of service. Application infrastructure is a required resource to service enable enterprise components, while Service infrastructure takes a broader view of enterprise resources, understanding their relationship to each other. These Service infrastructure serve long term goals for making enterprise IT more responsive to the business These two layers also provide a transitionary role in that these two infrastructures also provide different operations in the lifecycle of a service proposed analogy: Application Infrastructure = building design Service Infrastructure = city planning All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-28

39 SOA Challenges SOA Challenge Infrastructure Needs Heterogeneity Proliferation Point-to-Point Data Silos Security Silos Scalable Agility Service-enabling Lifecycle Management Service Bus Data Service Layer Security Service Layer Composition Tools Service-Oriented architecture is reshaping the way companies think about their IT. Our customers have been moving from their initial SOA pilots to aggressively ramp these pilots into production. The challenge everyone is facing is driving very clear and specific software Infrastructure needs. Application infrastructure software has done a very good job in addressing heterogeneity by exposing application capabilities as services. Java, XML, WSDL and SOAP have become the standards to build, describe, expose and discover Web services using platforms like Each Vendor s application infrastructure software. But once you start exposing more and more capabilities as services, you will need to manage their proliferation. The need for an infrastructure emerges that helps to support the entire service lifecycle from creation to discovery to management. Initially most services are interacting in a point-to-point fashion with security, messaging and management hard coded connection by connection. As a consequence, applications become brittle and difficult to manage, something that can be avoided by having a common backplane, or Bus. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-29

40 Service Infrastructure Approach Presentation Proces Logic Data Clients Browser Application Client Porta WSR WSR Proces Web Services Web Services Data Data Identity/ Policy Mainframe Databases Process Web Service Data Legacy Mobile Web App Web Service Service Infrastructure Service Management Messaging Services Data Services Security Services User Interaction Services Business Process Services Custom Services Service Registry Meta-data Repository Monitoring Composition Tools Each Vendor s Services Platform has been built from the ground up for SOA. It provides automation for creating and maintaining enterprise data services which can help customers achieve greater productivity, business optimization and faster time to value. Each Vendor s Services Platform offers a single location to capture logic that is relevant to data access and data updates. A data services layer provides reusable, simplified access to relevant, real-time heterogeneous data. Each Vendor s Services Platform is based on a metadata-driven approach with a declarative definition of services. This helps eliminate the need for application developers to build workflows or code Java by hand, resulting in the automation of data service creation and maintenance. Furthermore, the declarative approach helps optimize data access, improving overall system performance. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-30

41 Vendor Product Solutions SOA Leads the Way Again Internal Services External Services Acquire Customer Portfolio Devel. Quote to Collect Customer Support Auction Call Center Design Services Commerce Service Infrastructure Vendor Product Family Packaged Applications Custom Applications SAP ORCL CA MANU BEA IBM MSFT ORCL Application Infrastructure Real- Time Edge SIP Vendor Product Family.NET Tuxedo CICS HPUX AIX Solaris Windows Linux Mainframes Vendor Product Families: Tuxedo to take high end transactions into distributed environments and Web service enable legacy environments, The award-winning platform that unlocks legacy applications and extends them to a Service-Oriented Architecture. Vendor J2EE: Includes the basic J2EE platform to create, blend and run applications and services. It is SIP-enabled, Edge-Aware and Real-Time. Enterprise Service Bus: An Industry standards-based cross-platform product family optimized for scaling, securing and managing SOA throughout the enterprise. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-31

42 SOA Development Actors Actors in the SOA Development and Deployment Cycle Service virtualization, visibility, compliance Business IT Architect # $%! bugs I need a Diet Coke Developer Every business is essentially a collection of processes - some strategic, some tactical, but all necessary. And today's processes are increasingly complex, full of deeper interactions across systems and dependent on more collaborative activities between users. Service-Oriented Architecture (SOA) promises to usher in a new era of business agility. But that agility depends as much on supporting new efficiencies for people as it does on liberating access to systems and services. This is the role of Business Process Management in the world of SOA. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-32

43 Vendor SOA Products Roles of Integration Server and ESB in SOA Service virtualization, visibility, compliance Business Integration Server: Leading Service Infrastructure IT Architect # $%! bugs I need a Diet Coke Developer App Server: Leading infrastructure for development and deployment of services Each vendor s BPM Suite is a software suite that integrates the modeling, implementation, execution and monitoring of end-to-end business processes to support continuous optimization of the entire business process lifecycle. The BPM Suite moves beyond the limitations of traditional human workflow and process technology and augments the power and extensibility of system-to-system enterprise application integration software by bridging the two together into a single suite of software used to support the complex, collaborative business processes of today's heterogeneous enterprise. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-33

44 SOA Product Family Service Infrastructure: Cross-Platform, LOB/IT, Composition-based Process Orchestration User Interaction Business Process Management IDE Workshop Business Rules Toolset Enterprise Connectivity Business Activity Management Interaction Management Security Services Distributed Application Security Management Data and Information Business Services Intelligence Message Services Portal BPEL Business Multi-channel Modeler Collaboration Federated Identity Management Security Architecture Integration Composite Data Management Server Unified Meta Data Repository Unified Data Modeling Service Manager MQSeries v6.x Message Management Service Registry Integrated Composition Environment Compose U p d at e M o ni to r P re vi e w C o m p o s e Now it is time to look at the a generic vendor s product family. Since SOA s initial announcement, each vendor s has been aggressively executing on it s Service Infrastructure vision. Today, each vendor delivers the broadest line of Service Infrastructure products for successful SOA deployment. The Business Service Interaction product line includes software that automates, executes, and monitors the entire lifecycle of a business process by connecting people to people, applications to applications, and people to applications software. Each product line includes the vendor IDE which supports the complexity and heterogeneity of today s leading businesses, and extends the promise of SOA by helping customers achieve organizational agility through process efficiency and optimization. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-34

45 ESB Target Environments ESB is targeted at organizations who: Are embracing Service-Oriented Architecture (SOA) Are rolling out new projects and applications to meet the needs of the business and are experiencing pain around time-consuming programming that slows the ability to respond to the needs of the business Have deployed multiple services o Trying to track, discover, deploy, secure, and manage services is becoming unmanageable o Are using point-to-point integration Have heterogeneous environments o Multi-OS, multi-vendor, multi-development language Have distributed environments o multi-department, multi-site, multi-geography Each vendor s SOA Suite is a software suite that integrates the modeling, implementation, execution and monitoring of end-to-end business processes to support continuous optimization of the entire business process lifecycle. It will utilize the abilities of the Enterprise Service Bus to maintain centralize control over the security, routing, transformation and monitoring of all deployed services. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-35

46 Composition vs Coding vs public String getemployeename( long employeeid ) throws javax.ejb.createexception, java.rmi.remoteexception { Connection conn = null; PreparedStatement ps = null; try { conn = this.getconnection(); ps = conn.preparestatement("select name from employees_files where idnumber =?"); ps.setlong(1, employeeid); ResultSet rs = ps.executequery(); if (rs.next()) { return rs.getstring(1); } return "Unknown"; } catch (SQLException sqe) { return sqe getmessage(); } finally { if Application Composition Metadata driven configuration, composition and business rules For application specialists (requirements experts) not developers Apps composed from existing services built by developers You can see here that the right hand side represents the traditional world view. This approach provides for lots of code, rigid. Inflexible and higher costs to develop and maintain. On the left hand side is the new world view. More about configuration and composition. More flexible and agile for meeting the needs of the business. Lower overall cost of ownership. In this world, application composition can be performed by application specialists, such as business process analysts, instead of developers using more of a composition and configuration driven paradigm. People who better understand business requirements and how to map those to business processes are now in better control and this reduces the need to translate those requirements to developers for implementation. As a result, we re working through this paradigm to reduce the current gap between business and IT and therefore deliver better business agility and increased IT efficiency. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-36

47 Role of Integration Server Service Coordination ESB Heterogeneous platform support Service Monitoring Features Heterogeneous service integration Dynamic routing and transformation Service registration and discovery Operational service management Flexible configure, deploy, production capabilities Built on a time-tested foundation for enterprise-class messaging, performance and availability Differentiators Fully configuration based Comprehensive SOA integrity Life-cycle management An Integration Server converges the functionality of an Enterprise Service Bus with service management functionality in a single unified product targeted at deploying SOA with configurationdriven integration of services and applications. This converged approach delivers a scalable, intelligent messaging, routing and transformation layer supporting heterogeneous end-points, integrated with capabilities for service registration, monitoring, and lifecycle management. The Enterprise Service Bus delivers the connectivity and management infrastructure required for configuration, deployment and on-going operations of integrated shared services and Service- Oriented architectures in heterogeneous IT environments. Specifically, Enterprise Service Bus delivers: multi-protocol messaging, dynamic, rules-based routing, transformation capabilities and all characteristic of an Enterprise Service Bus coupled with: service registration, service discovery, service versioning, security, policy enforcement, message tracking and monitoring, alerting and performance monitoring. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-37

48 Service Registry The most complete and proven business service registry Fully supports the latest UDDI V3 specification Provides a mechanism by which services can be published, discovered and consumed. Contains metadata about services that provides everything a consumer needs to know about using a service. Provides a centrally managed, reliable and searchable location for service descriptions, making it the System of Record for SOA. Provides a foundation for SOA governance and service lifecycle management Complements application and integration servers, in the service lifecycle UDDI Service Registry is employed as the yellow pages for deployed services within an enterprise SOA and acts as the DNS for services at runtime. It is a comprehensive and proven UDDI registry that serves as a critical element to the maturity and success of an organization s SOA. UDDI Service Registry catalogs data about deployed services and their locations and the policies that affect them, providing a central location for obtaining the information necessary to locate a service and determine what is necessary in order to interact with that service. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-38

49 Data Services Data Services via Integration Server Service Clients Mgmt Dashboard ESB Customer Portal BPM J2EE, Web Service, XQuery, JMS Data Services on Logical Model Programming Model (SDO) Customer Order Payment Repository Model Driven Integration (XQuery) JDBC Web Srvcs Adapters Custom Addresses Orders Physical Model History Customer Profile Pending Payments Credited Payments Enterprise Data Logical models capture data access & integration complexity once Same data model, programming model, & API for all enterprise data The vendor Services Platform is also a data services platform that delivers live, integrated and reusable information as a service, where you need it and regardless of where it resides. It offers a unique metadata-driven approach, called declarative programming. This approach helps eliminate the need for application developers to build workflows or code Java by hand, making it possible to automate data service creation and maintenance. It helps customers achieve faster time-to-value, reduced TCO and greater business agility. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-39

50 SOA Enterprise Security Web Server Centralized Administration of Policy and Configuration Data Security Service Module Distribution of Incremental Policy Updates App Server Security Service Module Legacy/ Custom App Security Service Module An application security component that provides Fine grained entitlements Security as a service Define access policy that control entitlements to business objects and application resources Provides a set of standard security services for a variety of application environments Consists of two components Administrative application centrally manage security configuration and policy SSMs - plug into various application environments to enforce security Each Vendor s Enterprise Security provides a viable way of externalizing, unifying, and simplifying management of complex entitlement policies strengthening security and compliance, improving IT efficiency, and enhancing business agility. Each Vendor s Enterprise Security is a fine-grained entitlement management solution that combines centralized policy management with distributed policy decision-making and enforcement. This combination provides management and control of your critical applications and resources with uncompromised performance and reliability, allowing you to adapt to changing business requirements quickly and easily. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-40

51 User Interaction SOA User Interaction Portal Communities Applications User Interaction Process Collaboration Publisher Studio Search Analytics Integration Services User Interaction framework for deploying broad range of solutions Easily incorporate collaboration, Web publishing, search, BPM services into portals and composite applications Web Services Engine integrates systems, content, and users Data Content Security Each Vendor s User Interaction is a new, integrated family of products used to create enterprise portals, collaborative communities and composite applications, all built on a Service Infrastructure. The User Interaction provides an open and extensible solution that makes heterogeneous information and applications more accessible, and business processes more efficient, by providing them as enterprise services used to deliver unified, collaborative, and context-based user experiences for internal information workers or for customers and partners across the extended enterprise. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-41

52 BPM Suite Business Analysts Process Modeling, Simulation Process Analyst Process Development Business Owners Vendor BPM Enterprise Process Participants Process Management and Historical & Trend Analysis Tools Integration Server and Monitoring Repository Business Systems DB CRM ERP That process model (along with the documentation you embed directly within it) becomes the contract between the Business and IT. Once the Systems Analysts complete the model and future Test Cases, they share the model with the Development Team who will complete the detailed work of connecting the model to the systems and human interfaces required to complete the Process Application. As the diagram indicates, this is very often an iterative process that serves to further solidify that contract between the Business and IT. Once the Developers are finished, the completed Process Application is deployed in the vendor s BPM system for execution. The BPM system manages the interaction of humans and systems in the process and stores every event in its state repository. Since this repository contains process AND business data, it provides management interfaces and dashboards to the Business Owners. These are real-time displays showing status at any level of the process. For example, one executive may be viewing a Balanced Scorecard while a business operations expert may have a dashboard depicting adherence to Service Level Agreements. All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-42

53 Section I. SOA Architecture Unit Summary After successfully completing this section, you should be able to: Understand SOA business challenges Depict the evolution away from vendor bound applications Illustrate the emergence of the Service infrastructure Understand the products for SOA implementations Demonstrate the use of the Enterprise Bus Depict the integration of the Data Services components Illustrate the usage of the Business Process Modeling suite All rights reserved, no unauthorized duplication Unit 1. SOA Architecture 1-43

54 Section VI: Business Rules Section VI: Business Rules All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-1 Revision: July 15, 2008

55 Section VI: Business Rules Section VI. Business Rules Unit Description In this unit, the student will be introduced to the concept of Business Rules and their role in the SOA environment. This section will focus on their concept, rational for usage, integration with the ESB, benefits of usage and the role of the repository. Unit Objectives After successfully completing this section, you should be able to: Understand the concept of Business Rules Depict their role in an SOA environment Illustrate the benefits of Business Rules Depict a methodology for their design Understand the role of the repository All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-2 Revision: July 15, 2008

56 Section VI: Business Rules Section VI: Business Rules Overview All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-3 Revision: July 15, 2008

57 Section VI: Business Rules Defining Rules Rules are a way to specify conditional actions or policies If salary is less than $10,000 then deny loan application If miles flown is greater than 50,000 then grant gold status Rules Can be represented as simple if-then statements Are declarative, not procedural Often generated by GUI programs Rules executed on Rules Engines Facts are input Facts analyzed per Rules Actions conditionally executed or results returned A business rule defines or constrains one aspect of your business that is intended to assert business structure or influence the behavior of your business. Business rules often focus on access control issues, for example, professors are allowed to input and modify the marks of the students taking the seminars they instruct, but not the marks of students in other seminars. Business rules may also pertain to business calculations, for example, how to convert a percentage mark (for example, 91 percent) that a student receives in a seminar into a letter grade (for example, A-). All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-4 Revision: July 15, 2008

58 Section VI: Business Rules Key Benefits Agility fast time to market Goal: Business analysts, not programmers write Rules Business policy changes deployed instantly Rules reuse Transparency Directly viewable by the business analyst Rules clearly describe associated policies Cost reduction Business analysts can directly create/update Rules More efficient interface for describing policy Cost reductions especially dramatic during maintenance Changing markets, increasing competitive pressures and evolving customer needs are placing greater pressure on businesses to adjust their policies and decisions at a faster pace. Further, there is an increasing desire among business users to get into the driver seat for defining how the business is run. Moreover, regulatory constraints are increasingly demanding that businesses have transparency and consistency in their decision making, and that they are able to certify compliance. Business Rules technology has emerged as the solution for addressing these requirements. All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-5 Revision: July 15, 2008

59 Business Rules Section VI: Business Rules Business Rules are externalized business logic that is deployed to the Enterprise Service Bus Applications using Business Rules, are called rule-enabled applications, support continuous change that allows the applications to adapt to new government regulations, improvements in internal company processes, or changes in relationships between customers and suppliers. All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-6 Revision: July 15, 2008

60 Meachanism of Rules Section VI: Business Rules Rules are conceptually simple Facts: Data concerning the world Rules: if (<condition involving Facts>) then <Actions> Actions: Simple returns or direct action calls Example:If (quantity >= 12) then give 20% discount An action can be the generation of a new fact This is called inferencing Example:If (GPA > 3.5 and SAT > 1400) then create scholarship-eligible Fact All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-7 Revision: July 15, 2008

61 Business Rules Architecture Section VI: Business Rules All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-8 Revision: July 15, 2008

62 Business Rules Example Section VI: Business Rules Externalizes business logic Easily changed without redeployment Dynamic update and creation of business rules at runtime With Business Rules, facts are data objects that are asserted in the Rules Engine. Rules, such as an Under Age rule, constrain and support facts. In Business Rules, a data model specifies the types of facts or business objects that you can use to create business rules. For example, for a car rental company that needs to create a rule to match the age of a driver, the driver information represents the facts used in the rule. Using a Rule Author, you can define a data model and then use the objects in the data model when you create rules. All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-9 Revision: July 15, 2008

63 Business Rules Design Section VI: Business Rules Business Rules in a rule-based system are a data-driven forward chaining system. The facts determine which rules can fire. When a rule fires that matches a set of facts, the rule may add new facts. These new facts are once again run against the rules. This process repeats until a conclusion is reached or the cycle is stopped or reset. Thus, in a forward-chaining rule-based system, facts cause rules to fire, and firing rules can create more facts, which in turn can fire more rules. This process is called an inference cycle. All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-10 Revision: July 15, 2008

64 Section VI: Business Rules Rules Conclusion Separation of rules from processes and data results in better requirements specification and more adaptable IS The process of creating business rules based IS creates more application flexibility Rules repository is an efficient engine that provides extensibility The ideas of business rules approach can be incorporated in to the development of traditional system Business rules evolution during IS design has to be elaborated The proposed process of business rules based development has to be detailed and evaluated. All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-11 Revision: July 15, 2008

65 Business Rules Composition Section VI: Business Rules A Rules Author supports several types of users, including the application developer and the business analyst. The application developer uses Rule Author to define a data model and an initial set of rules. The business analyst uses Rule Author either to work with the initial set of rules, or to modify and customize the initial set of rules according to business needs. Using Rule Author, a business analyst can create and customize rules with little or no assistance from a programmer. Rule Author stores rules programs in a dictionary that is saved to a repository using a Rule Author dictionary storage plug-in. You can create as many dictionaries as necessary, and each dictionary can have multiple versions. A rule-enabled program accesses a dictionary with the Business Rules SDK. All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-12 Revision: July 15, 2008

66 Business Rules Processing Section VI: Business Rules All rights reserved, no unauthorized duplication Unit 6. Business Rules 6-13 Revision: July 15, 2008