Download Towards Wireless Overlay Network Architectures

Document related concepts
no text concepts found
Transcript
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