CS 6520 Methods of Software Development:
Component Software, Fall 2009

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


Schedule

Assignments

General Information


Schedule

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:

DateTopicReading AssignmentComments
9/15Overview of the Service Oriented Architecture Chapter 1, Sections 2.1, 2.2 and RMI Tutorial
9/22XML Data Design and Overview of Java Web Services Sections 2.4, 3.2 and XML Resources The slides for the lecture are available.
9/29XML Data Transformation Sections 2.3, 3.4 and XSLT Resources
10/6SOA using REST Sections 3.1, 3.3 and 3.5 See Example code
10/13Introduction to WSDL Sections 2.5 to 2.8 and 4.1 to 4.3 Transformations article
Hello World examples
10/20Mid-Term Exam Chapters 1 to 3.
WSDL and SOAP Sections 4.4 to 4.6
11/3Data Binding and Mapping Part I Sections 5.1 to 5.4
11/10Data Binding and Mapping Part II Sections 5.5 to 5.8
11/17Client Development Chapter 6
11/24Server Development Chapter 7
12/1Packaging and Deployment Chapter 8
12/8Frameworks for SOA Chapter 11
12/15Final Exam Sections 2.5 to 2.7, Chapters 4 to 8 and 11.

Resource Links

This section has various links to additional resources. These will be augmented as the term progresses. These are not required reading, but can be helpful.

Assignments

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 DateAssignment
9/21 at 11:00 PMRMI client and server
9/28 at 11:00 PMXML Data Design and Validation using UML
10/5 at 11:00 PMData Transformation using XSLT and JAXP
10/12 at 11:00 PMRESTful SOA client and server
10/27 at 11:00 PMRESTful SOA combination services
11/9 at 11:00 PMWSDL Design and Java generation
11/16 at 11:00 PMType mappings and generation of Java serialization
11/23 at 11:00 PMSOAP client and service development, Part 1
11/30 at 11:00 PMSOAP client and service development, Part 2
12/7 at 11:00 PMAnnotation programming

General Information

My office number is 342 WVH and telephone number is x4631. My email address is kenb@ccs.neu.edu.


Ken Baclawski
342 WVH
College of Computer Science
Northeastern University
360 Huntington Avenue
Boston, MA 02115
kenb@ccs.neu.edu
(617) 373-4631 / Fax: (617) 373-5121