Session 12 - Main Theme Service Oriented Architectures Web Services Platforms (Part I)
Total Page:16
File Type:pdf, Size:1020Kb
Application Servers G22.3033-011 Session 12 - Main Theme Service Oriented Architectures Web Services Platforms (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda Continued from Session 11: Middleware and Component Infrastructures EAI and B2Bi Environments MDA/BPM Technology UML-Based Component Modeling and Related Standards XML Pattern Languages and XML Model-Based Applications Web Services XML-RPC SOAP, DIME, and ROPE UDDI, DISCO WSDL Summary Readings Assignment #8 (due: 12/10) 2 1 Summary of Previous Session .Net Environment (continued) Channel Independence and Pervasive Devices Connected Devices XML in Component-Based Development Environments XML and JavaBeans/EJBs Deployment Descriptors for OMA Services More on the OMA Persistence Service EAI Environments B2Bi Environments (e.g., WebMethods Framework) BPM Environments Summary Readings Assignment #8 3 Application Servers Architectures Application Servers for Enhanced HTML (traditional) a.k.a., Page-Based Application Servers Mostly Used to Support Standalone Web Applications New Generation Page-Based Script-Oriented App. Servers First Generation Extensions (e.g., Microsoft IIS with COM+/ASP) Servlet/JSP Environments XSP Environment Can now be used as front-end to enterprise applications Hybrid development environments Distributed Object Computing Platforms Provide an infrastructure for distributed communications enabling Still need to merge traditional web-oriented computing with object computing Object Management Architectures DOC Platform + APIs to reusable services and facilities OMAs + Component Models -> J2EE, CCM, DNA 4 MDAs with XML/Web Services/Channels/BPM-Enabling services 2 Part I Middleware and Component Infrastructures (summary) 5 Contents • Motivation • Middleware – Synchronous – Asynchronous • Component Models – Application Servers • Enterprise architectures – Business Models and Middleware 6 3 Technology Motivations Old Computing New Computing •Prescriptive •Descriptive •Hierarchical Design •Heterarchical phenomena •Determinism •Non-determinism •End result •Continuing interaction Robin Milner, 1991 Turing Award Speech 7 Technology vs. Architecture • The Long View • Reference Model of Open Distributed Processing (RM- ODP) • Map architecture to available technology • Evolution and addition – Tools, materials, … • Cost of extraction 8 4 The Middleware Picture Application Application Application Programming Interfaces Middleware (Distributed System Services) Platform Interfaces Platform Platform •Operating System •Operating System •Hardware •Hardware 9 Three-Tier Client/Server Fat Fat Client Server GUI Application Data Client Server Business Logic Thin Client 10 5 Middleware Characteristics • Transparency • Legacy environment • Interoperability support • Portability • Communication • Standard services paradigms COM DCOM Jini .NET XML SOAP MQSeries SunRPC TIBCO DCE CORBA Java RPC EJB 1984 1988 1992 1996 2000 11 Transparency • Access • Persistence • Location • Failure • Relocation • Replication • Migration • Transaction See Reference Model of Open Distributed Processing 12 6 Interoperability • Standard protocols • Semantics • Data format • Standards • Transparency 13 Portability • Standard programming interfaces – Interface Definition Languages (IDL) • Increase application market • Mask network and protocol complexity • Able to be ported from one platform to another platform with modest and predictable effort. 14 7 Services • Standardized servers • Defined by an API and supported protocols • Separation of implementation and definition – multiple implementations • Client and server parts 15 Distributed Applications Application Development Messaging Other Data Environments Communication Distributed Access Services Transaction RPC-based Processing Communication Mobile Middleware Computing Message Object Queuing Workflow/ Development Services Process Environments Management Physical Network Communications Protocols 16 8 Legacy Applications • Logically linked • Plug-and-play software components • Interoperability • Mask differences • Portability between operating • Coexistence systems, platforms, and network protocols • Self-managing Entities • Built before • Encapsulation middleware 17 Communication Paradigms • Synchronous – Remote Procedure Calls – Distributed Objects • Asynchronous – Message Oriented Middleware – Publish/Subscribe, Event Technologies 18 9 Remote Procedure Call Client Server Client Server Request stubs stubs Error RPC RPC Processing •Addressing –name service •Parameter passing Response •Failure •Security •Data representation •DCE, Java RMI, CORBA 19 Message Oriented Middleware • Deferred communication • Complex message semantics • MQSeries, MSMQ, Java Messaging Service Enqueuing Enqueuing Dequeuing Module Module Module Application Queue Queue Manager 20 10 Event Notification • Publish and subscribe • Asynchronous interaction • Scalability • Unsolicited communication • Data backbone • Scalability Subscriptions • Heterogeneity Action Event Action Event • Addressing - channel, subject, content Generator Consumer • TIBCO, CORBA Event Notification Service, Elvin Generator Manager Generator Consumer 21 Distributed Objects • Plug-and-play •CORBA • Interoperability •Java • Portability • Microsoft .NET • Co-existence –DCOM • Self-managing Entities • Legacy Integration • Separation of specification and implementation 22 11 Components • Independent deployment • Third-party composition • No persistent state • Contractually specified interfaces •Lateintegration Clemens Szyperski, 1998 23 Component Meta Models Microsoft Sun OMG Client-Oriented COM: OLE, JavaBeans CORBA Object OCX, ActiveX Server-oriented Microsoft Enterprise Java CORBA Transaction Beans/J2EE Component Server (MTS) Model Paul Allen, Cutter Info Corp 24 12 Java Server Components HTTP JavaBeans Components IIOP, other protocols Servlets Enterprise JavaBeans Components J J J J J M J Server N I D T A M Platform D D B S P S I I L C 25 CORBA Component Model receptacles component facet facets event sink attributes event source 26 13 Component Architectures Component A Component B Depend upon Interface C Are implementations of Component C2 Component C1 Component C3 Component C4 Component Execution Environment 27 Application Servers • Core application • Microsoft Transaction services Server – Transactions –MTS – Persistence • BEA WebLogic, IBM – Security WebSphere • Business component – EJB, J2EE container • Iona iPortal 28 14 Web Services • Components that interact with one another dynamically and use standard Internet technologies • Advertise the presence of business processes, information, or tasks – Universal Description Discovery and Integration (UDDI) • Simple Object Access Protocol (SOAP) 29 Enterprise Architectures ration g lication Inte pp rise A p Enter 30 15 Part II (continued from Session 11) EAI and B2Bi Enterprise Application Integration and Business to Business Integration Also See Session 11 Presentations: “Enterprise Application Integration (EAI)” “Practical Application of EAI” “The STP and T+1 Application” and the Session 11 Handout on: “Enterprise Application Integration (EAI)” 31 What is Enterprise Application Integration "EAI is the ongoing process of putting an infrastructure in place, so that a logical environment is created that allows business people to easily deploy new or changing business processes that rely on IT." Marc Buyens, Xpragma 32 16 Characteristics • Ongoing process not a • Business people “build” product business processes • Enterprise not IT driven • EAI is difficult, complex, and expensive • Infrastructure at multiple • Embrace change layers – not for concrete • Logical environment environments – Technical infrastructure not • Balance gain with pain visible • Translate business • Abstraction, automation, objectives into actions and flexibility – Assembly of business services 33 Integration Model Business rules Business Business Process people Workflow IT people Components/Services EJB MQSeries Messaging TIBCO Infrastructure people .NET, CORBA, Transport Java/RMI 34 17 Business Process Layer • Translate business flow to processes, Business Organisation tasks, or services Model Model Role Organisation Level – Enterprise modeling Workflow • Rules for chaining/interaction of components Programs Automatic Event Registration • Process modeling, Functions and Handling workflow, simulation 35 OMG Model Driven Architectures • Mappings from models to Enterprise middleware Model • Choice of implementation technology Middleware • Round trip engineering Abstraction • Programmatic access to Mapping Tool models Existing Middleware • Enterprise Distributed Object Services Computing (EDOC) –UML, OMG 36 18 Components Layer • Logical objects • Manipulate logical data (metadata) • One or more physical objects • Data transformation, bridging, connectors 37 Messaging Layer • Reformatting of messages • Routing • Load balancing • Alternate path switching • Message warehouse • Message Broker 38 19 Transport Layer • “Basic” middleware products – Message oriented middleware – Notification services • Object Request Brokers (CORBA) • Transaction monitors • Audit, logging, and security • API's, message formats and templates 39 EAI Approaches – Case Studies Business Process IBM MQSeries Middleware 40 20 Crossworlds • Collaborations – Automated business processes, workflows • Connectors – Adaptors to packaged, legacy, or custom components • Interchange server