Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Berkeley-Helsinki Summer Course Lecture #3: Middleware Architectures Randy H. Katz Computer Science Division Electrical Engineering and Computer Science.

Similar presentations


Presentation on theme: "1 Berkeley-Helsinki Summer Course Lecture #3: Middleware Architectures Randy H. Katz Computer Science Division Electrical Engineering and Computer Science."— Presentation transcript:

1 1 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

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

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

4 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 5 Middleware Functionality Transactions Security Management Internet Fault Management Load Balancing Connectivity Multiple Clients Interface Representation Messaging Publish/Subscribe Java Execution

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

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

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

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

10 10 Evolution of Enterprise Computing Outsourced Web Hosting Dedicated Facility Outsourced ERP Apps 1997 Internal users Internet External Customers Virtual Private Network ISP Mesh Internet Services Search Caching Ads EComm PortalPortal

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

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

13 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 14 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

15 15 Architectural Framework for Enterprise Applications Tools HTML/Scripting Authoring Rapid Applications Development Component Creation Team Development UI/Navigation BasicDynFormsNative htmlhtml Business Process WebTrans- MsgScript- Svractions Queing Integrated Storage FileData-MailOther SysbaseStoreStores Distributed OS Environment Management Directory Security Networking Base Services

16 16 NetworkNetwork Generic Enterprise Middleware Architecture ClientEnterpriseLegacy Web Server Business Logic XACT/DBMS Computer Storage User Interface Forms Packaged Applications (SAP, Baan, PeopleSoft) Old Apps & Data Sets NetworkNetwork EventsEvents ConnectorsConnectors

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

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

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

20 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 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 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 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 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 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 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 27 Event-Based Programming 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

28 28 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

29 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 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 31 Outline Middleware Definition and Functionality Evolution of Enterprise Computing Middleware Components Commercial Middleware Telecommunications Middleware Summary and Conclusions

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

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

34 34 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

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

36 36 Java 2 Enterprise Edition ToolsApplication Programming Model Transactions MessagingMail Containers Connectors EJBsJSPsServlets Applets JavaBeans Java 2 SDK, Standard Edition CORBARMIDatabaseNaming/Directory Distributed Applications built from Beans JSP: Java Server Pages (mixed HTML and Java code)

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

38 38 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

39 39 Tivoli Enterprise Console

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

41 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 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 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 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 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 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 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 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 49 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

50 50 Sun ONE Architecture

51 51 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

52 52

53 53 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

54 54

55 55

56 56 Standards Backplane Smart Delivery supports multiple clients using device- specific 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.

57 57 Outline Middleware Definition and Functionality Evolution of Enterprise Computing Middleware Components Commercial Middleware Telecommunications Middleware Summary and Conclusions

58 58 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 back- end database through event processing/format and protocol mediation

59 59 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


Download ppt "1 Berkeley-Helsinki Summer Course Lecture #3: Middleware Architectures Randy H. Katz Computer Science Division Electrical Engineering and Computer Science."

Similar presentations


Ads by Google