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 |
|
|
Lab-NI |
Wednesday 20:30-22:20 |
Yifei Zhang |
|
|
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".