Review for Final 95-702 Chapter 1 Characterization of distributed systems. Challenges in constructing distributed systems Chapter 2 Architectural Models Design requirements for distributed architectures 2.2.5 Fundamentals Models Agreement in Pepperland pg. 51 Failure detection in Peperland pg. 54 Pepperland agreements in the presence of failures pg. 54 Lamport Clocks and distributed databases Chapter 3 Networking and Internetworking Network Principles packet transmission data streaming switching schemes protocols protocol layers packet assembly ports addressing packet delivery datagrams and virtual circuits routing RIP algorithm Routers, bridges, hubs, switches, tunneling Internet Protocols IP addressing IP protocol ARP Routing on a local subnet Unregistered addresses and network address translation TCP and UDP Ethernets WiFi Chapter 4 Synchronous and asynchronous communications TCP and UDP failure models UDP socket programming in Java TCP socket programming in Java Marshalling and unmarshalling using CORBA's CDR Java serialization XML elements and attributes XML namespaces XSDL schemas Remote object references Request reply protocol Request Reply Message structure RPC exchange protocols UDP implementation of the request reply protocol pg. 158 TCP implementation of the request reply protocol pg. 160 HTTP Request reply page 160 Chapter 5 Interfaces IDL's The distributed object model Figure 5.4 looks like an Enterprise Java Bean with the circle providing services Design issues for RMI Invocation semantics Generic RMI implementation Events and notifications Java RMI case study Java RMI distributed white board Chapter 19 Web Services IDL expressed in WSDL Registries UDDI URI's, URL's, URN's Transports that use SOAP Synchronous and asynchronous SOAP Document style and RPC style SOAP The use of the SOAP header The use of the SOAP body WS-Addressing The WS ShapeList interface WSDL abstract part WSDL concrete part MEPS JAXR UDDI Data Structure The Grid and the Globus Toolkit Chapter 6 Operating System Support Functions of operating systems Network OS Distributed OS OS Support for Distributed Systems Thread, memory, communication, and process management The role of the supervisor The worker pool architecture Threads and processes Factors affecting RMI/RPC performance Implementation of Invocation semantics Chapter 7 Security Policies and mechanisms Threat categories Attacks Assumptions and guidelines Cryptographic notation Symmetric vs. asymmetric encryption Four scenarios Digital certificates and X509 format Symmetric key signatures Needham-Schroeder Authentication Kerberos SSL or TLS SSL client and server authentication Chapter 9 Naming Java Naming and Directory Interface (JNDI) Naming Concepts Conventions, Bindings, Context, Directory service The javx.naming package EJB Slides Reasons for using EJB's Interposition Entity beans (CMP,BMP) Session Beans (stateful, stateless) Message driven beans Local, remote and home interfaces Naming concepts Bean deployment JNDI JMS Web services and EJB's .Net Remoting Slides C# programming Type unification Single Call objects Singleton objects Client activated objects Chapter 20 CORBA CORBA services CORBA histroy and goals Corba IDL idl2java Transactions Local transactions using Java/JDBC Distributed transactions using two phase commit Related technologies Be able to discuss code associated with projects Tomcat, servlets and JSP JNDI JDK6 JAX-WS, apt, wsimport Request, Session and application scope The Java keytool, keystore and truststore SSL socket programming Microsoft C# and .NET Remoting wsdl.exe MBR and MBV remoting IIS and Web Services