Middleware: a Model for Distributed System Services

Middleware: a Model for Distributed System Services

Various types of middleware are classified, their properties described, and their evo- lution explained, providing a conceptual model for understanding today’s and tomorrow’s distributed system software. Middle he computing facilities of large- control. Some servers are gateways to services offered scale enterprises are evolving into outside the enterprise, such as travel or information a utility, much like power and retrieval services, news feeds (e.g., weather, stock telecommunications. In the prices), and electronic document interchange with vision of an information utility, business partners. In response to such connectivity, each knowledge worker has a some businesses are redefining their business desktop appliance that connects processes to use the utility to bridge formerly isolated to the utility. The desktop appli- component activities. In the long term, the utility ance is a computer or computer-like device, such as a should provide the information that people need Tterminal, personal computer, workstation, word when, where, and how they need it. processor, or stock trader’s station. The utility itself is Today’s enterprise computing facilities are only an an enterprise-wide network of information services, approximation of the vision of an information utility. including applications and databases, on the local- Most organizations have a wide variety of heteroge- area and wide-area networks. neous hardware systems, including personal comput- Servers on the local-area network (LAN) typically ers, workstations, minicomputers, and mainframes. support files and file-based applications, such as elec- These systems run different operating systems (OSs) tronic mail, bulletin boards, document preparation, and rely on different network architectures. As a and printing. Local-area servers also support a direc- result, integration is difficult and its achievement tory service, to help a desktop user find other users uneven. For example, local-area servers are often and find and connect to services of interest. Servers isolated from the WAN. An appliance can access files on the wide-area network (WAN) typically support and printers on its local server, but often not those on access to databases, such as corporate directories and the servers of other LANs. Sometimes an application electronic libraries, or transaction processing appli- available on one local area server is not available on cations, such as purchasing, billing, and inventory other servers, because other departments use servers Philip A. Bernstein 86 February 1996/Vol. 39, No. 2 COMMUNICATIONS OF THE ACM Middle ware eware: A Model for Distributed System Services COMMUNICATIONS OF THE ACM February 1996/Vol. 39, No. 2 87 on which the application cannot run. So some appli- meters into a packet, and a server stub, which unmar- ances cannot access the application. Wide-area shals the packet into a local server call (see Figure 1). servers often can support only dumb terminals, which The client stub can marshal parameters from a lan- a desktop appliance must emulate to access a server. guage and machine representation different from Sometimes a desktop appliance can gain access to a the server stub’s, thereby enabling interoperation. An wide-area server only if a local-area server was explic- RPC implementation also includes a run-time library, itly programmed for access to the wide-area server. A which implements the protocol for message user may have to log into each server separately with exchanges on a variety of network transports, independently maintained passwords and through enabling interoperation at that level. At least one ven- different user interfaces, each with a different look dor (Microsoft) has implemented the protocol inde- and feel. Even if the desktop appliance can access a pendently (without using the OSF implementation) remote application, its spreadsheet or word processor yet can interoperate with other implementations. often cannot access data provided by that application As another example, many vendors have imple- without special programming. These are only some mented IBM’s 3270 protocol to interoperate with of the limitations of such systems. IBM mainframe applications. These vendors often In response to their frustrations in implementing support a programming interface different from what enterprise-wide information systems, large enterpris- IBM offers on its systems. But since they support the es are pressuring their vendors to help them solve same protocol, the systems can interoperate. heterogeneity and distribution problems. One way is To help solve customers’ heterogeneity and distri- by supporting standard programming interfaces. bution problems, and thereby enable the implemen- Standard programming interfaces make it easier to tation of an information utility, vendors are offering port applications to a variety of server types, giving distributed system services that have standard pro- the customer some independence from the vendors. gramming interfaces and protocols. These services In the past, supporting a standard programming lan- are called middleware services, because they sit “in the guage, such as Cobol or C, was enough, but not any- middle,’’ in a layer above the OS and networking soft- more. Today’s typical application may use database, ware and below industry-specific applications. communication, presentation, and other services, Like large enterprises, application developers also whose interfaces are not part of the language defini- have heterogeneity and distribution problems they tion. To port an application, these interfaces must be want vendors to solve. Developers want their applica- supported on the target platform. So users want inter- tions to depend only on standard programming inter- faces that are widely supported, that is, standard. faces, so the applications will run on most popular Increasingly, standard interfaces are important to systems. This increases their potential market and helps server vendors themselves. Customers buy applica- their large-enterprise customers who must run applica- tions, not servers. Customers will choose any server tions on different types of systems. Developers need that can run the applications they want. By support- higher-level interfaces, which mask the complexity of ing many standard interfaces, a vendor increases the networks and protocols and thereby allow developers to number of applications that run on their servers, focus on application-specific issues, where they are making their servers more attractive to customers. most qualified to add value. Since customers focus on buying applications, not the underlying computer sys- nother way vendors solve het- tems, vendors are anxious to meet these requirements erogeneity problems is by sup- so they can attract popular applications to their systems. porting standard protocols. As with large enterprises, vendors respond to applica- Standard protocols enable pro- tion developers by offering middleware. grams to interoperate. By inter- For many new applications, middleware compo- operate, we mean that a program nents are becoming more important than the underly- on one system can access pro- ing OS and networking services on which the grams and data on another sys- applications formerly depended. For example, new tem. Interoperation is possible only if the two systems applications often depend on a relational database sys- useA the same protocol, that is, the same message for- tem rather than on the OS’s record-oriented file system mats and sequences. Also, the applications running and on an RPC mechanism rather than on transport- on the systems must have similar semantics, so the level messaging (e.g., send-message, receive-message). messages map to operations that the applications In general, middleware is replacing the nondistributed understand. The systems supporting the protocol functions of OSs with distributed functions that use the may use different machine architectures and OSs, yet network (e.g., distributed database, remote file access, they can still interoperate. RPC). For many applications, the programming inter- For example, the Open Software Foundation’s Dis- face provided by middleware defines the application’s tributed Computing Environment (OSF DCE) fully computing environment. For example, many applica- specifies its remote procedure call (RPC) protocol. tions regard fourth-generation languages (4GLs), An implementation of DCE RPC includes a compiler transaction processing (TP) monitors (e.g., IBM’s that translates an interface definition into a client CICS, Digital’s ACMSxp), and office frameworks (e.g., stub, which marshals a procedure call and its para- Lotus Notes, Digital’s LinkWorks) in this way. 88 February 1996/Vol. 39, No. 2 COMMUNICATIONS OF THE ACM Middle ware IDL Development { Environment IDL source Application client IDL compiler Application server procedure procedure Language-specific Interface Language-specific call interface header call interface Client stubs Server stubs RPC API RPC API RPC run-time RPC protocols RPC run-time service library service library DCE directory services DCE security services Legacy applications, built before portable middle- describes their proper- ware became popular, can also benefit from middle- ties, and explains their Figure 1. Remote ware services. One can encapsulate the legacy evolution. The goal is to Procedure Call application as a set of functions and use communica- provide a conceptual architecture tions middleware services to provide remote access

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us