Prereqs: 95-712 Object-oriented programming; 95-704 Telecomm Management,
95-703 Database Management
Objective: With the emergence of the Net as a computing platform, distributed applications are being widely deployed by organizations. Understanding the principles/theory and the technologies underlying distributed computing and systems design is increasingly important. Examples of technologies supporting such deployment include J2EE architecture, the .Net architecture and Web services.
This course has three major objectives. First, it is designed to introduce students to the principles underlying distributed computing and the design of distributed systems. Second, it aims to provide students with the opportunity to exercise these principles in the context of real applications by having the students use technologies such as XML, SOAP, Web services, and J2EE/.Net-based application servers. Finally, it seeks to endow students with the capacity to analyze, design, evaluate and recommend distributed computing solutions skills in response to business problems.
Inter-process communication
Distributed objects and remote invocation
Naming and Name services
Time and Global State Management
Transactions and Concurrency control
Distributed Transactions
Material on principles of distributed systems can be taught from books such as Tannenbaum and Steen or the Couliris et al. book on Distributed Systems.
Extensions of the Java Distributed Object model and the DCOM component-based architectures
Web Services: WSDL, UDDI, SOAP, XML
http-based RPC combined with standards for interface definition and naming.
Discussion and application of select API’s from the API layer of the J2EE architecture to illustrate distributed transactions, middleware access protocols (MQ Series API), and Messaging services (JMS).
Project oriented teaching with implementation components to get students hands on skills with J2EE/.Net frameworks.