中间件技术周传生Chapter01 -- Middleware课件
1,Middleware - Agenda,Network Environment Challenges of Network Application What is Middleware? Categories of Middleware,2,Network Environment - 1,What is Network Environment? Basic Features of Network Environment Basic Features of Network Application,3,Network Environment - 2,What is Network Environment? Network Environment is a cluster of computer systems which are connected, collaboration and work together to deal with certain tasks. It includes: Network equipments Computer hardware Network Operating System and software to support network operations.,4,Network Environment - 3,What is Network Environment?,5,Network Environment - 4,Basic Features of Network Environment Distribution Complexity Growth Heterogeneous Continues Evolution,6,Network Environment - 5,Basic Features of Network Application Sharing Opening Parallel Scalability Fault Tolerance Transparency,7,Network Environment - 6,Network Application - Sharing Once been authorized, the application can access any resources in the network environment. Including: Hardware Resources, Software Resources, Data Resources Resource Sharing Model describes: How to supply resources to others How resources been used How does consumers communicate with supplier,8,Network Environment - 7,Network Application - Opening Open for network environment extending Open for network environment enhancement Publish the interface details of component New component can integrate with existing system,9,Network Environment - 8,Network Application - Parallel Any component can be accessed by parallel process in the network environment The component can access and update the sharing resources in the network environment The parallel update needed to be controlled to make sure the sharing resources completeness in the network environment,10,Network Environment - 9,Network Application - Scalability Can support more consumers application Quickly responseby adding more best components Components not need changes during the network environment expanding The designed component should be suitable to the changes,11,Network Environment - 10,Network Application - Fault Tolerance The software fault, hardware fault and network fault occurs and cannot be avoid But can build fault tolerance mechanism by Recovery Redundancy,12,Network Environment - 11,Network Application - Transparency The network environment is treated as a whole for any application Applications do not look at any individual components in the network environment Including: Access Transparency, Location Transparency, Parallel Transparency, Copy Transparency, Fault Transparency, Migration Transparency, Performance Transparency, Scalability Transparency,13,Challenges of Network Application - 1,Communication Problem Heterogeneous Problem Location Problem Reliability Problem Security Problem Management Problem Maintenance Problem,14,Challenges of Network Application - 2,Network Application System,Challenges of Network Application - 3,App1,App2,App3,Server 1,Server 2,Server 3,Challenges of Network Application - 4,App 1,App2,App3,Server 1,Server 2,Server 3,Middleware,Challenges of Network Application - 5,18,What Is Middleware - 1,Middleware is defined as a layer of software above the operating system but below the application program that provides a common programming abstraction across a distributed system。 (MIDDLEWARE, David E. Bakken, Washington State University) Software that connects two otherwise separate applications ( ),19,What Is Middleware - 2,Middleware is defined as a layer of software between system software (Operating System and Network Software) and Applications to provide common communication across distributed systems (that is Interoperability) and allows the differences in each application, like the system architecture, operating system, communication protocol, database and other services different.,20,What Is Middleware - 3,21,Categories of Middleware - 1,Based on IDC, the Middleware can be categorized: RPC (Remote Procedure Call) Middleware Distributed Object Middleware Database Access Middleware Transaction Processing Middleware Message Oriented Middleware (MOM),22,RPC Middleware - 1,RPC - Remote Procedure Call RPC provides a mechanism to applications This mechanism allows distributed application: Make procedures call remotely Make remote procedures call transparently Make remote procedures call just like make local procedures call Data presentation, robust communication and service location termination Distributed Execution Environment,23,RPC Middleware - 2,Disadvantages of RPC Client and Server should be online at same time Client needs to know the calling interface on server site, if the interface changed, the client should change also. For example, the client access server site database, if the database changed(DB2-Oracle), the client site need change the database driver,24,RPC Middleware - 3,Disadvantages of RPC The connection between client and server should be keep alive until the o