- connecting to and combining existing services: details TBA
- implementing resource-based services: Restlet.org
- implementing process-based (flow-based) services: Apache CXF
- message-based service integration: Apache Camel
- (time permitting) implementing agent-based and semantic web services: JADE, Jena
Monday, August 24, 2009
Tentative project roadmap
Project 0
Discussion Group Subscription
The first part of this project, due immediately, requires you to subscribe to the discussion group for this course. Keep in mind that you are responsible for being familiar with any information exchanged on this discussion group.Linux Account Verification
The second part of this project, also due immediately, requires you to verify that your departmental Linux account works. (If you are a new student, you should have received email about your account.) This account is separate from your Loyola account and will allow you to use the lab machines as well as the cvs.cs.luc.edu server (we will use the CVS system for version control in conjunction with team-based development). If you have any problems with your Linux account, please contact our lab manager right away.Group Formation
The last part of this project, due within about two weeks, requires you to form a project work group with other fellow students. The groups should be of size three. The groups should stay the same throughout the semester.Once you have formed your group, please send me email containing a list of all group members with the user IDs for their departmental Unix accounts.
For each subsequent project, there will be one submission and consequently one grade per group.
Submission
There is no submission required for this project, other than sending the list of group members by email.Tuesday, April 22, 2008
Project 3 presentations
- Blanche Faur and Bhavana Shanbhag: Java Open Single Sign-On (JOSSO)
- Emily Brand, Aureliusz Rempala, and Fan Wang: Acegi/Spring Security
- Seiya Kawashima, Eric West, and Paul Zolnierczyk: Google Web Toolkit (GWT)
Monday, March 31, 2008
Project 2
Due Date: Wednesday, 30 April (firm)
Group project
Functional and Architectural Requirements
In this project, you will have the opportunity to implement a resource-oriented reservation system. You should follow these requirements, using your web application from the previous semester as a starting point.Overall, you should follow the architectural and design principles outlined here:
Your system should support at least two representations:
- XHTML (suitable for a human user)
- JSON or concise XML (suitable for a programmatic client)
Other Non-Functional Requirements
- The project is managed using Maven.
- Restlet is used to expose the given functionality in a resource-oriented form. Where appropriate, suitable representations should be included that make the functionality accessible through a web browser (XHTML). Otherwise, the functionality should be accessible through a suitable client also implemented in Restlet (JSON or XML).
- There should be a comprehensive test suite involving direct and client-based testing (using the chosen data representation) of the available functionality.
- Persistence is provided using Hibernate as in your web application starting point, or you may switch to db4o instead.
- Dependencies should be managed using the Spring framework.
Submission
Please use the repository for your group for collaboration and notify me when your work is ready for me to review. No explicit submission will be required.Project 3
Due Date: Wed 9 April (outline); Mon 21 April (presentation)
Group project
Description
In this project, you will have the opportunity to investigate a topic of interest in the area of web services.Given the remaining time of the semester and the length of each presentation, you are not expected to conduct an exhaustive study of your topic. The purpose of this project is for you to find and present some starting points for using a particular technology or discuss the utility of some general approach. Please consult with me if you have any questions.
Deliverables
This project consists of the following deliverables:- Brief outline of your presentation due on 9 April.
- Brief (15-20 minutes) in-class presentation of your findings (followed by up to 5 minutes of questions) on 21 April or before.
- Accompanying materials, such as electronic copies of your visual presentation, code examples, etc.
Possible topics
Here are some possible topics:- Message-based enterprise application integration (e.g. Apache Camel)
- Enterprise service bus (ESB) approaches (e.g. Mule)
- .NET web service technologies
- Spring security (Acegi)
- Java Open Single Sign-On (JOSSO)
Submission
Please refer to the online submission procedure. Each team is to make exactly one submission. Any written materials should be submitted either in PDF format or through Google Docs.Monday, February 25, 2008
Project 1
Due Date: Wednesday, 26 March
Group project
Functional and Architectural Requirements
In this project, you will have the opportunity to implement a service-oriented voter registration system. The system consists of the following components.- Voter registration web service with the following capabilities:
- set current ZIP code (stored in HTTP session scope)
- register a voter (stored persistently, generates a confirmation number)
- check whether a voter is registered
- modify a voter
- remove a voter
- list all registered voters
- Voter registration client that exposes the capabilities of the web service through a simple command-line interface.
- confirmation number as unique key
- name
- zip code
Other Non-Functional Requirements
- The project is managed using Maven.
- Both the service and client should be equipped with comprehensive test suites.
- CXF is used to implement the web service and client using wsdl2java.
- Spring session-scoped proxies are used for data in session scope.
- Persistence is provided using Hibernate.
References
- Example projects
- LinearRegressionMaven (442 repository)
- CXF examples in 433 repository
- CXF documentation
- Hibernate documentation
- Maven documentation
Submission
A repository for each group will be created shortly. No explicit submission will be required.Monday, February 4, 2008
Tentative weekly course schedule
Week 1
- organizational matters
- overview
Week 2
- distributed information systems
Week 3
- middleware
Week 4
- enterprise application integration
- web technologies
Week 5
- quiz 1 (after the lecture)
- web services
- basic web services technology
Week 6
- basic web services technology
Week 7
- service composition
Week 8
- quiz 2 (after the lecture)
- service coordination
Week 9
- service composition using representational state transfer (REST)
Week 10
- service composition using representational state transfer (REST)
Week 11
- quiz 3 (after the lecture)
- enterprise integration using asynchronous messaging
Week 12
- enterprise integration using asynchronous messaging
Week 13
- outlook
Subscribe to:
Posts (Atom)