Slot Course SOEN691A

Topics in Software Engineering 

          (Services Computing: Foundations, Designs, and Implementations)

Course Outline Fall 2011

 

INSTRUCTORS and LECTURE TIME

Section

Lecture Time and Place

Instructor

Contact

Office

NN

Wednesday

17:45-20:15

 

Yuhong Yan

yuhong@cse.concordia.ca

Tel: ext 8715

EV3.227

(Office hour:

Tue, Thur, 10:30-12:00)

Lab

 

Serguei Mokhov

mokhov@cs.concordia.ca

 

Marker

 

Min Chen

minchen2008halifax@yahoo.com

 

 

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 and eScience applications.

Though this course, the students meet the following CEAB graduate attributes:

 

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 COMP249 (Java Programming), COMP353 Database; COMP 354 Software Engineering or SOEN 341 Software Process, SOEN287 Web programming, and SOEN387 Web-based Enterprise Application Design. Or equivalent courses.

Additional notes for the prerequisites:

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. You are supposed to know the basic knowledge about Web programming, such as JavaScript, CSS, XHTML, and HTTP protocol. The assignments and the course project need to practice this.

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

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

You will use the Computer Science PC lab located at HXXX (TBD) running Red Hat Linux. 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 books:

1. Mark Endrei, Jenny Ang, Ali Arsanjani, et.al., Patterns: Service-Oriented Architecture and Web Services, a IBM Red Book, downloadable at http://www.redbooks.ibm.com/abstracts/sg246303.html.

2. Yinong Chen and Wei-Tek Tsai, Service-Oriented Computing and Web Data Management, from Principle to Development, second edition, Kendall Hunt Publishing Company, 2008.

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

 

Marking Scheme:

3 assignments: 15% (5%*3, individual)

1 course project: 7% (in group)

1 research report (in group):  15%, read at least 5 research papers,

1 midterm: 20%

1 final exam: 43%.

 

Weekly Schedule of Topics

 

Week of

Chapter

Topics

Notes and Events

#1-Sept 7

1 & 3

 

Theory: Web services basic

Programming: XML

Tutorial: none

 

#2-Sept 14

2 & 4 & 5

Theory: Distributed computer infrastructure

Programming: SOAP & WSDL

Tutorial: XML

Sept 19: DNE (full refund) or Register

#3-Sept 21

2&4&5

Theory: Distributed computer infrastructure

Programming: SOAP Web Service

Tutorial: SOAP Web service

 

#4-Sept 28

4 & 5

Theory: Services Computing

Programming: SOAP Web Services

Tutorial: SOAP Web services

 

#5-Oct 5

 

Theory: Services Computing

Programming: Restful Web services

Tutorial: SOAP Web services

Assignment 1 due

 

#6-Oct 12

6

 

 

Theory:  Registering and discover Web services

Programming: Restful Web services

Tutorial: Restful Web services

 

#7-Oct 19

 

BPM &WFM, Petri nets

Restful client and javascript

 

#8-Oct 26

 

Midterm exam

Midterm exam

#9-Nov 2

9

 

Theory: Aalst’s paper

Programming: BPEL standard

Tutorial: TBD (may cancel)

Assignment 2 due

Oct 30: DISC (academic withdraw)

#10-Nov 9

9

Theory: Formal modeling of business processes

Programming: system integration with BPEL

Tutorial: BPEL

 

#11-Nov 16

9

Theory: Automated services composition

Programming: System integration with BPEL, SaaS

Tutorial: BPEL

 

#12- Nov 23

9

Theory:  Automated service composition and programming

Tutorial: BPEL

Assignment 3 due

#13 – Nov 30

10 & 7

Theory and programming: non-functional aspects of services

(Service policies, addressing and agreements, Web service security)

Tutorial: non-functional aspect

 

#14 – Dec 7

 

Make-up class (if necessary)

Project due

Research report due