CONCORDIA UNIVERSITY

 

DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING

 

SOEN487 - Web Services and Applications

Winter 2013

 

INSTRUCTORS and LECTURE TIME

Section

Lecture Time and Place

Instructor

Contact

Office

NN

Wednesday

17:45-20:15

MB1.301

Yuhong Yan

yuhong@cse.concordia.ca

Tel: ext 8715

EV3.227

(Office hour:

Wednesday

10:30-12:00)

Tut-NA

Wednesday

16:15-17:35

H905

Min Chen

minchen2008halifax@yahoo.com

 

Lab

Wednesday

20:30-22:20

H905

Min Chen

minchen2008halifax@yahoo.com

 

Marker

 

Min Chen

minchen2008halifax@yahoo.com

 

 

Calendar Description

Analysis and design of Web services and applications. Advanced architectures for the design, deployment, and testing of large multi-server Web services and applications. Service Oriented Architecture (SOA). Electronic Commerce. Security. Load balancing. Stress testing. (This is a 4 credits course)

 

Course Objectives

To provide the computer science and software engineering students with advanced knowledge and skills of Web programming and e-commerce application development. Though this course, the students meet the following CEAB graduate attributes:

 

Background Knowledge

Prerequisite: SOEN387 Web-based Enterprise Application Design (3 credits)

You should have solid programming skills. In particular, you should know basic techniques for Web site development using XHTML, CSS, JavaScript and XML. You should know basic techniques about patterns and system design and implementation.

 

Required Text Book & Other Tools

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

Both above items are available at the Concordia bookstore. The following online free book can serve as a reference book:

·        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

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

 

Computing Facilities

You will use the Computer Science PC lab located at Hall (H) building. You can pick up your computer account from the ENCS Service Desk at H960 or EV-007.182. This account will give you access to the laboratories. For more information on CSE Computer accounts please visit the website: http://www.encs.concordia.ca/helpdesk/access.html.

 

If you have a computer at home and prefer to use it, you may do so.

 

Tutorials

The tutorials will reinforce the material seen during the lectures with examples and exercises. Tutorials begin on the second week of classes. Tutorials are always in a lab. You are allowed to use your own laptop in the tutorial sessions to profit from your own settings in your computer.

 

Web Pages

Many resources for the course (lecture slides, assignments and solutions, example programs . . .) will be available on the course web site in a Moodle website which is accessible through MyConcordia portal at www.myconcordia.ca.

 

Assignments/Course Project/ Examinations

a) Course Assignments.

There will be 3 assignments. All assignments will have a programming component; some of them may have a theoretical component as well. Assignments are to be submitted electronically only in the course Web site - no paper submission. All assignment handouts will be available on the course webpage.

 

b) Course Project

The course project is using supply chain management as the scenario to build a service-oriented system. You will use what you have built in the assignments and develop a Web site using JavaScript and XHTML.


c) Examinations

·        The final examination lasts three hours, and will be administered during the examination period at the end of the term.  The final examination covers all material seen during the term.

 


 

Evaluation Scheme

3 assignments: 30% (10%*3, individual)

1 course project: 25% (in group)

1 final exam: 45%.

 

1.      In order to pass the course, you must pass the final exam by getting over 50% of the marks, regardless of your grade in other required components.

2.      In order to pass the course, you should submit a least 60% of the assignments and course deliverable, and attend the final exam.

3.      The assignment deadline may be extended when multiple requests are received. However, this will delay the post of answers and feedbacks for further study. Penalty of delay will be applied by 20%/day. After answer is posted, un-submitted assignment is counted as 0. Please avoid mistakes when you submit assignments (partial upload, wrong files, etc.)

4.      There is no standard relationship between percentages and letter grades assigned.

 

Important Guidelines

·        Cell phones are STRICTLY PROHIBITED in classroom during the lectures.

·        Please check your emails very often, preferably each day. Many notices are sent out by email.

·        Please come to class on time. Classes start with important topics first.

·        If you want to download slides before the lecture, please notice that these slides do not include the i-clicker questions and answers. The actually slides used in the classroom with i-clicker questions and answers will be posted after each lecture.

·        This course covers a wider scope of knowledge than a normal course, due to the nature of Web application. You are encouraged to check the real world industrial practices in this domain. Our assignments/project/exams are bounded to the scope covered by the textbook and the lectures. However, some research on the Internet is expected to investigate a solution to the assignments and project.

·        Extra assignments will be given for students to practice their programming skills. These assignments will not be marked, however, will be considered when it is fail or pass situation.

·        The content of the course is determined by the curriculum committee.

·        The university encourages undergraduate students get involved in research. Students are encouraged to discuss with me about this.

 

 

Note:

If you have any special needs please contact your instructor to discuss the situation.

 

 

 

TENTATIVE SCHEDULE

The list below provides a summary of the material that will be covered during the course as well as a tentative schedule. Please check course webpage for any changes.

Weekly Schedule of Topics:

 

Week of

Chapter

Topics

Notes and Events

#1-Jan 10

1 & 3

 

Course Introduction

Programming: XML

Tutorial: none

 

#2-Jan 17

1 & 4

Theory: Introduce to Web Services

Programming: SOAP & WSDL

Tutorial: XML

Jan 20: DNE (full refund) or Register

#3-Jan 23

2 & 5

Theory: Distributed computer infrastructure

Programming: SOAP Web Service

Tutorial: SOAP Web service

 

#4-Jan 30

4 & 5

Theory: Service Computing

Programming: SOAP Web Service

Tutorial: SOAP Web service

 

#5-Feb 6

 

Theory: Service Computing

Programming: Restful Web service

Tutorial: SOAP Web services

Assignment 1 due

 

#6-Feb 13

6

 

 

Theory:  Registering and discover Web services

Programming: Restful Web service

Tutorial: Restful Web service

Restful programming:

singlet resources

db resources

javascript, ajax, JSONP, multi-domain problem in Javascript

#7-Feb 20

 

Break

 

#8-Feb 27

 

 

Theory: Business process management and workflow (what is the right models, petri net concept)

Programming: Restful service client, javascript

 

#9-Mar 6

9

Theory: Business process management and workflow (Petri net)

Programming: BPEL

Tutorial: TBD (may cancel)

Assignment 2 due

Mar 10: DISC (academic withdraw)

#10-Mar 13

9

Theory and programming: BPEL standard

Tutorial: BPEL

 

#11-Mar 20

9

Programming: System integration with BPEL, SaaS

Tutorial: BPEL

 

#12-Mar 27

10 & 7

Theory and programming: service policies, addressing and agreements, Web service security

Tutorial: BPEL

Assignment 3 due

#13- Apr 3

10 & 7

Theory and programming: service policies, addressing and agreements, Web service security

Tutorial: Non-functional aspects

 

#14 – Apr 10

 

 

Project due

 

 

Note from University Administration

"In the event of extraordinary circumstances beyond the University's control, the content and/or evaluation scheme in this course is subject to change".