25
Middleware Fatemeh Hendijanifard 1 د ن م ش و ه م هاي ت س سي گاه ش ي ما ز آ( http://ce.aut.ac.ir/islab )

Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

  • View
    224

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Middleware

Fatemeh Hendijanifard

1آزمايشگاه سيستم هاي هوشمند

(http://ce.aut.ac.ir/islab)

Page 2: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Middleware Definitions

“The glue which connects objects which are distributed across multiple

heterogeneous computer systems”

“ An extension of the operating system which provides a transparent communication layer to the applications”

“ A software layer that serves to shield the application of the heterogeneity of the underlying computer platforms and networks”

Page 3: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Categories

Transactional (Distributed Tuples)

Message oriented (Message-Oriented Middleware)

Procedural (Remote Procedure Call)

Object (Distributed Object Middleware)

3آزمايشگاه سيستم هاي هوشمند

(http://ce.aut.ac.ir/islab)

Page 4: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Transactional middleware tuple (SQL)ارایه مفهوم انتزاعی از

(DTP protocol )انجام تراکنش های توزیع شده Message oriented (MOM)

mailbox ارایه مفهوم انتزاعی از پیغام های آسنکرون

Procedural (RPC)procedure مفهوم انتزاعی از

تعامل سنکرون بین کاربر و کارگزار Object and component

objectمفهوم انتزاعی از تعامل )آ(سنکرون بین کاربر و کارگزار

Page 5: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Examples

XML-RPC

SOAP

CORBA

(D)COM

.NET

Page 6: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Transactions on distributed relational database

IBM CICS

BEA Tuxedo

LDAP (simple protocol to access remote directories, no transactions)

Page 7: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Message oriented middleware

Java Message Queue

IBM MQSeries

Page 8: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Remote procedure calls (RPC)

Unix RPC’s DCE RPC (Distributed Computing Environment)

Windows RPC’s

XML-RPC

Page 9: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Object middleware

CORBA

ActiveX

COM, DCOM

Java RMI, Enterprise Java Beans

Page 10: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Middleware examples

XML-RPC, SOAP RPC on top of HTTP

CORBA Distributed objects

COM / DCOM Microsoft’s Component Object Model

.NET Microsoft’s answer to J2EE

Page 11: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

CORBA

Support for distributed object application.Allows remotely located objects to communicate with each other.

Real name: (Object Management Group’s Common Object Request Broker Architecture) : OMG’s CORBA

Page 12: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

CORBA (cont. )

Introduced in 1991 by OMG Uses C/S models where clients issue requests to objects. (any object can be C or S or both)

Any interaction between objects is through requests.

Supports static binding. (identify objects at compile time)

An Interface Definition Language (IDL) has been defined specially for CORBA.

Page 13: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

CORBA (cont. )

>800 companies: www.omg.org

Conceptual view:

Page 14: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

CORBA (cont. )

Static interfaces

Specific for each object type

Dynamic interfaces

Same interface independent of target object

Object adapter

Object references, object (de) activation, method invocation... ,

Page 15: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Page 16: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

ActiveX

Introduced by Microsoft at 1996.As a complete environment for components and distributed objects.

Server facilities such as SQL servers and legacy access gateways can be invoked from ActiveX.

Web technologies( java applets, browsers) can be intermixed with desktop tools( word

processor) for distributed applications .

Page 17: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

C/S Middleware to Access the

Data Warehouse

Page 18: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

MVS-DB2 warehouse

UNIX-RDBMS warehouse

PS2 RDBMS warehouse

PC Client 1 .DRDA for exchange protocol

2 .ODBC for API

1.DRDA for DB2 on UNIX

2.Proprietary exchange protocols for other RDBMSs

3.ODBC for API

1.DRDA for DB2 on PS2

2.Proprietary exchange protocols for other RDBMSs

3.ODBC for API

UNIX Client 1.DRDA for exchange protocol

2 .proprietary for API

1.DRDA for DB2 on UNIX

2.Proprietary exchange protocols for other RDBMSs

3 .Proprietary for API

1.DRDA for DB2 on PS2

2.Proprietary exchange protocols for other RDBMSs

3 .Proprietary for API

Mac Client

Page 19: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

C/S Middleware to Access the Data Warehouse

ODBC may be used widely to access data warehouse databases from different database vendors.

DRDA may be used in centralized data warehouses to access DB2 data from client tools from different vendors.

Proprietary exchange protocols from different C/S vendors such as EDA/SQL, Informix,

Oracle and Sybase may be used .

Page 20: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

More Details of the other two middle wares

ONC RPC

SOAP

XML-RPC protocol!?

Page 21: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

XML-RPC protocol

Uses XML to transmit and receive RPC’s

Defines the bare minimum to get RPC’s across the network

Based on HTTP with the POST method

Request is an XML document containing a method name and parameters

Response is an XML document with returned values

Page 22: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

SOAP (Simple Object Access protocol) Successor of XML-RPC

HTTP Header Content-Type: text/xml

Content-Length must be specified and correct User agent must be specified

Host must be specified Document content Root <methodCall>

Contains name of method: <methodName> Contains list of parameters: <params>

Each parameters is a pair <param>, <value> Data types supported

String, integer, float, date, binary, boolean Array, struct

Page 23: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Related topics

Evaluation

Marketing

Page 24: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Page 25: Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (

Examples of Middleware

Database access technology - e.g ODBC (Open Data Base Connectors) Java’s database connectivity API : JDBC

Remote computation products - e.g ONC RPC, OSF RPC and RMI (Java Remote Method Invocation)

Distributed Computing Environment (DCE) products, Common Object Request Broker Architecture (CORBA), Distributed Component Object Model (DCOM)TP - Monitors