CPE731 Middleware for Distributed Systems Pruet Boonma pruet@eng.cmu.ac.th Department of Computer Engineering Faculty of Engineering, Chiang Mai University Based on materials from Tanenbaum s Distributed Systems
In this week 2 Software Concepts Network OSs Distributed OSs Middleware Middleware Models Openness
3 Software Concepts DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware System Description Main Goal DOS NOS Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Hide and manage hardware resources Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency
4 Uniprocessor Operating Systems Separating applications from operating system code through a microkernel Can extend to multiple computers
Network Operating System 5 OSes can be different (Windows or Linux) Typical services: rlogin, rcp Fairly primitive way to share files
Network Operating System 6 Can have one computer provide files transparently for others (NFS) (try a df on the WPI hosts to see. Similar to a mount network drive in Windows)
Network Operating System 7 Different clients may mount the servers in different places Inconsistencies in view make NOS s harder, in general for users than DOS s. But easier to scale by adding computers
Distributed Operating Systems 8 But no longer have shared memory Provide message passing Can try to provide distributed shared memory But tough to get acceptable performance
9 Distributed System as Middleware
Positioning Middleware 10 Network OS s are not transparent. Distributed OS s are not independent of computers. Middleware can help.
11 Middleware Models View everything as a file - Plan 9. Less strict distributed file systems. Make all procedure calls appear to be local Remote Procedure Calls (RPC). Distributed objects (oo model). The Web distributed documents.
Middleware and Openness 12 1.23 In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. If different, there will be compatibility issues If incomplete, then users will build their own or use lower-layer services (frowned upon)
Comparison between Systems 13 Item Distributed OS Multiproc. Multicomp. Network OS Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS 1 N N N Basis for communication Resource management Shared memory Global, central Middleware -based OS Messages Files Model specific Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open
14 CORBA Supported by HP, IBM, Novell, Netscape, Oracle, Sun Object Request Broker (ORB) - Defines Object Model - Component Client or Server? - Location Transparency
15 Interface Definition Language (IDL) Platform, Language independent Specifies services by object Error Handling Superset of C++ Client IDL - communicate static interfaces - routes client invoked local methods
IDL Format 16 module <identifier> { /* define a naming context */ <type declarations>; <constant declarations>; <exception declarations>; interface <identifier> [:<inheritance>]{ /* class definition */ <type declarations>; <constant declarations>; <attribute declarations>; <exception declarations>; } [<op_type>]<identifier>(<parameters>)/* method declaration */ [raises <exception>] [<context>];... [<op_type>]<identifier>(<parameters>)/* method declaration */ [raises <exception>] [<context>]; /* more interfaces here */
Client /Server System 17 Server Server Client Client Client Client
18 IDL Client IDL(cont d) Dynamic Invocation Interfaces Server IDL - denote static interfaces - similar to Client IDL stubs
How CORBA works 19 How objects locate another - Naming Service(Unique signature) - Trader Service Of interest CORBAservices(system level) CORBAfacilities(V/H frameworks)
Case Study: Nike Order Tracking 20 Oracle DB2 Custom protocol SLOW Data via FTP Data via EZBridge terminal SunOS MVS
Case Study: Nike 21 Oracle DB2 Custom protocol Data via FTP RPC EZBridge terminal Solaris MVS SunOS
CORBA CORBA Case Study: Nike 22 Oracle DB2 Data via FTP Custom protocol terminal Solaris MVS
DCOM 23 Created by Microsoft Similarity - uses IDL - separates interface from functionality - interfaces allow transparency Differences - Objects as collection of interfaces - Runtime naming/trading devices - Multiple inheritance of interfaces
24 Advantages of CORBA - Portable - Faster - ORB integrates with C++ objects, JAVA - Dominant Model - Open Standard in Distributed Computing