SOEN6861

          Services Computing: Foundations, Designs, and Implementations

Course Outline Fall 2012

 

INSTRUCTORS and LECTURE TIME

Section

Lecture Time and Place

Instructor

Contact

Office

NN

Wednesday

17:45-20:15

MB 2.265

 

Yuhong Yan

yuhong@cse.concordia.ca

Tel: ext 8715

EV3.237

(Office hour:

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

POD

Wed 14:00-15:30

Thur 17:45-19:15

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.

 

CEAB Graduate Attributes:

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 tutorials 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: 30% (10%*3, individual)

1 course project: 20% (in group)

1 research report (in group):  20%, read 2-3 research papers,

1 midterm: 30%

You need to get more than 50% in the exam to pass the course

 

 

 


Weekly Schedule of Topics

 

Week of

Chapter

Topics

Notes and Events

#1-Sept 5

1 & 3

 

Theory: Web services basic

Programming: XML

 

#2-Sept 12

2 & 4 & 5

Theory: Distributed computer infrastructure

Programming: SOAP & WSDL

Sept 18: DNE (full refund) or Register

#3-Sept 19

2&4&5

Theory: Distributed computer infrastructure

Programming: SOAP Web Service

Lab: XML, SOAP Web service

 

#4-Sept 26

4 & 5

Theory: Services Computing

Programming: SOAP Web Services

Lab: SOAP Web services

 

#5-Oct 3

 

Theory: Services Computing

Programming: Restful Web services

Lab: SOAP Web services

Assignment 1 due

 

#6-Oct 10

6

 

 

Theory:  Registering and discover Web services

Programming: HTML and JavaScript

Lab: HTML and JavaScript

 

#7-Oct 17

 

Programming: HTML and JavaScript

Lab: HTML and JavaScript

 

#8-Oct 24

 

Programming: Restful Web services

Lab: Restful Web services

 

#9-Oct 31

 

BPM &WFM, Petri nets

Restful client and javascript

Assignment 2 due

Oct 28: DISC (academic withdraw)

#10-Nov 7

 

Midterm exam

Midterm exam

#11-Nov 14

9

 

Theory: Aalst’s paper

Programming: BPEL standard

Lab: BPEL

 

#12- Nov 21

9

Theory: Aalst’s paper

Programming: system integration with BPEL

Lab: BPEL

 

#13 – Nov 28

 

9

Theory: Automated services composition

Programming: System integration with BPEL, SaaS

Lab: BPEL

Assignment 3 due Project due

Research report due