Studies concepts of object-oriented programming that forms the basis for components (e.g., generic programming, programming by contracts, programming with metaclasses), software architecture for supporting components (e.g., implicit invocation, filters, reflection), and the concrete realizations of components in some industrial standards (e.g., JavaBeans, EJB, CORBA, COM/DCOM). Selected topics in component research will also be covered. Students will do a project where some creation, deployment, and evolution methods of software components are applied.
The textbook for the course is:
SOA Using Java Web Services by Mark D. Hansen, May 2007
Prentice Hall Professional Technical Reference
The course is divided into two main parts. Roughly speaking, the first half (up to the Mid-Term) deals with RESTful clients and services, and the second half (starting at the beginning of November) deals with SOAP clients and services. The Mid-Term Exam is on Tuesday 20 October 2009 during the regular class period. The Mid-Term Exam is a 1-hour exam. The Mid-Term Exam counts for 20% of the course grade and is an open book/open notes exam. The Sample Mid-Term can be used as an example of the kind of questions that could be on a Mid-Term. However, the sample Mid-Term was given last year so the topics covered by the Mid-Term were different. The Final Exam is on Monday 15 December 2009 during the regular class period. The Final Exam is a 2-hour exam. The Final Exam counts for 30% of the course grade and is an open book/open notes exam. There will be 10 homework assignments.
The following is the schedule for the lectures:
| Date | Topic | Reading Assignment | Comments |
|---|---|---|---|
| 9/15 | Overview of the Service Oriented Architecture | Chapter 1, Sections 2.1, 2.2 and RMI Tutorial | |
| 9/22 | XML Data Design and Overview of Java Web Services | Sections 2.4, 3.2 and XML Resources | The slides for the lecture are available. |
| 9/29 | XML Data Transformation | Sections 2.3, 3.4 and XSLT Resources | |
| 10/6 | SOA using REST | Sections 3.1, 3.3 and 3.5 | See Example code |
| 10/13 | Introduction to WSDL | Sections 2.5 to 2.8 and 4.1 to 4.3 | Transformations article Hello World examples |
| 10/20 | Mid-Term Exam | Chapters 1 to 3. | |
| WSDL and SOAP | Sections 4.4 to 4.6 | ||
| 11/3 | Data Binding and Mapping Part I | Sections 5.1 to 5.4 | |
| 11/10 | Data Binding and Mapping Part II | Sections 5.5 to 5.8 | |
| 11/17 | Client Development | Chapter 6 | |
| 11/24 | Server Development | Chapter 7 | |
| 12/1 | Packaging and Deployment | Chapter 8 | |
| 12/8 | Frameworks for SOA | Chapter 11 | |
| 12/15 | Final Exam | Sections 2.5 to 2.7, Chapters 4 to 8 and 11. |
There will be 10 weekly assignments. While there is no project as such, the assignments may together be regarded as being a web services project.
Note that assignments are due the Monday before the class. An assignment that is turned in late will lose 1 point out of 10 points every day (24 hours or fraction thereof) that it is late. Assignments should be submitted using the course web service. Graded assignments will be returned by the next class period.
| Due Date | Assignment |
|---|---|
| 9/21 at 11:00 PM | RMI client and server |
| 9/28 at 11:00 PM | XML Data Design and Validation using UML |
| 10/5 at 11:00 PM | Data Transformation using XSLT and JAXP |
| 10/12 at 11:00 PM | RESTful SOA client and server |
| 10/27 at 11:00 PM | RESTful SOA combination services |
| 11/9 at 11:00 PM | WSDL Design and Java generation |
| 11/16 at 11:00 PM | Type mappings and generation of Java serialization |
| 11/23 at 11:00 PM | SOAP client and service development, Part 1 |
| 11/30 at 11:00 PM | SOAP client and service development, Part 2 |
| 12/7 at 11:00 PM | Annotation programming |
My office number is 342 WVH and telephone number is x4631. My email address is kenb@ccs.neu.edu.