200 likes | 226 Views
Learn about logical and physical models of middleware, including point-to-point and many-to-many approaches. Explore synchronous and asynchronous middleware, connection-oriented vs. connectionless communication, and various middleware types such as RPC, message-oriented, distributed objects, and more.
E N D
Introduction to Middleware IST 421 Spring 2004 Lecture 4
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 • Depicts 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 to change messages as they flow through • Examples: • MOM products – MQSeries • RPCs like DCE • Advantage: simple MOM = message-oriented middleware RPC = remote procedure calls
Logical Middleware Model • Point-to-Point Middleware • Does not represent an effective B2B integration solution
Logical Middleware Model • Many-to-Many Middleware • Most powerful middleware model providing flexibility and ability to solve integration problem • Examples: • Message brokers • Transactional middleware • Application servers • TP monitors • Distributed objects • Disadvantage: Complexity
Logical Middleware Model • Many-to-Many Middleware
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 • Advantage: does not block application processing
Synchronous vs. Asynchronous • Synchronous middleware • Tightly coupled 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 • Synchronous processing • 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 “fires 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