COM 440 Distributed Systems Project List Summary



Similar documents
How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

Classic Grid Architecture

Distributed Objects and Components

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

Detailed Table of Contents

Middleware Lou Somers

Enterprise Application Integration

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

MESSAGING SECURITY USING GLASSFISH AND OPEN MESSAGE QUEUE

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Architectural Overview

Event-based middleware services

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

1 What Are Web Services?

Applets, RMI, JDBC Exam Review

CICS Modernization & Integration

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Service Oriented Architectures

Elements of Advanced Java Programming

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Building Java Servlets with Oracle JDeveloper

Database Application Design and Development. What You Should Know by Now

MAX 2006 Using ColdFusion w/ Flex Data Services

: Test 217, WebSphere Commerce V6.0. Application Development

WEB SERVICES. Revised 9/29/2015

Japan Communication India Skill Development Center

Features of The Grinder 3

Implementing Web Services in Oracle Database Applications

How To Create A C++ Web Service

Japan Communication India Skill Development Center

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

IT6503 WEB PROGRAMMING. Unit-I

1 What Are Web Services?

Java Thin-Client Programming for a Network Computing Environment

Solutions for detect, diagnose and resolve performance problems in J2EE applications

AquaLogic ESB Design and Integration (3 Days)

A standards-based approach to application integration

Author: Gennaro Frazzingaro Universidad Rey Juan Carlos campus de Mostòles (Madrid) GIA Grupo de Inteligencia Artificial

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

Modern Software Development Tools on OpenVMS

Developing Java Web Services

EXTENDING IBM WEBSPHERE USING E2OPEN SOFTWARE ON DEMAND FOR MULTI-COMPANY PROCESS MANAGEMENT

Heterogeneous Tools for Heterogeneous Network Management with WBEM

Business Process Execution Language for Web Services

Creating Web Services in NetBeans

IBM Rational Web Developer for WebSphere Software Version 6.0

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

GlassFish Security. open source community experience distilled. security measures. Secure your GlassFish installation, Web applications,

Java Server Programming: Principles and Technologies. Subrahmanyam Allamaraju, Ph.D.

NetBeans IDE Field Guide

Java EE 7: Back-End Server Application Development

How To Protect Your Computer From Being Hacked On A J2Ee Application (J2Ee) On A Pc Or Macbook Or Macintosh (Jvee) On An Ipo (J 2Ee) (Jpe) On Pc Or

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

SCA-based Enterprise Service Bus WebSphere ESB

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

Web Services in Oracle Fusion Middleware. Raghu Kodali Consulting Product Manager & SOA Evangelist Oracle Fusion Middleware Oracle USA

JAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo.

JVA-561. Developing SOAP Web Services in Java

Experiences with Open-Source BPM/SOA-based Stack using Java EE Rok Povše, Matjaž B. Jurič

Mobile and Web Applications Developer Track

Building Web Services with Apache Axis2

Learning GlassFish for Tomcat Users

Report of the case study in Sistemi Distribuiti A simple Java RMI application

Web Services. Copyright 2011 Srdjan Komazec

Efficiency of Web Based SAX XML Distributed Processing

SOFTWARE ARCHITECTURE FOR FIJI NATIONAL UNIVERSITY CAMPUS INFORMATION SYSTEMS

IBM WebSphere ESB V6.0.1 Technical Product Overview

Intergiciels et systèmes distribués

Core J2EE Patterns, Frameworks and Micro Architectures

@ - Internal # - Online TH PR OR TW TOTAL HOURS # @ 175

Building Web Services with XML Service Utility Library (XSUL)

Java-technology based projects

Reusing Existing * Java EE Applications from Oracle SOA Suite

<Insert Picture Here> WebLogic High Availability Infrastructure WebLogic Server 11gR1 Labs

What Is the Java TM 2 Platform, Enterprise Edition?

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

ActiveVOS Server Architecture. March 2009

The Advantages of CorBA For Network Based Training Systems

The MoCA CIS LIS WSDL Network SOAP/WS

CTMS/CTIS INTEGRATION Contract Routing No. 04 HAA 00063

presentation DAD Distributed Applications Development Cristian Toma

Virtual Credit Card Processing System

Service Oriented Architecture

Service Oriented Architecture

Publishing, Consuming, Deploying and Testing Web Services

Introduction to Sun ONE Application Server 7

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE

Open source implementation, by means of Web Services, of monitoring and controlling services for EMS/SCADA Systems

Consuming and Producing Web Services with Web Tools. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Oracle WebLogic Server 11g Administration

IBM DB2 XML support. How to Configure the IBM DB2 Support in oxygen

Service-Oriented Architecture and Software Engineering

COMMMUNICATING COOPERATING PROCESSES

25 May Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

Transcription:

COM 440 Distributed Systems Project List Summary This list represents a fairly close approximation of the projects that we will be working on. However, these projects are subject to change as the course proceeds. Each of these projects act as a small exemplar of real world distributed systems. 1. JEE Web Application The project may be demonstrated in class and serves as a jumping off point to discuss important characteristics of distributed systems including security, protocol layering and interoperability. First, the student is introduced to GlassFish. GlassFish is an open source application server that implements the JEE 5 specification. This tool is used throughout the course. The Netbeans integrated development environment is introduced and is used to build source code and interact with GlassFish. Second, the student builds their first distributed system. The student builds three small web applications using Java Server Pages and servlets. Third, the student is introduced to the Android simulator. The simulator runs within the Eclipse IDE. In this first Android project, only the browsing capabilities of Android are explored. include security, protocol layering and interoperability.

2. JEE Web Services The project may be demonstrated in class and naturally leads to discussions concerning concurrency, state maintenance and interoperability. First, the student is exposed to TCP/IP socket programming. An interactive and stateful distributed system implemented with TCP sockets is presented. The protocol is described with a finite state machine and written in Java. The student is asked to build a web application that does much the same thing. The interactive socket based client and server is replaced with browsers and servlets. The protocol handler itself, is simply reused in the student solution. Second, this project introduces state management and concurrency. The stateful web application that is constructed by the student must be usable by several concurrent visitors. Each visitor will have its own protocol handler on the server. Third, the project introduces web services. The student is asked to rebuild the project once again. The browser is removed and replaced with a web service client and the servlet is removed and replaced with a SOAP based web service. State management using cookies is replaced with a user identifier. include concurrency, state maintenance and interoperability.

3. TCP, UDP and Distributed Objects protocol layering, UDP, TCP, IP, interoperability, marshaling, external data representation, naming, separation of concerns and design patterns. This project has two parts: First, the student is exposed to both TCP and UDP sockets. Several simple programs are written that illustrate how these protocols are similar and how they differ. These simple exercises are designed to provide the students with skills needed for the second part of the project. Second, the student is exposed to issues associated with remote method invocation. Code is provided that acts as sort of scaffolding upon which the student builds a more significant application. The scaffolding includes a client side proxy and server side skeleton. Using that code as a model to work from, the students write a simple registry and an object server and client. The program uses sockets but is careful to illustrate separation of concerns and the use of the proxy design pattern. Ideas from the Colouris text, such as remote object references and request reply messages, must be implemented by the student. include protocol layering, marshaling, interoperability, external data representation, naming, separation of concerns and design patterns.

4. Synchronous and Asynchronous Java RMI synchronous and asynchronous calls, event handling, remote interfaces, remote interface compilation, interface definition languages and the publish/subscribe design pattern. First, code is presented that acts as a scaffolding for the remaining parts. A complete Java RMI solution is presented and the student is asked to build and run the system using the directions provided. The student is taught exactly how to use the rmi regsitry and the rmic tool. Second, using Java RMI, the student builds a distributed but synchronous chat server. Several clients must be shown to be running and chatting. The solution is modeled after the distributed whiteboard application that is found in the Coulouris text. Third, the student is required to add asynchronicity to the chat server. This amounts to providing a call back handler that runs on each client. This improvement makes for a livelier user interaction and illustrates the importance of event handling. include synchronous and asynchronous calls, event handling, the importance of remote interfaces, remote interface compilation, interface definition languages and the publish/subscribe design pattern.

5. Web Services and JDBC Transactions WSDL, interoperability, locks, transaction handling, entity beans and distributed transactions. First, the student is provided with detailed instructions on building a relational database using Netbeans and Sun's Java DB. The student is also provided with code that acts as a wrapper around a single row of the database. The code makes use of JDBC to interact with the database. The student is required to run the code and see the impact on these data. Second, the student is provided with a new database schema and is required to create a small database with several tables and several constraints on database fields. Third, the student is asked to write a SOAP based web service that may be used by two web service clients to make updates to the data. One client is a JSP page running on Glassfish and the other client is a standalone console based application. If a constraint violation occurs, the web service is written to rollback the local transaction. This is done with the rollback and commit features of JDBC connections. include interface definitions using WSDL, interoperability, locks, transaction handling, entity beans and distributed transactions

6. Messaging messaging, asynchronous services, interoperability, as well as reliability and message persistence. Part one consists of a short tutorial on writing and running a JMS application using Netbeans and Glassfish. Part two requires that student write a message driven bean that takes a java text message off a JMS Queue. Part three requires that the student write message handlers for JMS Topics. include messaging, asynchronous services, interoperability, reliability, lose coupling and the publish subscribe paradigm.