berkeley-helsinki summer course lecture #3: middleware architectures
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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
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
Middleware Functionality
• Transactions• Security• Management• Internet• Fault Management• Load Balancing
• Connectivity• Multiple Clients• Interface
Representation• Messaging• Publish/Subscribe• Java Execution
6
Outline
• Middleware Definition and Functionality• Evolution of Enterprise Computing• Middleware Components• Commercial Middleware• Telecommunications Middleware• Summary and Conclusions
7
Evolution of Enterprise Computing
Private CorporateNetwork
Dedicated facilities/computer centers
Dedicated applications/3rd party DBMS
E.g., Oracle
Late-1980sInternal users
Limited customer/external access
8
Evolution of Enterprise Computing
Private CorporateNetwork
Dedicated facilities/computer centers
Outsourced“Enterprise Resource
Planning” Appse.g., PeopleSoft, BAAN
1995Internal users
Limited customer/external access
9
Evolution of Enterprise Computing
OutsourcedWeb Hosting
Dedicated FacilityOutsourcedERP Apps
1997Internal users
Internet
External Customers
Virtual Private Network
ISP Mesh
10
Evolution of Enterprise Computing
OutsourcedWeb Hosting
Dedicated FacilityOutsourcedERP Apps
1997Internal users
Internet
External Customers
Virtual Private Network
ISPMesh
InternetServices
SearchCachingAdsEComm
Portal
11
Evolution of Enterprise Computing
ApplicationsService Provider
1999
Customers
Content Delivery “Net”
3rd PartyFacilities Mgmt
Caching +Media Servers
InternetServices
SearchCacheAdsEComm
OutsourcedWeb Hosting
Portal
ISP Mesh
VPNs
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
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 ofConcentration
15
Architectural Framework for Enterprise Applications
Tools
HTML/ScriptingAuthoring
Rapid Applications Development
Component Creation
Team Development
UI/Navigation
Basic Dyn FormsNativehtml html
Business Process
Web Trans- Msg Script-Svr actions Queing
Integrated Storage
File Data- Mail OtherSys base Store Stores
DistributedOS
Environment
Management
Directory
Security
Networking
Base Services
16
Network
Generic Enterprise Middleware Architecture
Client Enterprise Legacy
Web Server
Business Logic
XACT/DBMS
Computer Storage
UserInterface
Forms
PackagedApplications(SAP, Baan,PeopleSoft)
Old Apps &Data Sets
Network
Events
Connectors
17
Distributed Systems Model
Client
Web browser
Web ServerWeb
Server
Appli-cation Server
Appli-cation Server
Appli-cationAppli-cation
Appli-cationAppli-cation
DatabaseServer
DatabaseServer
1 2 3 4
• •
••
•
•
• •
•• •
•
18
Client
Web
Market Segments in Tiered Systems
Database
Database
MOM
DB
DBM
OM
MOM
Web browser
Web ServerWeb
Server
Appli-cation Server
Appli-cation Server
Appli-cationAppli-cation
Appli-cationAppli-cation
DatabaseServer
DatabaseServer
19
Market Segments in Tiered Systems
Client
CORBA
EJB
CO
M/D
CO
M
Java
COM/DCOM
CORBA
Java
CO
RB
A
EJB
EJB
EJB
EJB
JavaCORBA
COM/DCOM
COM/DCOM
CORBA
Java
COM/DCOM
CORBA
Java
EJB
Web browser
Web ServerWeb
Server
Appli-cation Server
Appli-cation Server
Appli-cationAppli-cation
Appli-cation
Appli-cation
DatabaseServer
DatabaseServer
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
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
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
Novell “Full Service Directories”
RealityLocationDynamic NamingAvailability
CommunityMembershipRelationshipsRoles
IdentityContact InfoCredentialsPreferences
• Distributed Name Services
• Centralized Indexed Search
• Loose Consistency Replication
• Fine-grained Discretionary Access Control
• Extensible Schema
33
BEA End-to-End Architecture
BEA
OTM
Apps
EJB
Corba
BEA
TP
Monitor
Apps
Apps
AppsWebServer
BEAWeblogicAppServer
EJBApps
Servlets
HTMLPages
Databases
LegacySystems
IIOP
BEA Jolt
JDBC
JavaDesktop
MicrosoftDesktop(COM)
WebHTML
Enterprise JAVA APIs
Business Logic:Process, Workflow, Rules
Client Diversity JAVA App Server Network Resources
Management & Security
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
Messaging(ObjectBus, ETX,
Rendezvous)
Connectivity(Connectors,
Message Broker)
Integration(Adapters, Content
Broker)
TIBCO Middleware Architecture
Presentation(Event Console)
SystemMonitoring
&Management
(Hawk)
36
Java 2 Enterprise Edition
Tools Application Programming Model
Transactions
Messaging MailContainers
Con
nect
orsEJBs JSPs Servlets
Apple
tsJa
vaB
eans
Java 2 SDK, Standard Edition
CORBA RMI Database Naming/Directory
• Distributed Applications built from Beans• JSP: Java Server Pages (mixed HTML and Java code)
37
Windows “DNA” Vision(Digital Nervous System)
Storage+
FSSQL
ServerXchg
COM+
MTS IIS MSMQWindowsServer
Storage+
FSSQL
ServerXchg
COM+
MTS IIS MSMQ
WindowsClient
Common:TransactionsSchedulingQueuing
Tra
nsp
are
ncy
Methods &Events
Replication
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
Tivoli Enterprise Console
Event I ntegration Collects inf ormation you need and displays itall in one place
Whole picture f rom asingle console.
Cross-domain eventcorrelation
Helps you determine the actual cause ofproblems.
Concentrate on realproblems
Event Automation Automates corrective or preventativeactions
Automatically handletedious chores
GUI Rule Builder Create correlation/ automation rules with aneasy-to-use i/ f .
Develop business ruleswithout special skills
Notifi cation andEscalation
Expands visibility of problems; timeexpiration to promote severity ofsignifi cant events.
Sends e-mail, pop-ups,pages to right people.
Customizable eventgroups
Group events according to polices andpriorities
Manage resources inbusiness relevant way
Role-based delegation ofresponsibility
Delegate to operators based on role orexpertise.
Staff concentrates onrealm of responsibility
Centralized policy-basedconfi guration of adapters
Centrally define how adapters fi lter/ sendevents
Easy/ effi cient/ consistent confi guration
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 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
Sun ONE Architecture
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
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
55
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
Outline
• Middleware Definition and Functionality• Evolution of Enterprise Computing• Middleware Components• Commercial Middleware• Telecommunications Middleware• Summary and Conclusions
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
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