Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 1 Outline • • • • • • Middleware Definition and Functionality Evolution of Enterprise Computing Middleware Components Commercial Middleware Telecommunications Middleware Summary and Conclusions 2 Outline • • • • • • Middleware Definition and Functionality Evolution of Enterprise Computing Middleware Components Commercial Middleware Telecommunications Middleware Summary and Conclusions 3 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 4 Middleware Functionality • • • • • • Transactions Security Management Internet Fault Management Load Balancing • Connectivity • Multiple Clients • Interface Representation • Messaging • Publish/Subscribe • Java Execution 5 Outline • • • • • • Middleware Definition and Functionality Evolution of Enterprise Computing Middleware Components Commercial Middleware Telecommunications Middleware Summary and Conclusions 6 Evolution of Enterprise Computing Late-1980s Internal users Private Corporate Network Dedicated facilities/ computer centers Limited customer/ external access Dedicated applications/ 3rd party DBMS E.g., Oracle 7 Evolution of Enterprise Computing 1995 Internal users Private Corporate Network Dedicated facilities/ computer centers Limited customer/ external access Outsourced “Enterprise Resource Planning” Apps e.g., PeopleSoft, BAAN 8 Evolution of Enterprise Computing 1997 Internal users Virtual Private Network ISP Mesh Outsourced Web Hosting Internet Dedicated Facility Outsourced ERP Apps External Customers 9 Evolution of Enterprise Computing 1997 Internal users P o r t a l Outsourced Web Hosting Search Caching Internet Ads Services EComm Virtual Private Network ISP Mesh Internet Dedicated Facility Outsourced ERP Apps External Customers 10 Evolution of Enterprise Computing 1999 3rd Party Facilities Mgmt P o r t a l Outsourced Web Hosting Search Cache Internet Ads Services EComm Applications Service Provider ISP Mesh VPNs Content Delivery “Net” Caching + Media Servers Customers 11 Outline • • • • • • Middleware Definition and Functionality Evolution of Enterprise Computing Middleware Components Commercial Middleware Telecommunications Middleware Summary and Conclusions 12 Elements of Traditional Middleware • Web applications infrastructure – Infrastructure for enabling distributed web- and Internetrelated 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 13 Relevent Commercial Techologies • 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 Areas of Concentration 14 Architectural Framework for Enterprise Applications UI/Navigation Tools HTML/Scripting Authoring Rapid Applications Development Component Creation Team Development Basic html Dyn html Forms Native Management Business Process Web Svr Trans- Msg actions Que Scripting Integrated Storage File Sys Distributed OS Environment Data- Mail Other base Store Stores Directory Security Networking Base Services 15 Generic Enterprise Middleware Architecture Client Enterprise Legacy Web Server N User e Interface t w o r Forms k Business Logic XACT/DBMS Computer Storage N e t w o r k E v e n t s C o n n e c t o r s Packaged Applications (SAP, Baan, PeopleSoft) Old Apps & Data Sets 16 Distributed Systems Model 1 2 3 Application Server Application Client ••• Application Database Server ••• ••• ••• Web browser Web Server 4 Database Server 17 Market Segments in Tiered Systems MOM Database Web Web browser Web Server DB Database Server MOM Client Application Application Database DB Application Server MOM Database Server 18 Market Segments in Tiered Systems COM/DCOM CORBA Java Java Database Server EJB EJB CORBA Web browser Java EJB EJB Client Java Application CORBA CORBA CORBA Application Server COM/DCOM COM/DCOM COM/DCOM COM/DCOM Web Server CORBA Java EJB Application EJB Database Server 19 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 20 Collaborative Applications: E.g., Lotus Notes • Document-oriented, replicated, semistructured “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 21 Multiagent Systems • System of autonomous computations that cooperate or compete through messageoriented 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 22 Component-Based Systems • Delivers object-to-object, component-tocomponent, 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) 23 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 24 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) 25 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 26 Event-Based Programming Message structure 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 Transactional Messages Perishable Messages Selection Criteria Timers Push or pull Peeking or browsing Message formats based on XML 27 Event-Enabled Enterprise • Business Events: semantically rich Business 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 28 Distributed DatabaseApplication Infrastructure • Delivers transaction management and interoperability 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) 29 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 30 Outline • • • • • • Middleware Definition and Functionality Evolution of Enterprise Computing Middleware Components Commercial Middleware Telecommunications Middleware Summary and Conclusions 31 Novell “Full Service Directories” Location Dynamic Naming Availability Membership Relationships Roles Contact Info Credentials Preferences Reality Community • Distributed Name Services • Centralized Indexed Search • Loose Consistency Replication • Fine-grained Discretionary Access Control • Extensible Schema Identity 32 BEA End-to-End Architecture Client Diversity JAVA App Server Business Logic: Process, Workflow, Rules IIOP Java Desktop BEA Apps OTM EJB Corba EJB Apps Microsoft Desktop (COM) Web HTML Network Resources Web Server Servlets BEA Weblogic App HTML Server Pages BEA Jolt JDBC BEA Apps TP Apps Monitor Apps Enterprise JAVA APIs Management & Security Legacy Systems Databases 33 Vitria’s Middleware Architecture • • • • • • 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 34 TIBCO Middleware Architecture Presentation (Event Console) Integration (Adapters, Content Broker) Connectivity (Connectors, Message Broker) System Monitoring & Management (Hawk) Messaging (ObjectBus, ETX, Rendezvous) 35 Java 2 Enterprise Edition Transactions JSPs Servlets Containers Messaging Mail Connectors EJBs Application Programming Model Applets JavaBeans Tools Java 2 SDK, Standard Edition CORBA RMI Database Naming/Directory • Distributed Applications built from Beans • JSP: Java Server Pages (mixed HTML and Java code) 36 Windows “DNA” Vision (Digital Nervous System) FS SQL Server Replication FS SQL Server Storage+ COM+ Xchg MTS Common: Transactions Scheduling Queuing Xchg MTS IIS MSMQ Methods & Events IIS COM+ MSMQ Windows Client Transparency Storage+ Windows Server 37 Oracle 8i Architecture • 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 38 Tivoli Enterprise Console Event Integration Collects information you need and displays it all in one place Cross-domain event Helps you determine the actual cause of correlation problems. Event Automation Automates corrective or preventative actions GUI Rule Builder Create correlation/automation rules with an easy-to-use i/f. Notification and Expands visibility of problems; time Escalation expiration to promote severity of significant events. Customizable event Group events according to polices and groups priorities Role-based delegation of Delegate to operators based on role or responsibility expertise. Centralized policy-based Centrally define how adapters filter/send configuration of adapters events Whole picture from a single console. Concentrate on real problems Automatically handle tedious chores Develop business rules without special skills Sends e-mail, pop-ups, pages to right people. Manage resources in business relevant way Staff concentrates on realm of responsibility Easy/efficient/consist ent configuration 39 Outline • • • • • • Middleware Definition and Functionality Evolution of Enterprise Computing Middleware Components Commercial Middleware Telecommunications Middleware Summary and Conclusions 40 New Developments in Telecommunications Middleware • User rather than enterprise-centric • Managing preferences, providing billing infrastructure for services • Importance of device- and networkindependence, location-awareness • Examples: – Microsoft Hailstorm – Sun ONE 41 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: userconsent 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 42 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 43 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. 44 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 45 Sun ONE Architecture • Open Network Environment (ONE) Motivation: – Migrate from large, monolithic app systems/desktoporiented client/server apps, to apps using a serviceoriented 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 46 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 47 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 48 What is a Smart Web Service? • Web service that understands situational context and shares context 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 49 Sun ONE Architecture 50 Web Services Architecture • Service Creation and Assembly: developer tools, assembly tools, policy tools, management tools • Web Services: business services, service components • Service Integration: access to resources and other services • Process Management: workflow, event processing • Service Container: run-time environment, persistence, state management • Service Interface: connection, location, discovery, communications • Service Platform: access to databases, directories, messaging services, virtual machines, operating systems, hardware, storage 51 52 Smart Web Services • Smart policy coordinates activities according to policies associated with identity, context, roles • Smart delivery aggregates, customizes, and personalizes service results based on context • Smart process uses context to affect business service workflow • Smart management ensures privacy, security, access rights based on specific situational context – Service properly registered/locatable thru service registries – Appropriate pay-per-use or subscription agreements in place and properly executed – Coordinate service provisioning and performs according to a minimum QoS as determined by SLAs or other criteria – Obtain mgmt and runtime policies from smart policy facilities 53 54 55 Standards Backplane • Smart Delivery supports multiple clients using devicespecific formats: HTML, XHTML, WML, VoiceXML. • Service Container provides run-time environment for Web services; type depends on service host platform • Smart Management: agents for devices; companies compete w/modular Web services for specific aspects • Smart Process enable context-sensitive choreography; Change outcome of macro service by dynamically altering sequences of micro service invocations based on request context, e.g., geography, jurisdiction, maturity of the business relationship • Smart Policy engine dynamically adapts processing, results according to rules considering user identity, auth levels, etc. 56 Outline • • • • • • Middleware Definition and Functionality Evolution of Enterprise Computing Middleware Components Commercial Middleware Telecommunications Middleware Summary and Conclusions 57 Summary and Conclusions • Emergence of significant commercial middleware architectures: CORBA, now eclipsed by COM/DCOM (Microsoft), Java (Sun) • New enterprise computing models based on Web presentation and Internet-based connectivity • Focus of much of commercial middleware: integration of processing from Web to backend database through event processing/format and protocol mediation 58 Summary and Conclusions • Newest proposals focus on user preference management, multi-access network and device access • “Intelligent Services” and agent-based processing • Whose proposals and technology will dominate? – Computer industry proposals – Telecomm equipment industry proposals 59