Architecting Web Service Applications for the Enterprise Michael Rosen Chief Enterprise Architect mike.rosen@iona.com March 5, 2002 Copyright IONA Technologies 2002 Slide 1 END 2 ANYWHERE
Basic Web Service Architecture Industry Repository Industry Repository UDDI / ebxml WSDL WSDL WSDL description Back-end Systems J2EE discovery Web Services Client execution SOAP / HTTP(S) Web Services Container Web Services Container Web Services Runtime EJB CORBA JMS Firewall Copyright IONA Technologies 2002 Slide 2 END 2 ANYWHERE
Granularity and Networking Overhead The facts of life Designing Web services is different than either local or distributed objects. Distributed Internet requests are 10³ to 10 6 X more expensive Create higher level Web services Increase request granularity Use service-oriented interfaces Expose valuable business functions Copyright IONA Technologies 2002 Slide 3 END 2 ANYWHERE
Creating Higher-Level Services Higher-level services are created by combining fundamental (or primitive) internal business functionality into Compositions Expose external business value Exchange all data in a single message Many different compositions can be created from differing combinations of the same primitive functions Copyright IONA Technologies 2002 Slide 4 END 2 ANYWHERE
Sample Composition Order Received S e n d C r e d i t C h e c k t o B a n k ERP PO Order Confirmation Enter Order Automatically Into ERP System credit verified Purchase Order Credit Approval Inventory Not Available S e n d O rd e rs to Suppliers Inventory Available Inventory Order New S e n d O r d e r S e n d B a c k o r d e r C o n f i r m a t i o n N o tific a tio n Process Diagram Process Activity Copyright IONA Technologies 2002 Slide 5 END 2 ANYWHERE
Document-Based Processing Higher-level services pass larger amounts of data back and forth This data can be organized and transmitted in an XML document Document processing can be complex Process Model (BPM) automation techniques (workflow) are ideal for processing XML documents and implementing business compositions Copyright IONA Technologies 2002 Slide 6 END 2 ANYWHERE
Document-Based Web Services Partners Document Request Document Response High-Level High-Level Web Web Services Services Composition Process Automation define Model define service interface Enterprise Integration Server fundamental business objects packaged application Copyright IONA Technologies 2002 Slide 7 END 2 ANYWHERE
Additional WS Requirements Service execution will be subject to Service Level Agreements (SLAs) Collaborations between partners (especially multiple partners) will require a shared context to be passed with the business documents Collaborative business processes may take days to execute, requiring a new mechanism for extending transactional atomicity to B2Bi Copyright IONA Technologies 2002 Slide 8 END 2 ANYWHERE
Architecture Fundamentals Tiers Logical distribution of functionality Each tier has roles and responsibility Physical distribution Scalability Reuse Layers Logical separation of logic Spans tiers Separates business logic from services from infrastructure Copyright IONA Technologies 2002 Slide 9 END 2 ANYWHERE
Architectural Foundations user workspace Tiers enterprise resource Layers Presentation and device independence application User session and data manipulation processes and entities Shared enterprise resources Application level business logic services Common utility functions applied across tiers infrastructure Underlying technical and communication capabilities Copyright IONA Technologies 2002 Slide 10 END 2 ANYWHERE
Web Services Architecture user workspace enterprise resource application Message Handling Document Processing Composition Process Entity Application Adapter Resource Adapter legacy System packaged application services Web Service Services Processing Services XML Services infrastructure Web Services Platform Copyright IONA Technologies 2002 Slide 11 END 2 ANYWHERE
Architectural Elements The architectural elements are defined to provide for: Distribution Scalability Technology Independence Device Independence Application Integration Future Enhancements and migrations Not all applications will have all elements Elements map to different implementation types depending on the technology Not all elements map to distributed components Copyright IONA Technologies 2002 Slide 12 END 2 ANYWHERE
Services Layer Web Service Services Identity Service Level Agreements Security Transactions Process Services Process Automation Auditing XML Services Parsing Transformation Persistence Copyright IONA Technologies 2002 Slide 13 END 2 ANYWHERE
User Tier Performs security authentication and authorization Establishes Identity Enforces Service Level Agreements Theme: Initial Message Processing Copyright IONA Technologies 2002 Slide 14 END 2 ANYWHERE
Workspace Tier Maintains session state Requests services from Enterprise Tier Parses XML Document Associates document with BPM Performs XML transformations and persists data Theme: Document Processing Copyright IONA Technologies 2002 Slide 15 END 2 ANYWHERE
Enterprise Tier Provides reusable business collaborations and business processes to all enterprise users (according to business model) Manages integrity of enterprise resources Scopes 2PC Transactions Enforces system level business rules Interacts with Resource Tier Theme: Functionality Copyright IONA Technologies 2002 Slide 16 END 2 ANYWHERE
Resource Tier Provides access to shared resources and applications of the systems Performs transformation and data manipulation between systems and businessmodel-defined processes and entities Complex processing can be accomplished by process automation/data transformation services Presents packaged applications and legacy systems to enterprise tier in canonical format Theme: Making enterprise resources available Copyright IONA Technologies 2002 Slide 17 END 2 ANYWHERE
Web Interface Architecture user workspace enterprise resource Presentation View Controller Work Coordinator Composition Process Component Application Adapter legacy System application. Session User Profile Entity Resource Adapter packaged application services Authorization Service Profile Service BPM Service Persistence Service Configuration Service Logging Service infrastructure Application Services Platform Copyright IONA Technologies 2002 Slide 18 END 2 ANYWHERE
Enterprise Architecture user workspace enterprise resource Message Handling Web Service Document Processing Process Application Adapter legacy System Presentation View Controller Work Coordinator Composition Entity Resource Adapter packaged application Session Web Interface User Profile Processing services Copyright IONA Technologies 2002 Slide 19 END 2 ANYWHERE