170 likes | 190 Views
Explore the logical and physical models of middleware and the synchronous vs asynchronous approaches. Learn about various middleware types including RPC, message-oriented, distributed objects, database-oriented, transaction-oriented, and message brokers.
E N D
Introduction to Middleware IST 421 Spring 2003 Lecture 8
Middleware • Allows one entity (application or database) to communicate with another entity or entities. • Originally designed for intra-enterprise integration • New demand for inter-enterprise integration
Middleware Models • Logical • How the information moves conceptually • Physical • Depicts the actual method of information movement • Technology employed
Logical Middleware Model • Point-to-Point Middleware • Allow one application to line to another • Uses a procedure call or message • Limited to 1-to-1 application • No middle tier processing – logic or change messages as they flow through • Examples: • MOM products – MQSeries • RPCs like DCE • Need a shared, centralized server • Simple MOM = message-oriented middleware RPC = remote procedure calls
Logical Middleware Model • Many-to-Many Middleware • Most powerful middleware model • Examples: • Message brokers • Transactional middleware • Application servers • TP monitors • Distributed objects
Synchronous vs. Asynchronous • Asynchronous middleware • Moves information between one or many applications • Decoupled from the source or target applications • Message is placed in a queue, response coming at later time
Synchronous vs. Asynchronous • Synchronous middleware • Tightly couples to applications • Applications are dependent on the middleware to process one or more function calls at a remote application • This makes the calling application halt processing in order to wait for the remote application response • Call this “blocking” type middleware • Uses a lot of bandwidth on the network
Connection-Oriented & Connectionless • Direct Communications • accept message from calling program & pass it to remote program • Most RPC • Queued Communications • Require queue manager to place message in queue • Remote application retrieves message • MOM product
Connection-Oriented & Connectionless • Publish / Subscribe • Application shares information with pub/sub engine • Engine redistributes to interested applications • Request / Response • Request is made to application • Middleware responds to the request • Message broker or application server
Connection-Oriented & Connectionless • Fire-and-Forget • Middleware user “fire off” message • “forget” about it • Not concerned if it was received • Broadcast specific types of messages to multiple recipients bypassing auditing and response features • Asynchronous approach
Middleware Types • RPC (Remote Procedure Call) • Easiest to understand & use • Invoke a function within one program & have the function execute within another program on a remote machine • Synchronous process • Best know RPC is the Distributed Computing Environment (DCE) from the Open Software Foundation (OSF)
Middleware Types • RPC (Remote Procedure Call) cont. • DCE is not scalable & difficult to administer • RPCs not well-performing • Require tremendous processing power
Middleware Types • Message-Oriented • MOM is queuing software • Units of information move between applications • Decoupled from applications • Asynchronous communication • Messages have structure (schema) & content (data) • MOM supports point-to-point & message queuing • IBM’s MQSeries & Microsoft MSMQ
Middleware Types • Distributed Objects • CORBA & COM 2 types of distributed objects in use • CORBA (Common Object Request Broker Architecture) is a standard • Rules for developers to follow when creating distributed objects • COM is Microsoft distributed object standard
Middleware Types • Database-Oriented • Facilitates communications with a database • Works with 2 database types: • CLIs – ODBC or JDBC • Native database middleware
Middleware Types • Transaction-Oriented • TP monitors & application servers • Not as effective at simple information sharing • Tend to be tightly coupled
Middleware Types • Message Brokers • “nirvana” of B2B integration • Move information between multiple applications • Account for differences in semantics and platforms • Use common rules and routing engines • Transform schema & content as it flows between applications & databases