CONCORDIA UNIVERSITY

 

DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING

 

SOEN487 - Web Services and Applications

Winter 2014

 

INSTRUCTORS and LECTURE TIME

Section

Lecture Time and Place

Instructor

Contact

Office

NN

Wednesday

17:45-20:15

MB2.255

Yuhong Yan

yuhong@cse.concordia.ca

Tel: ext 8715

EV3.227

(Office hour:

Wednesday

15:00-17:00)

Tut-NA

Wednesday

16:15-17:05

Yifei Zhang

yifeizhang1016@gmail.com

 

 

Lab-NI

Wednesday

20:30-22:20

Yifei Zhang

yifeizhang1016@gmail.com

 

 

Marker

 

Jing Li

jing.li.hnu@gmail.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.

This book is available at the Concordia bookstore. Or you can buy an old version online with cheaper price. 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: 35% (10%*2 individual, 15%*1 in group)

1 course project: 20% (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 8

1 & 3

 

Course Introduction

XML and JAXB

Tutorial: none

 

#2-Jan 15

1 & 4

Distributed computer infrastructure

Introduce to Web Services

SOAP

Tutorial: XML

Jan 19: DNE (full refund) or Register

#3-Jan 22

2 & 5

WSDL

Programming SOAP Web Service

Tutorial: SOAP Web service

1. WSDL specification

2. top down

3. bottom up

4. Clients

5. JAX-WS implementation

6. fault messages

#4-Jan 29

4 & 5

UDDI and Service Discovery

Tutorial: SOAP Web service

 

#5-Feb 5

 

Restful Web Service

Tutorial: SOAP Web services

Assignment 1 due

singlet resources

db resources

 

#6-Feb 12

 

 

 

Restful Web service Programming and Service Mashups

Tutorial: Restful Web service

Restful programming:

db query

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

invoke external services

#7-Feb 19

 

Break

 

#8-Feb 26

 

 

Business process management and workflow

BPEL

Tutorial: TBD (may cancel)

 

#9-Mar 5

9

Service Composition and Mashups

BPEL

 

Assignment 2 due

Mar 10: DISC (academic withdraw)

#10-Mar 12

10&7

Service policies, addressing and agreements, Web service security

 

#11-Mar 19

 

Cloud and Web services

 

#12-Mar 26

 

Group Demo

Assignment 3 due

#13- Apr 2

 

Group Demo

 

#14 – Apr 9

 

 

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