Internet and Distributed Application Services Chapter 13 Systems Architecture, Fourth Edition 1 Objectives • Describe client-server and multi-tier application architecture and discuss their advantages compared to centralized applications • Explain how operating systems and network protocol stacks cooperate so users and programs can access remote resources • Describe low-level protocols for interprocess communication across networks, including sockets, named pipes, RPC, and DCE • List and describe standard Internet protocols used to access distributed resources • Discuss component-based application development and describe the protocols and standards that support componentbased applications • Explain the role and function of directory services and the LDAP standard Systems Architecture, Fourth Edition 2 Chapter Topics Systems Architecture, Fourth Edition 3 Distributed Computing • Client-server architecture is the current dominate architecture for distributed computing. Systems Architecture, Fourth Edition 4 Distributed Computing Client-server architecture is the current dominate architecture for distributed computing. Systems Architecture, Fourth Edition 5 Distributed Computing Client-Server Architecture: • A server manages one or more system resources and provides access to those resources through a well-defined communication interface. • A client uses the communication interface to request resources from the server. Systems Architecture, Fourth Edition 6 Distributed Computing 3-Layer Client-Server Architecture: • Data layer – manages stored data, usually in one or more databases • Business logic layer – implements the rules and procedures of business processing • View layer – accepts user input and formats and displays processing results Systems Architecture, Fourth Edition 7 Distributed Computing Systems Architecture, Fourth Edition 8 Network Resource Access Protocol Stacks: – Software that implements the lowest five levels of the OSI model. Systems Architecture, Fourth Edition 9 Network Resource Access Advantages of Protocol Stacks: • divide the task of network interaction into several well-defined pieces that can be separately implemented and installed • provide the flexibility needed to keep up with rapid protocol standard evolution • insulate application programs and many portions of the operating system from details of low-level network communication protocols. Systems Architecture, Fourth Edition 10 Network Resource Access Systems Architecture, Fourth Edition 11 Network Resource Access Accessing Remote Resources: • A static connection is initialized by the user or system administrator prior to accessing a remote resource. • A dynamic connection is created by the interaction between a resource locator and a primary resource registration repository. Systems Architecture, Fourth Edition 12 Network Resource Access Systems Architecture, Fourth Edition 13 Network Resource Access Systems Architecture, Fourth Edition 14 Interprocess Communication Systems Architecture, Fourth Edition 15 Interprocess Communication Peer-to-peer protocol: • Socket • Named Pipe • Remote Procedure Call Systems Architecture, Fourth Edition 16 Interprocess Communication Socket: • A socket is a unique combination of an IP number and a port number. • A port number is an unsigned 16-bit integer. (65,536 possible port numbers) Systems Architecture, Fourth Edition 17 Interprocess Communication Systems Architecture, Fourth Edition 18 Interprocess Communication Named Pipe: A named pipe has a name that is permanently placed within a file system directory and the ability to communicate among processes on different computers. Systems Architecture, Fourth Edition 19 Interprocess Communication Systems Architecture, Fourth Edition 20 Interprocess Communication Remote Procedure Call: With a remote procedure call protocol, a process on one machine can call a process on another machine. Systems Architecture, Fourth Edition 21 Interprocess Communication Remote Procedure Call: The calling process: • Passes parameters to the called process. • Waits for the called process to complete its task. • Accepts parameters back from the called process. • Resumes execution with the instruction following the call. Systems Architecture, Fourth Edition 22 Technology Focus Systems Architecture, Fourth Edition 23 The Internet Internet – a global collection of networks that are interconnected using TCP/IP. World Wide Web – a collection of resources that can be accessed over the Internet. Intranet – a private network that uses Internet protocols but is accessible only by a limited set of internal users. Systems Architecture, Fourth Edition 24 The Internet Standard Web Protocols and Services: • All resources are identifies by a unique Uniform Resource Locator (URL). • The URL has four parts: protocol, host, port and resource. Systems Architecture, Fourth Edition 25 The Internet Uniform Resource Locator: • Protocol – an optional header specifying the resource access protocol. • Host – the IP number or registered name of an Internet host computer or device. • Port – an optional port number that specifies the socket. • Resource – the complete path name of a resource on the host. Systems Architecture, Fourth Edition 26 The Internet Systems Architecture, Fourth Edition 27 Interprocess Communication Systems Architecture, Fourth Edition 28 Interprocess Communication Systems Architecture, Fourth Edition 29 Interprocess Communication In later versions of HTML, program code or scripts can be embedded within HTML documents. Systems Architecture, Fourth Edition 30 Interprocess Communication Systems Architecture, Fourth Edition 31 Interprocess Communication Systems Architecture, Fourth Edition 32 Components and Distributed Objects Component-Based Software: A component is a standardized and interchangeable software module that: – Is executable – Has a unique identifier – Has a well-known interface – Similar to objects within an OO program Systems Architecture, Fourth Edition 33 Components and Distributed Objects CORBA - Industry-wide component specifies the middleware used by objects to interact across the network. Two components: – Object Request Broker (ORB) – Internet Inter-ORB Protocol (IIOP) COM+ - a Microsoft specification for component interoperability. Systems Architecture, Fourth Edition 34 Components and Distributed Objects Differences between CORBA and COM+: • Components are not assigned a permanent identifier. • Components are registered in the Windows Registry of the client machine. Systems Architecture, Fourth Edition 35 Components and Distributed Objects Systems Architecture, Fourth Edition 36 Components and Distributed Objects Simple Object Access Protocol (SOAP): SOAP is a standard for distributed object interaction that attempts the shortcomings of both CORBA and COM+. Systems Architecture, Fourth Edition 37 Components and Distributed Objects Systems Architecture, Fourth Edition 38 Directory Services Lightweight Directory Access Protocol (LDAP): • An LDAP directory stores information about LDAP objects. • Each object is an instance of an objectclass. • An objectclass defines the attributes common to all member objects. • LDAP objects are organized in a hierarchy. Systems Architecture, Fourth Edition 39 Directory Services Systems Architecture, Fourth Edition 40 Technology Focus Systems Architecture, Fourth Edition 41 Technology Focus Systems Architecture, Fourth Edition 42 Summary • Modern information systems typically are distributed across many computer systems and geographic locations. • A network protocol enables user and applications to interact with resources and applications on remote computer systems. • Distributed processes must communicate with one another to exchange data and synchronize their activities. Systems Architecture, Fourth Edition 43 Summary • The Internet is a global network based on TCP/IP and many other protocols. • Component-based applications divide an application into many different cooperating processes or distributed objects. • With directory services, users, resources, and components can find one another on the Internet. Systems Architecture, Fourth Edition 44