WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. Brian Travis, Chief Technical Officer Architag International Corporation Developing Service-Oriented Architectures TechEd 2003
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 3 Web Services Implementation Guide Volume 1: Getting Started
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 4 Joint Enhanced Sub-System for Integrating the Enterprise JESSIE Web Order Processing Subsystem Order entered Back-end ERP Order comes in JESSIE OrderProcessed
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 5 Data Communication Can we build the technology that enables programs to communicate? What kind of architecture is needed? What kind of building blocks are needed? Service-centric view Process-centric view Solution: Define services and operations instead of applications and data
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. Traditional Application Architecture
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 7 Application User interface Executable program Scheduled execution Business logic Procedures Traditional Application Architecture Data Access Typical application has this proprietary structure Must recreate for each application No interaction between different objects, languages, data sources Existing applications are tightly coupled SQL Database XMLFlat File
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 8 Application Communication Tight Coupling COM CORBA EXE Batch Application User interface Executable program Scheduled execution Business logic Procedures Data Access SQL Database XMLFlat File Application User interface Executable program Scheduled execution Business logic Procedures Data Access SQL Database XMLFlat File Application User interface Executable program Scheduled execution Business logic Procedures Data Access SQL Database XMLFlat File
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 9 Problems with Traditional Architecture The application’s functions cannot be re-used Difficult to debug the program as it grows, and maintain it as it is deployed Security is another problem because the user-interface cannot be isolated from the rest of the program Difficult to integrate applications that reside in different platforms Scalability is all but impossible
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 10 What if...? What if every layer could have a standard format of expressing data rather than each speaking a proprietary language that only some can understand? In the data source In the data access In the application, class, any output after some functionality is applied to the data
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. Service-Oriented Architecture Encapsulating Business Processes
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 12 Application Data Data Access SQL Database XMLFlat File Process-centric to Service-centric User interface Executable program Scheduled execution Business logic Procedures Service Data Data Access SQL Database XMLFlat File Common interface Encapsulation Alphabet, language, format Error Handling Business Logic
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 13 Then…. Decouples user experience from application logic Can be delivered to a user- interface in any language, any platform Service Common interface Encapsulation Alphabet, language, format Error Handling Data Data Access SQL Database XMLFlat File Business Logic
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 14 The Holy Grail… ASP.NET Web Application WinUI Application Mobile Application Java Console Application ASP.NET Web Service Common interface Encapsulation Alphabet, language, format Error Handling Data Data Access SQL Database XMLFlat File Business Logic ASP.NET Web Service J2EE Web Service Common interface Encapsulation Alphabet, language, format Error Handling Data Data Access SQL Database XMLFlat File Business Logic J2EE Web Service Applications talking to each other in a loosely coupled manner Data uniform Services delivered to any user-experience Seamless integration They can all communicate because Common error handling Common encapsulation standards Common alphabet Common language description XML, SOAP, WSDL, XSLT,... Web Services Architecture
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 15 Old: Process-Oriented Architecture Uses processes to act on data Requires that the system have intimate knowledge of the process details in order to interface with them Data is accessed and manipulated by these processes, which can lead to corruption of the data and can compromise security.
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 16 New: Service-Oriented Architecture Encapsulates processes and data Exposes processes and data together as a homogenized service Can be utilized where necessary while keeping the data isolated, secure, and centrally managed
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 17 A Service Can correspond to real-life business activities Is the interface for business functions Is usually discoverable, but not a requirement Has a clearly defined interface, which is exposed through some kind of standard contract Interacts with other services and components using loosely-coupled, message-based architecture Uses standards for communication Provides interoperability Is up and running all the time, unlike components that must be instantiated before use
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 18 Benefits of a Service-Oriented Architecture Complexity is encapsulated Code is mobile Developer roles are focused Development efforts can be done in parallel The service definition supports multiple client types More security can be included More re-usability of components across the heterogonous platforms is possible
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. Layered Architecture
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 20 Data Sources Data Access Layer Business Logic Layer Presentation Layer Users Layered Architecture
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 21 Order Manager Warehouse Manager Inventory Manager Update Manager Service Portfolio
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 22 UI Components Excel Spreadsheet Web Browser ASP.NET Site Order Interface Warehouse Interface Compact Interface Shipping Manifest Pocket PC ASP.NET Web Service UI Components UI Process Components Web Service Access Point
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 23 Data Access and Sources Data Access Classes Data Structure Classes Service Agent Credit Check
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 24 Data Access Layer Business Logic Layer Presentation Layer Excel Spreadsheet Web Browser ASP.NET Site Order Interface Warehouse Interface Compact Interface Order Manager Warehouse Manager Inventory Manager Update Manager BizTalk Orchestration Business Logic Classes Data Access Classes Shipping Manifest Pocket PC Data Structure Classes Synchronize Item DB Data Sources Service Agent ASP.NET Web Service UI Components UI Process Components Service Portfolio Business Workflows, Business Components, Business Entities Web Service Access Point Utility Project Credit Check External Service Interfaces, Services, and Data
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 25 Business Process Flows
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. SOAP for A2A Integrating Heterogeneous Internal Applications
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 27 Integrating the Enterprise SOAP is the protocol Still have middleware problems (point-to-point) Some departmental functions can be integrated easily using this protocol Internal services support leads to more flexible IT environment Questions: Is SOAP protocol ready for internal networks? Is it fast, scalable? Is it reliable? Many more…
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 28 Integrating the Enterprise Why do we need to integrate? When web services become the protocol that supports reliable, secure messages and transactions When web services become scalable over internal networks What is integration? What is the enterprise? What are XML web services? How can XML web services solve integration issues?
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 29 SOAP in Action HTTP SOAP Server SOAP Client RequestDocument ResponseDocument Object
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 30 SOAP in Action HTTP SOAP Server SOAP Client RequestDocument ResponseDocument Remote Object
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 31 Remote Object SOAP in A2A TCP SOAP Server SOAP Client Local Object HTTP InternalNetwork
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 32 SOAP in A2A SOAP Server SOAP Client Local Object Local Object TCP Object is the Client
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 33 Local Object Local Object SOAP in A2A SOAP Server SOAP Client COBOL Object CORBA Object TCP CORBAObject COBOL Program as Object
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 34 SOAP in A2A COBOL Object CORBA Object TCP COBOL now the Client SOAP Server SOAP Client
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 35 SOAP in A2A SOAP Client SOAP Server COBOL Object CORBA Object TCP SOAP Client SOAP Server Everyone is a server and a client
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 36 SOAP in A2A SOAP Server CORBA Object SOAP Client CORBA Object SOAP Implemen- tation Client and Server as implementation
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 37 SOAP in A2A COBOL Object SOAP Implemen- tation CORBA Object SOAP Implemen- tation TCP
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 38 TCP SOAP in A2A COBOL Object SOAP Implemen- tation CORBA Object SOAP Implemen- tation TCP UDP MQ-Series Any transport or queuing technology
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 39 SOAP in A2A TCP UDP MQ-Series COBOL Object SOAP Implemen- tation CORBA Object SOAP Implemen- tation New object COM Object SOAP Implemen- tation
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 40 Components as Services SQL Server 2000 SQL Server Order Manager Inventory Stores Items Store Web Browser Excel Spreadsheet Pocket PC Compact Interface ASP.NET Site Credit Check Store Orders Progressive Soup Co. Order Interface
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. 41 Web Services Implementation Guide Volume 1: Getting Started
Copyright © , Architag International Corporation. All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden. Resources at
Community Resources Most Valuable Professional (MVP) Newsgroups Converse online with Microsoft Newsgroups, including Worldwide User Groups Meet and learn with your peers
evaluations evaluations
© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.