1 / 59

Berkeley-Helsinki Summer Course Lecture #3: Middleware Architectures

Berkeley-Helsinki Summer Course Lecture #3: Middleware Architectures. Randy H. Katz Computer Science Division Electrical Engineering and Computer Science Department University of California Berkeley, CA 94720-1776. Outline. Middleware Definition and Functionality

Download Presentation

Berkeley-Helsinki Summer Course Lecture #3: Middleware Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Berkeley-Helsinki Summer CourseLecture #3: Middleware Architectures Randy H. Katz Computer Science Division Electrical Engineering and Computer Science Department University of California Berkeley, CA 94720-1776

  2. Outline • Middleware Definition and Functionality • Evolution of Enterprise Computing • Middleware Components • Commercial Middleware • Telecommunications Middleware • Summary and Conclusions

  3. Outline • Middleware Definition and Functionality • Evolution of Enterprise Computing • Middleware Components • Commercial Middleware • Telecommunications Middleware • Summary and Conclusions

  4. What is Middleware? • Distributed software functionalities upon which applications and systems can be constructed • E.g., Web-enabled access to databases • Software that connects or “glues together” two otherwise separate applications, often across different computing platforms • Transaction Processing Monitors • Distribute Computing Environments • Remote Procedure Call • Client-Server Architectures • Object Request Brokers • Services

  5. Transactions Security Management Internet Fault Management Load Balancing Connectivity Multiple Clients Interface Representation Messaging Publish/Subscribe Java Execution Middleware Functionality

  6. Outline • Middleware Definition and Functionality • Evolution of Enterprise Computing • Middleware Components • Commercial Middleware • Telecommunications Middleware • Summary and Conclusions

  7. Evolution of Enterprise Computing Late-1980s Internal users Private Corporate Network Limited customer/ external access Dedicated facilities/ computer centers Dedicated applications/ 3rd party DBMS E.g., Oracle

  8. Evolution of Enterprise Computing 1995 Internal users Private Corporate Network Limited customer/ external access Dedicated facilities/ computer centers Outsourced “Enterprise Resource Planning” Apps e.g., PeopleSoft, BAAN

  9. Evolution of Enterprise Computing 1997 Internal users Virtual Private Network ISP Mesh Internet Outsourced Web Hosting Dedicated Facility Outsourced ERP Apps External Customers

  10. P o r t a l Evolution of Enterprise Computing 1997 Internal users Virtual Private Network ISP Mesh Outsourced Web Hosting Internet Dedicated Facility Outsourced ERP Apps Internet Services Search Caching Ads EComm External Customers

  11. P o r t a l Evolution of Enterprise Computing 1999 3rd Party Facilities Mgmt Applications Service Provider ISP Mesh VPNs Outsourced Web Hosting Caching + Media Servers Content Delivery “Net” Internet Services Search Cache Ads EComm Customers

  12. Outline • Middleware Definition and Functionality • Evolution of Enterprise Computing • Middleware Components • Commercial Middleware • Telecommunications Middleware • Summary and Conclusions

  13. Elements of Traditional Middleware • Web applications infrastructure • Infrastructure for enabling distributed web- and Internet-related applications • Multi-agent systems • Infrastructure for enabling systems of cooperating independent agents • Distributed object/component systems • Infrastructure for enabling interactions among distributed objects and components (including three major approaches—DCOM, CORBA, and Java) • Message-oriented middleware (MOM) • Infrastructure for message passing among distributed computing elements • Distributed database applications infrastructure • Infrastructure for distributed database applications

  14. Web Technologies DHTML, XML, DOM, HTTP-NG Agent Technology Multiagent Systems Collaborative Apps Notes Distributed App Building Blocks RPC & Java RMI Message-Oriented Middleware (MOM) IBM’s MQ series, Tibco’s “information bus,” Lotus Notes/Domino Distributed Object /Component-based Systems Microsoft’s COM, COM+, DCOM; OMG’s CORBA; and Java (Java Beans, Enterprise Java Beans, Javaspaces, Jini, etc.) Distributed DB Technologies XACT servers, ODBC & JDBC Relevent Commercial Techologies Areas of Concentration

  15. Architectural Framework for Enterprise Applications DistributedOSEnvironment Management Directory Security Networking Base Services UI/Navigation Basic Dyn Forms Nativehtml html Tools HTML/ScriptingAuthoring Rapid Applications Development Component Creation Team Development Business Process Web Trans- Msg Script-Svr actions Que ing Integrated Storage File Data- Mail OtherSys base Store Stores

  16. Generic Enterprise Middleware Architecture Client Enterprise Legacy N e t w o r k Web Server N e t w o r k E v e n t s C o n n e c t o r s Business Logic User Interface Forms Packaged Applications (SAP, Baan, PeopleSoft) XACT/DBMS Old Apps & Data Sets Computer Storage

  17. Distributed Systems Model 1 2 3 4 Appli-cation Server Appli-cation Database Server Client • • • • • • • • • • • • Web Server Appli-cation Database Server Web browser

  18. MOM Database Database Market Segments in Tiered Systems Appli-cation Server Appli-cation DB Database Server Client MOM DB Web Server Appli-cation Web MOM Database Server Web browser

  19. COM/DCOM CORBA Java EJB EJB Market Segments in Tiered Systems COM/DCOM COM/DCOM Appli-cation Server Appli-cation EJB CORBA CORBA Java Java Database Server Client COM/DCOM CORBA EJB EJB COM/DCOM Web Server Appli-cation CORBA CORBA EJB Java Java Web browser Database Server

  20. Elements of Distributed Applications and Systems • Collaborative Applications • Multiagent Systems • Component-Based Distributed Systems • Message-Oriented Middleware • Enterprise Application Integration • Distributed Database Application Infrastructure • Network Directories • Network Services

  21. Collaborative Applications: E.g., Lotus Notes • Document-oriented, replicated, semi-structured “database” • Asynchronous collaboration • Enhanced activity “awareness” • Personal Information Management, Calendaring and Scheduling, People Locator, Expertise Locator, Distance Learning (“Learning Space”) • Notes R5: improved performance, better database semantics (e.g., transaction logging) • Built on top of “intelligent routing of mail” • High/medium/low priority of messages • Mail probes/server-to-server to determine QoS

  22. Multiagent Systems • System of autonomous computations that cooperate or compete through message-oriented communications • Individual agents attach to other objects to observe, react, control • Intelligence, ability to adapt, learn, move usually assumed • Decomposition of distributed apps into many, perhaps 1000's of, autonomous computations

  23. Component-Based Systems • Delivers object-to-object, component-to-component, and application-to-application interoperability among distributed systems • Objects: software constructs with state, behavior, identity, and well-defined interfaces • Opaque units of independent production, acquisition, and deployment that interact to form a functioning system • DCE, Java RMI, COM, DCOM, CORBA, ORB’s, object transaction servers, Enterprise Java Beans (EJB) • E.g., BEA Systems (M3,WebLogic), Inprise (Visibroker), IBM (SOM object broker), Iona Technologies, Microsoft (DCOM), Sun (EJB)

  24. Alternative Object Architectures • Java • Network-oriented programming language for mobile code • JavaBeans: Component Model for finding/composing Java applets • Java RMI: Client/server via remote method invocation • JINI: Network “Plug and Play,” Service Discovery Service • COM/DCOM • Microsoft proprietary, not platform independent (Win/Win NT only) • Building blocks for all of the major desktop applications • CORBA • Common Object Request Broker Architecture • Interface Definition Language (IDL) + APIs • Internet InterORB Protocol (IIOP) for client-server computing in CORBA framework

  25. Message-Oriented Middleware • Delivers interoperability between applications and middleware based on message exchange • Includes message queuing engines (including push, multicast, event-driven processing, etc.) and application integration engines • Uses broadcast techniques; senders need no knowledge of receivers, and the receivers need no knowledge of senders • E.g., BEA Systems (MessageQ, Advanced Messaging System), IBM (MQ/MQ Integrator, Lotus Notes/Domino, Microsoft (Message Queue Server), Tibco (Information Bus)

  26. Enterprise Application Integration • Data in Consistent Form • Distributing data to multiple legacy systems • Follow basic “business rules” • Business process automation • Update and enhance the functionality of existing systems • Manage cross-application events and functionality

  27. Message structure Transactional Messages Perishable Messages Selection Criteria Timers Push or pull Peeking or browsing Message formats based on XML Events Unsolicited broadcasting/notification Broadcasting Anonymous publish/subscribe Sophisticated filters and rules engines XACT semantics are trickier Underlying technology is evolving: reliable multicast, smart agents Event-Based Programming

  28. Event-Enabled Enterprise • Business Events: semantically richBusiness Process: “Hire an employee”Business Goal: global control and visibility of business processes • Access Control Lists (ACL) for security • Business Metrics: info revealed to the cockpit • e.g., order status, orders by product, orders by customer, quote to ship, quote to bill, quote to cash time • Stovepipe applications today • Event-oriented message and connectivity/wrappers and connectors • Real-time analyzer/protocols and transformation

  29. Distributed Database-Application Infrastructure • Delivers transaction management and inter-operability between applications and data sources • Transaction servers (MTS and EJB), Object / Object-Relational, and Java-oriented Database Management Systems, Heterogeneous DB access • E.g., BEA Systems (Tuxedo), IBM (DB/2, Java and JDBC), Microsoft (Transaction Server, SQL Server, OLE DB specification), Oracle (8i)

  30. Network Evolution • VPNs as a business solution, not just for security • Kinds of Services: Connectivity, Security, Scalability, Reliability • Personalized Service Vision enabled by directory services • Network DNA: Distributed Network Architecture • Directory-enabled network • Policy-driven networking • Application-aware networking

  31. Outline • Middleware Definition and Functionality • Evolution of Enterprise Computing • Middleware Components • Commercial Middleware • Telecommunications Middleware • Summary and Conclusions

  32. Distributed Name Services Centralized Indexed Search Loose Consistency Replication Fine-grained Discretionary Access Control Extensible Schema Reality Location Dynamic Naming Availability Community Membership Relationships Roles Identity Contact Info Credentials Preferences Novell “Full Service Directories”

  33. BEA Weblogic App Server EJBApps Web Server Servlets HTML Pages BEA End-to-End Architecture Client Diversity JAVA App Server Network Resources Business Logic: Process, Workflow, Rules Apps BEA OTM EJB IIOP Java Desktop Microsoft Desktop (COM) WebHTML Corba Legacy Systems Apps BEA TP Monitor BEA Jolt Apps Apps JDBC Enterprise JAVA APIs Databases Management & Security

  34. Process Feedback Process Analysis Process Monitoring Process Automation Rules Processing Data Transport Reliable Messaging Event Messaging Publish/subscribe Data Transform Enterprise Integration Data Extract Analyzer Automater Communicator Channels Names/QoS (reliable, guaranteed, XACT, prioritized) Secure Channels (ACL on channels) Example Connectors SAP R/3 Oracle Custom Vitria’s Middleware Architecture

  35. TIBCO Middleware Architecture Presentation (Event Console) System Monitoring & Management (Hawk) Integration (Adapters, ContentBroker) Connectivity (Connectors,Message Broker) Messaging (ObjectBus, ETX,Rendezvous)

  36. Java 2 Enterprise Edition Tools Application Programming Model • Distributed Applications built from Beans • JSP: Java Server Pages (mixed HTML and Java code) Containers Transactions EJBs JSPs Servlets Connectors JavaBeans Messaging Mail Applets Java 2 SDK, Standard Edition CORBA RMI Database Naming/Directory

  37. Storage+ COM+ Windows Client FS SQL Server Xchg MTS IIS MSMQ Windows “DNA” Vision(Digital Nervous System) Methods & Events Common: Transactions Scheduling Queuing Transparency Replication FS SQL Server Xchg MTS IIS MSMQ Windows Server Storage+ COM+

  38. Message brokering Enterprise application integration Security LDAP secure directory SSL encryption Application specific security policies Roles in security Java in the DB Queuing in the DB Message broker with transformation Business process coordination: new term for workflow Business process modeling Reliable Queue w/ pub/sub Rules-based Message-broker: scalable transformation engines Async messaging critical for application integration Typed/structured messages AQ: persistent queue in the DB, available for business analyses UML graphical editor for workflow specification Message types defined by industries Security Oracle 8i Architecture

  39. Tivoli Enterprise Console

  40. Outline • Middleware Definition and Functionality • Evolution of Enterprise Computing • Middleware Components • Commercial Middleware • Telecommunications Middleware • Summary and Conclusions

  41. New Developments in Telecommunications Middleware • User rather than enterprise-centric • Managing preferences, providing billing infrastructure for services • Importance of device- and network-independence, location-awareness • Examples: • Microsoft Hailstorm • Sun ONE

  42. Microsoft Hailstorm • “User-centric” Architecture, focused on support for the individual as opposed to the Enterprise or specific terminals or networks • User control of information and data • Protection mechanisms for personal information: user-consent necessary for personal information access, based on Passport authentication scheme • Ease-of-use, personalization mechanism • Device/network-independent • Multiple-Application and Service Cooperation • E.g., calendar, location, profile information

  43. Hailstorm Tenets • User in control • Open access • Open process extensibility • Fair information practices: • Notice: consumer notice of how information will be used • Choice: regarding collection and distribution of personal information • Access: to all information held about you • Security: protections built-in so no one else can access your information without your consent

  44. Hailstorm Access Control • Determine who or which services have access rights to their data • Share data at will with any party;HailStorm will employ a strict opt-in platform for user’s data • Revoke sharing/access privileges at will, providing a unique level of control not commonly available today on the Web • Arrange for sharing that expires at a given time: system-managed, time-based data access revocation.

  45. Hailstorm Architecture • Defines identity, security, data models common to all HailStorm services: • myAddress - electronic and geographic address for an identity • myProfile - name, nickname, special dates, picture • myContacts – electronic relationships/address book • myLocation – electronic/geographical location & rendezvous • myNotifications – notification subscription, management, & routing • myInbox - inbox items, e.g., e-mail/voice mail, including existing mail systems • myCalendar – time and task management • myDocuments – raw document storage • myApplicationSettings - application settings • myFavoriteWebSites – favorite URLs and other Web identifiers • myWallet - receipts, payment instruments, coupons & other xact records • myDevices – device settings, capabilities • myServices –services provided for an identity • myUsage – usage report for above services

  46. Sun ONE Architecture • Open Network Environment (ONE) Motivation: • Migrate from large, monolithic app systems/desktop-oriented client/server apps, to apps using a service-oriented application design • App software broken down to constituent parts: smaller, more modular application components or services • Exploit infrastructure software decomposed into discrete system services • Modular service approach for great flexibility in system design • Create new services by reassembling a few services into a new configuration

  47. What is a Service? • App service: user or business activity, e.g., reading e-mail, getting a stock quote, authorizing a credit purchase, and procuring materials • Sys service: system infrastructure & management functionality, e.g., storage, security, transactions, messaging, fault recovery • Service exhibits following characteristics: • Provides interface that can be called from another program • Is registered, can be located through service registry

  48. What is a Web Service? • Web service exhibits following characteristics: • Accessible over the Web • Exposes an XML interface • Is registered and can be located through a Web service registry • Communicate using XML messages over standard Web protocols • Web services support loosely-coupled connections between systems • Shared context: prerequisite to vision of transparent, dynamic interaction of widely distributed, heterogeneous Web services

  49. What is a Smart Web Service? • Web service that understands situational context and sharescontext with other services • Dynamic results based on who, what, when, where, why, e.g., • Service consumer's identity, individual, business, another Web service • Consumer role at the time it invokes the service • Preferences consumer may have defined for this type of service • Security policies associated with the consumer of this service • Privacy policies associated with the consumer • Business policies associated with the consumer of this service • Physical location of the consumer • Type of client device being used to invoke the service • Past history associated with the consumer of this service or related services • Service level agreements that exist between the consumer and service provider

  50. Sun ONE Architecture

More Related