Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 [email protected]
Chapter 1 – Motivation
© Prof.Dr.-Ing. Stefan Deßloch
Layers of an Information System
n Separation of functionality into three conceptual layers
n presentation n application logic n resource (e.g., data) management
n Architecture of an IS n layers can be combined and distributed
in different ways n 1-tier, 2-tier, 3-tier, n-tier
n Challenges n distribution n autonomy n heterogeneity n performance & scalability n high availability n complexity n …
Middleware for Information Systems 2
presentation layer
application logic layer
resource management layer
client
information system
© Prof.Dr.-Ing. Stefan Deßloch
Middleware
n Middleware n supports the development, deployment, and execution of complex information
systems n facilitates interaction between and integration of applications
across multiple distributed, heterogeneous platforms and data sources n Two major aspects
n middleware as a programming abstraction n middleware as infrastructure
n Principles n make distribution transparent n support standardized APIs/languages/data formats to overcome platform
heterogeneity n application logic independent from infrastructure code n powerful programming abstractions
Middleware for Information Systems 3
© Prof.Dr.-Ing. Stefan Deßloch
Database Gateways n Uniform Database Access
n query language (SQL) n meta data n programming interface
n Dynamic, late binding to specific DB/DBS
n call level interface (CLI) n no vendor-specific pre-compiler
n dynamic binding of run-time libraries
n late query compilation n Simultaneous access to multiple
DB/DBMS n architecture supports use of
(multiple) DBMS-specific drivers n coordinated by a driver manager
n Support for vendor-specific extensions
Middleware for Information Systems 4
application
driver manager
Oracle driver
DB2 driver
…
O/JDBC API
© Prof.Dr.-Ing. Stefan Deßloch
Communication and Distributed Processing
n Distributed (Information) System n consists of (possibly autonomous) subsystems n jointly working in a coordinated manner
n How do subsystems communicate? n Remote Procedure Calls (RPC)
n transparently invoke procedures located on other machines
n Peer-To-Peer-Messaging n Message Queuing
n Transactional Support (ACID properties) for distributed processing n Server/system components are Resource Managers n (Transactional) Remote Procedure Calls (TRPC) n Distributed Transaction Processing
Middleware for Information Systems 5
© Prof.Dr.-Ing. Stefan Deßloch
RPCs and Transactions
n Example scenario for T: debit/credit n T invokes debit procedure (ST1),
modifying DB1 n T performs credit operation on DBS2,
modifying DB2
n Need transactional guarantees for T n Program structure of T
BOT CALL debit( … ) CONNECT (DB2) UPDATE ACCOUNTS SET … DISCONNECT EOT
n Requires coordination of distributed transaction
n based on 2PC
Middleware for Information Systems 6
presentation
application logic
resource management
client
DB1 DB2
ST1
DBS1
T
DBS2
P
distributed TA
© Prof.Dr.-Ing. Stefan Deßloch
X/OPEN – Standard for Distributed TA Processing
n Resource Manager n recoverable n supports external coordination of TAs using
2PC protocol (XA-compliant) n TA-Mgr
n coordinates, controls RMs n Application Program
n demarcates TA (TA-brackets)
n invokes RM services n e.g., SQL-statements
n in distributed environment: performs (T)RPCs
n Transactional Context n TRID generated by TA-Mgr at BEGIN n established at the client n passed along (transitively) with RM-requests, RPCs
Middleware for Information Systems 7
TX-Interface
XA-Interface
Resource-Mgr
TA-Mgr
Application
Request
Begin Commit Rollback
Join Prepare, Commit,
Rollback
(TM)
(RM)
(AP)
local environment
© Prof.Dr.-Ing. Stefan Deßloch
Application Middleware – Main Tasks
n Distributed computing infrastructure (RPC, RMI) n Transactional capabilities
n programming abstractions (demarcation) n distributed transaction management
n Security services n authentication, authorization, secure transmission, …
n Unified access to heterogeneous information sources and application systems n Scalable and efficient application processing
n large number of client applications or end users
n Reliability, high availability Programming model abstractions that allow the developer to focus on application logic (i.e., ignore infrastructure as much as possible)
Middleware for Information Systems 8
© Prof.Dr.-Ing. Stefan Deßloch
Types of Middleware
n RPC/RMI middleware infrastructure n basic development and execution support n additional services
n TP monitor n transaction management, TRPC n process management n broad set of capabilities
n Object broker (e.g., CORBA) n distributed object computing, RMI n additional services
n Object transaction monitor n … = TP monitor + object broker n most often: TP monitor extended with object-oriented (object broker) interfaces
n Component Transaction Monitor n … = TP monitor + distributed objects + server-side component model
Middleware for Information Systems
TP-Monitor
…
scheduler
server class
server server server
server class
server server server
…
DBMS
9
© Prof.Dr.-Ing. Stefan Deßloch
4-Tier Distributed Computing in J2EE
Middleware for Information Systems 10
© Prof.Dr.-Ing. Stefan Deßloch
Important Services for Distributed IS
n Transactions n explicit n implicit/declarative
n Data Access n persistence n relationships n query
n Security
Middleware for Information Systems 11
© Prof.Dr.-Ing. Stefan Deßloch
XML Data Access, Processing, Transformation
Meta Object Facility
Unified Modeling Language
XML Metadata Interchange
UnicodeStandardized Generalized Markup Language
Document Type Definition
eXtensible Markup Language
XML Schema XML NamespaceXHML
Cascading Style Sheets
XML Link XML Pointer XPath XQuery
XSL
XSLT XSL-FO
Middleware for Information Systems 12
© Prof.Dr.-Ing. Stefan Deßloch
Web Services
n New distributed computing platform built on existing infrastructure including XML & HTTP
n Web services are for B2B what browsers are for B2C
n Self-contained, self describing, modular service that can be published, located and invoked across the web
n Refer to open standards and specifications: n component model (WSDL) n inter-component model communication (SOAP) n discovery (UDDI)
n Platform- and implementation-independent access n Described, searched, and executed based on XML
n Enable component-oriented applications n Loose coupling from client to service n Enable to integrate legacy systems into the web n Useful for other distributed computing frameworks such as Corba, DCOM, EJBs
Middleware for Information Systems 13
© Prof.Dr.-Ing. Stefan Deßloch
Web Service System Architecture
Middleware for Information Systems 14
Web Service
Middleware
Backend/Host Adapter
Client Site
Firewall
Backend Site
Database Systems
SQL Proprietery Protocols
Legacy Systems
Business Partners
PDA Business Partners Web Browser
© Prof.Dr.-Ing. Stefan Deßloch
Service-Oriented Architecture (SOA)
n Service Requestor n Finds required services
via Service Broker n Binds to services
via Service Provider
n Service Provider n Provides e-business services n Publishes availability of these
services through a registry
n Service Registry n Provides support for publishing and
locating services n Like telephone yellow pages
Middleware for Information Systems 15
Service Provider
Service Registry
Service Requestor
Publish
Find
Bind
© Prof.Dr.-Ing. Stefan Deßloch
Standards
n UDDI n Universal Description, Discovery and Integration n Registry of and search for web services
n SOAP n Simple Object Access Protocol n Communication protocol
n WSDL n Web Services Description Language n Description of a service’s functionality
n XML n eXtensible Markup Language n Underlying basic representation approach
Middleware for Information Systems 16
© Prof.Dr.-Ing. Stefan Deßloch
Role of the WWW for IS
n Initial purpose: sharing information on the internet n technologies
n HTML documents n HTTP protocol
n web browser as client for internet information access n For Information Systems: connecting remote clients with applications
across the internet/intranet n "web-enabled" applications
n extend application reach to the consumer n leverage advantages of web technologies
n web browser as a universal application client n "thin client" n no application-specific client code has to be installed
n requirements n content is coming from dynamic sources (IS, DBS) n request to access a resource has to result in application invocation n session state: tracking repeated interactions of the same client with a web server
Middleware for Information Systems 17
© Prof.Dr.-Ing. Stefan Deßloch
Web-based IS - Overview
Middleware for Information Systems
WWW: World Wide WebHTML: HyperText Markup LanguageURL: Uniform Resource LocatorCGI: Common Gateway InterfaceHTTP: HyperText Transfer ProtocolJVM: Java Virtual MachineJSP: Java Server Page
v
w
x
y
z
|
{ }
WWW-Browser (Client)
#!/bin/perl print“Content-type #open connection $sth $rows #
HTML- documents,
010101010101 010101010101 010101010101 010101010101 010101010101
CGI-programs images,
Java-Applets
Comm.- Server
HTTP
Proxy- Server HTTP
Web-Server
DB- Client
persistent program cache
JSP
DB-Server
JVM
(server extensions)
Servlet
u
18
© Prof.Dr.-Ing. Stefan Deßloch
Outlook on EIS
n Data/Information Integration n integrated access to (heterogeneous) data originating from multiple sources
n queries range over date from multiple DBs!
n virtual integration: integrate on access/query (e.g., federated DBMS) n materialized integration: extract, transform, load data into a single materialized
data warehouse in advance (e.g., data replication, data warehousing) n needs a strong foundation to overcome multiple kinds of heterogeneity
n Enterprise Application Integration n integration of (heterogeneous, coarse-grained) applications within an enterprise
(vs. development of new application) n integration across different middleware platforms
n Business-to-business Integration n support interactions, integration of business processes among trading partners,
across company boundaries n foundation for e-business, e-commerce
Middleware for Information Systems 19