Review for Final 95-702 The exam is comprehensive but most questions will be from the second half of the course. Chapter 1 Introduction Characterization of distributed systems. Challenges in constructing distributed systems Chapter 2 Models and Architecure 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 Browser based programming Javascript Ajax 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 Web service security 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 Interprocess Communication 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 Distributed Objects 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 7 Security Policies and mechanisms Threat categories Attacks Assumptions and guidelines Cryptographic notation Symmetric vs. asymmetric encryption Block ciphers RSA Public/private keys Four scenarios Digital certificates and X509 format Symmetric key signatures Needham-Schroeder Authentication Kerberos SSL or TLS SSL client and server authentication Web Service Security (Bilal Siddiqui) XML Encryption XML Digital Signature Android Android's Component Model Android looper and message queue Android Interprocess Communications (Intents and Remote Methods) Chapter 11 Time and Global States Global clocks Clock skew and drift Internal and external synchronization NTP Global State Snapshot algorithm Distributed debugging Lamport clock Chapter 9 Naming Java Naming and Directory Interface (JNDI) Naming Concepts Conventions, Bindings, Context, Directory service LDAP Guest lecture EJB Slides Reasons for using EJB's Interposition Entity beans (CMP,BMP) Session Beans (stateful, stateless) Message driven beans Local, remote and home interfaces JNDI JMS Web services and EJB's Transactions Local transactions using locks, Java/JDBC Distributed transactions using two phase commit Projects 1. Servlets, JSP Pages, Cryptographic hashing, Device awareness and content adaption, screen scraping 2. Concurrency, web services, knock knock protocol, sessions, Flickr's RESTful web service 3. TCP, Caesar's cipher, UDP Distributed objects, positive acknowledgement with retransmission, stubs, skeletons and registries 4. Java RMI, publish/subscribe design, cryptographic protocol 5. JDBC, Transactions, locks, calling web services from a servlet 6. JMS Queues and JMS Topics, passing queues in messages