Slot Course SOEN691A

Topics in Software Engineering 

          (Service Computing: Foundations, Designs, and Implementations)

Course Outline

Instructor: Dr. Yuhong Yan, CSE (Office EV3.227).

Office hour: Monday and Wednesday: 16:00 - 17:00.

Class place and time 

Lecture: Tuesday and Thursday, 15:30 - 18:00, H613 (from Jun 25 to August 13, 2009)

Lab: H929 (50 seats, Tuesday and Thursday 18:30-19:30 are reserved for possible tutorials, Linux, students will be given a course account for 1GB extra disk space)

TA: Serguei Mokhov <mokhov@encs.concordia.ca>

Course Objectives:

This course covers the science and technology that underlie business services and IT services in the Internet era. This course will introduce the following foundational concepts and techniques:

  1. Theoretical studies on Web service composition, Web service modeling and other frontier topics in service computing.
  2. SOA standards and frameworks for building distributed systems
  3. Using SOA for system and application integration: especially in enterprise level applications, eScience applications.

 

Prerequisites:

The following are not official prerequisite because you are supposed to have taken all these undergraduate courses. For students from difficult background, you are assumed to have equivalent knowledge.

COMP248 and COMP 249 (Java Programming), COMP 353 Database; COMP 354 Software Engineering or SOEN 341 Software Process. Or equivalent courses.

Additional notes for the prerequisites:

I received some queries about the prerequisites and the requirements of the assignments and the course project. Here is my explanation:

1. Java is the only working programming language in this course. The assignments and the course project do require advanced skills on java programming, Web application development and software engineering.

2. This course may provide tutorials at J2EE level or Web application development if necessary. No tutorial for basic java programming will be provided.

3. The lectures of this course do not follow tightly the textbook. Attending lectures is required.

4. This course is overly registered. Some adjustment to the number of the students is under preparation. However, a smaller class size is preferred for a graduate course.

5. This is a graduate course. Normally I use the latest programming techniques and introduce the latest research results. Some “experiments” are expected. The new software may (or surely) contain bugs, as from my experiences.

6. You may find this course does not meet your expectation by reading through the above statements.

 

Computing Facilities

Students will be encouraged to set up their own environment with the prepared installation guide.

 

Web Page

Many resources for the course (slides, assignments, example programs) will be available on the Moodle Web site available through the MyConcordia portal www.myconcordia.ca.

 

Textbook:              

M. Papazoglou, Web Services: Principles and Technology, Prentice Hall, 2008.

 

Reference book:

Munindar P. Singh and Michael N. Huhns, Service-Oriented Computing: Semantics, Processes, Agents, John Wiley & Sons, Ltd, West Sussex, England, 2005.

 

Marking Scheme:

2 assignments: 20% (10%*2, individual), on development skills.

1 programming project (in group): 20%, on design, implementation and testing skills. A report and a presentation .

1 study report (individual):  20%, read at least 5 research papers, write a report and do a presentation.

1 written in-term exam (individual): 40%.

 

Weekly Schedule of Topics:

Sorry, I am not going to post my slides on my personal Web site. Slides and other documents are in the Moodle site. I find to partially put some documents here generates confusions and incompleteness of information.

 

Date

Topics Planned

 

June 25

Introduction to Service Computing, Evolution of service-oriented economics

June 30

Standards for Web services (1): XML and data management using XML

July 2

Standards for Web services (2): SOAP, WSDL, REST and UDDI

July 7

July 9

Instructor goes to ICWS2009. No classes.

July 14

Programming Web services (1): invoking existing Web services

July 16

Programming Web services (2): wrapping existing resources as Web services

July 21

Enterprise integration with SOA

July 23

Business process management and Web service process description languages

July 28

Formal modeling for Web services

July 30

Services composition by planning (1)

Aug. 4

Services composition by planning (2)

Aug. 6

Services composition by mash-up

Aug. 11

Service discovery and search

Aug. 13

Project presentations