Slot Course SOEN691A

Topics in Software Engineering 

          (Service Computing: Foundations, Designs, and Implementations)

Course Outline

 

INSTRUCTORS and LECTURE TIME

Section

Lecture Time and Place

Instructor

Contact

Office

NN

Friday

17:45-20:15

H-529

Yuhong Yan

yuhong@cse.concordia.ca

Tel: ext 8715

EV3.227

(Office hour:

Wed, Fri,

15:00-17:00)

Tut

Wednesday

19:15-20:15

H817

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.

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

4. 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.

5. 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:

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: 5% (in group)

1 research report (individual):  20%, read at least 5 research papers,

1 midterm: 20%

1 final exam: 40%.

 

Weekly Schedule of Topics

 

Week of

Chapter

Topics

Notes and Events

#1-Jan 7

1 & 3

 

Theory: Web services basic

Programming: XML

Tutorial: none

 

#2-Jan 14

2 & 4 & 5

Theory: Distributed computer infrastructure

Programming: SOAP & WSDL

Tutorial: XML

Jan 16: DNE (full refund) or Register

#3-Jan 21

2&4&5

Theory: Distributed computer infrastructure

Programming: SOAP Web Service

Tutorial: SOAP Web service

 

#4-Jan 28

4 & 5

Theory: Service Computing

Programming: SOAP Web Service

Tutorial: SOAP Web service

 

#5-Feb 4

 

Theory: Service Computing

Programming: Restful Web service

Tutorial: SOAP Web services

Assignment 1 due

 

#6-Feb 11

6

 

 

Theory:  Registering and discover Web services

Programming: Restful Web service

Tutorial: Restful Web service

 

#7-Feb 18

 

Mid-term exam

 

 

#8-Feb 25

 

 

Break

Assignment 2 due

#9-Mar 4

9

Theory: Business process management and workflow

Programming: BPEL standard

Tutorial: TBD (may cancel)

Mar 5: DISC (academic withdraw)

#10-Mar 11

9

Theory: Formal modeling of business processes

Programming: system integration with BPEL

Tutorial: BPEL

 

#11-Mar 18

9

Theory: Automated service composition

Programming: System integration with BPEL, SaaS

Tutorial: BPEL

 

#12-Mar 25

9

Theory:  Automated service composition and programming

Tutorial: BPEL

Assignment 3 due

#13- Apr 1

10 & 7

Theory and programming: non-functional aspects of services

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

Tutorial: non-functional aspect

 

#14 – Apr 6

 

Make-up class (if necessary)

Project due

Research report due