Presentation is loading. Please wait.

Presentation is loading. Please wait.

9 September 2008CIS 340 # 1 Topics reviewTo review the communication needs to support the architectures variety of approachesTo examine the variety of.

Similar presentations


Presentation on theme: "9 September 2008CIS 340 # 1 Topics reviewTo review the communication needs to support the architectures variety of approachesTo examine the variety of."— Presentation transcript:

1 9 September 2008CIS 340 # 1 Topics reviewTo review the communication needs to support the architectures variety of approachesTo examine the variety of approaches to handle the middle-interaction activities To describe the variety of activities constituting the interaction

2 9 September 2008CIS 340 # 2 Communication Options: How does code at client and server thread interact?? Synchronous Blocking engaged Parties wait until interaction concludes Client waits for a response EX: –Majority of middleware –Request/response Asynchronous No blocking details Parties need not wait Implies message storage for receiver to retrieve EX: –Information dissemination –Event notification –Publish/subscribe

3 9 September 2008CIS 340 # 3 Downside of Synchronization Waiting time and resource consumption swapped out Shortage of connections (possible) if too many outstanding calls to the “serving” system each call makes a connection Integration burden tightly integrated, linked Fault intolerant Both calling & called systems must be online Increased maintenance management e.g. Upgrades would require both sides to be offline must disable both in order to “touch” one side

4 4 Middleware emergence Distributed computing evolved from single-tier (terminal/mainframe) to 2-tier (client-server) to n-tier architecture To support heterogeneous environments open networking standards were introduced (i.e. OSI) How do we build/connect applications over a network? Answer: middleware

5 5 N-tier architecture More scalable architecture that separates processing to different servers

6 6 What is Middleware? Middleware enables applications running across multiple platforms to communicate with each other. –Hides complexity and heterogeneity of distributed system Middleware shields the developer from dependencies on Network Protocols, OS and hardware platforms. –Bridges gap between low-level OS communications and programming language abstractions Middleware is a software layer that lies between the operating system and the applications on each site of the system. –Provides common programming abstraction and infrastructure for distributed applications

7 Network Operating system Middleware Application components Applications Layering a computing infrastructure

8 9 September 2008CIS 340 # 8 Programming abstractions (1) Programming languages and almost any form of software system evolve always towards higher levels of abstraction Hiding hardware and platform details More powerful primitives and interfaces Leaving difficult task to intermediarie compilers optimizers automatic load balancing automatic data partitioning and allocation Reducing the number of programming errors Reducing the development and maintenance cost of the applications developed by facilitating their portabilityDef:

9 9 September 2008CIS 340 # 9 Programming abstractions (2) Middleware (MW) is primarily a set of programming abstractions developed to facilitate the development of complex distributed systemsDef:

10 9 September 2008CIS 340 # 10 Middleware (MW) Basic functioning expectations Ease of use Compared to DIY with programming low- level sockets Location transparency Applications should be network widgets, ignorant of network addresses Message-delivery integrity No loss or duplication of messages Message-format integrity No damage to the message content Language transparency Applications should not be bound to a language – or by extension – to a vendorDef:

11 9 September 2008CIS 340 # 11 Notion of Transparency Why is it important / relevant? Consider electricity and wall plugs....

12 9 September 2008CIS 340 # 12 Types of Middleware 1.RPC-based systems 2.TP monitors 3.Object brokers 4.Object monitors 5.Message-oriented middleware 6.Message brokers Industry exemplar ? How do these work?

13 9 September 2008CIS 340 # 13 The Generative Phases of Middleware Remote Procedure Call sockets TCP, UDP Internet Protocol (IP) Remote Procedure Call: hides communication details behind a procedure call helps bridge heterogeneous platforms sockets: operating system level interface to the underlying communication protocols TCP, UDP: User Datagram Protocol (UDP) transports data packets without guarantees Transmission Control Protocol (TCP) verifies correct delivery of data streams Internet Protocol (IP): moves a packet of data from one node to another Transactional RPC Object oriented RPC (RMI) Asynchronous RPC TP-Monitors Object brokers Message brokers Application servers Specialized forms of RPC typically with additional functionality or properties almost always running on RPC platforms

14 Middleware as infrastructure 9 September 2008CIS 340 # 14

15 Infrastructure As the programming abstractions reach higher and higher levels, the underlying infrastructure implementing the abstractions must grow accordingly –Additional functionality is almost always implemented through additional software layers –The additional software layers increase the size and complexity of the infrastructure necessary to use the new abstractions The infrastructure is also intended to support additional functionality that makes development, maintenance, and monitoring easier and less costly –RPC => transactional RPC => logging, recovery, advanced transaction models, language primitives for transactional demarcation, transactional file system, etc. –The infrastructure is also there to take care of all the non-functional properties typically ignored by data models, programming models, and programming languages performance, availability, recovery, instrumentation, maintenance, resource management, etc. 9 September 2008CIS 340 # 15

16 9 September 2008CIS 340 # 16

17 9 September 2008CIS 340 # 17 Coming next.... Project 1

18

19 9 September 2008CIS 340 # 19 Remote Procedure Call (RPC): Functionality of Stubs BINDINGMARSHALINGSERIALIZINGSENDING RECEIVINGDESERIALIZINGUNMARSHALING Client process Creates a local association – handle – to the server Think of “binding a variable” Client process Packages data into message format needed by the recipient server Client process Transforms data/message into bytes Server process Undoes the steps

20 9 September 2008CIS 340 # 20 Synchronous Call Behavior Simple design Calling thread state is known, unchanging

21 9 September 2008CIS 340 # 21 Asynchronous Call Behavior via Queues “message memory” -- holding area

22 9 September 2008CIS 340 # 22 For the Record: Industry exemplar ? What vendor might you recommend for a company within the industry? Why would it be a good fit – what details do you have about the vendor, the MW capability, the industry? PERSONINDUSTRYMW-TYPE BobRetailMOM FinancialTransProc PatManufacturingObject MW MilitaryRPC MW VitoloHealth care

23 9 September 2008CIS 340 # 23 Advantages DDBMS Advantages, Disadvantages

24 9 September 2008CIS 340 # 24 Disadvantages DDBMS Advantages, Disadvantages


Download ppt "9 September 2008CIS 340 # 1 Topics reviewTo review the communication needs to support the architectures variety of approachesTo examine the variety of."

Similar presentations


Ads by Google