CS6905 Advanced Technologies for E-Business
Service Computing: Foundations, Design and Implementation
Course Outline – Winter term 2008
Service computing has become a strategic area of scientific study. Service computing covers the science and technology that underlie business services and IT services. This course introduces new technologies in service computing from information systems point of view. This course focuses on the techniques to support application integration, data integration and business process integration, more specially, includes XML, Service-Oriented Architecture (SOA) and Web services, and business process integration and performance management.
By the end of the course, students should be able to
Time
Wednesday and Friday (4:30-6:00)
Room
Gillin
Hall E131 (ACENet),
Video Conference Room, Oland Hall,
Instructor Dr. Yuhong Yan (NRC-IIT)
Dr. Daniel
Lemire (
Office NRC206 (Y. Yan)
Office Hours By appointment via email
Email Yuhong.yan@nrc.gc.ca;
Telephone (506) 444-0388
Course Web Site http://www.flydragontech.com/ebcourseWinter2008/6905outline.htm (Yuhong Yan);
Prerequisites The basics of web servers, a passing knowledge of Java, undergraduate database course
Textbooks
Munindar P. Singh and Michael N. Huhns, Service-Oriented
Computing: Semantics, Processes, Agents, John Wiley & Sons, Ltd, West
Sussex,
Graham Glass, Web Services: Building Blocks for Distributed Systems, Prentice Hall, 2002.
Ethan Cerami, Web Services Essential, O’Reilly, 2002.
Elliotte R. Harold and W. Scott Means, XML in a Nutshell, O’Reilly, 3rd edition, 2004.
Supplementary material delivered in classroom.
Marking Assignments*3 10%,10%,10%
Projects*2 20%, 20%
Midterm test 20%
Final Presentation 10%
Tutorial On-line
Labs TD 414 (UNB). Many may prefer to use their own computers.
Syllabus
Introduction to
Service Computing (1-2Weeks)
Service as a category for economic analysis
The evolution towards service-oriented economy
Business models for services innovation
The principles of service computing
The evolving Web
The open environments
Service Oriented Architecture
Service as software and software as services
Service computing in eBusiness and eScience
Service Oriented Information System
Grid Services
Services and mashups
Assignments: several readings, a quiz
Basic standards for
Web services (2-5 Weeks)
XML and data management using XML
The best practices of XML (survey XML landscape)
XML document structure
root, elements, attributes,
namespace, entities
well-formed and valid documents (DTD, Relax NG, XML Schema)
Programming for XML
Event-based processing (SAX)
Iterator-based processing (StAX)
Tree-based processing (DOM)
XPath, XSLT, XQuery
Web Service Stack
Data binding
Service communication: SOAP and REST
Service invocation: WSDL
Service directory: UDDI
Programming Web services
Java for Web services
Open source development environments
Invoking existing Web services
Generating message-centric and document-centric Web services
Wrapping existing resources as Web services
Assignments: several programming exercises
Service Oriented
Information Systems (5-9 Weeks)
The principles of Service Oriented Architecture (SOA)
SOA triangle
Merits of SOA (loose coupling, interoperability, …)
Define service behavior with WS-policy, QoS and SLAs
Service security
Web services as middleware (also compare to other middleware)
J2EE architecture
Business process management and service composition
Business process description (orchestration and choreography languages)
Grid services and grid computing
WSRF
Open grid architecture and Globus Tools
Assignments: a programming project
Advanced Techniques
for Service Computing (9-12 Weeks)
Formal modeling for Web services
Services composition by planning
Services composition by mash-up
Service discovery and search
Assignments: readings and presentation, a programming project
Detailed Schedule
(tentative)
|
Lecture |
Date
|
Material |
References
and Slides |
|
1 |
Jan 9 |
Introduction,
service as an economic sector |
|
|
|
Jan 11 |
|
This class is cancelled due to my sickness |
|
2 |
Jan 16 |
The
principles of service computing |
|
|
3 |
Jan 18 |
Service
oriented architecture |
Reading Assignment |
|
4 |
Jan 23 |
Basic
standards for Web services – XML (1) |
|
|
5 |
Jan 25 |
Basic
standards for Web services – XML (2) |
Namespaces
and Processing XML (Daniel Lemire) |
|
6 |
Jan 30 |
Basic
standards for Web services – XML (3) |
(Daniel Lemire) |
|
7 |
Feb 1 |
Web
Service communication: SOAP and REST, java to XML data binding |
SOAP; |
|
|
|
Lab:
installation and deploy a service |
|
|
8 |
Feb
6 |
Describing
a Web service: WSDL Programming guide: installation, development
environment |
WSDL, |
|
9 |
Feb
8 |
Programming
with Web services: encoding |
|
|
|
|
Lab:
WSDL on AXIS |
|
|
|
Feb
13 |
|
This class is cancelled due to inclement weather |
|
10 |
Feb 15 |
Programming
with Web services: Existing
Web services Compare
to other middleware When
to use Web services Message-centric
and document-centric Web services |
Practices in the real world |
|
|
|
Lab:
from WSDL to code and from code to WSDL |
|
|
11 |
Feb 20 |
Business
Process Execution Language for Web Services (BPEL4WS) |
|
|
12 |
Feb 22 |
BPEL
designer and BPEL engine |
|
|
|
|
Lab:
ActiveBPEL designer and engine |
|
|
|
|
Corse
Project Release: Project
on Amazon Web Services; Project
on Fire Simulation; |
|
|
13 |
Feb 27 |
SOA
security (1) |
|
|
14 |
Feb 29 |
SOA
security (2) Define
service behavior: WS-policy, QoS and |
SOA security (2)
(with security policy) |
|
|
March 11 |
Midterm
(5:00PM – 6:00PM) |
|
|
15 |
Mar 12 |
Formal
modeling for Web services (1) |
|
|
16 |
Mar 14 |
Formal
modeling for Web services (2) |
|
|
17 |
Mar 19 |
Service
composition by planning (1) |
|
|
18 |
Mar 21 |
Service
composition by planning (2) |
|
|
19 |
April
2 |
Final presentations |
|
|
20 |
April
3 |
Final presentations |
|
|
21
|
April
4 |
Final presentations |
|
1. R. Lush,
2. J. Spoher, P. Maglio, J. Bailey, and D. Gruhl, “Steps Toward a Science of Service Systems”, IEEE Computer, Jan 2007, pp71-76.
3. (recommended, not required)
4. J. Sheehan, “Understanding Service Sector Innovation”, Communications of ACM, Vol. 49, No.7, July, 2006, pp 43-47.
5. R. Rust and C. Liu, “What Academic Research Tells Us about Service”, Communications of ACM, Vol. 49, No.7, July, 2006, pp 49-54.
6. A. Sheth, K. Verma and Karthik Gomadam, “Semantics to Energize the Full Services Spectrum”, Communications of ACM, Vol. 49, No.7, July, 2006, pp55-61.
Final Presentations
We have very interesting final
presentations!
-----------------------------------------------------------------------
Choose one topic for final presentation
1. Design Patterns in SOA: discuss all kinds of design
patterns in implementing service oriented systems. (Taken by
2. Data mining in Web services discovery and monitoring: you
need to learn a data mining and machine learning course before you can do this.
(Taken by
3. Context-Aware Web services: what does context-aware means? Ontology-based context model
4. Security for Web services: what are the existing security techniques and how they are applied to Web services, different ways to achieve Web services security as there is no standard way to do this.
5. Using UML to model Web services: flow chart, interface models,
6. Non-functional characteristics in Web services
7. Research in QoS of Web services
9. Research in Service Level Agreement
10. Discuss a special formal model in modeling Web service processes: abstract state machine, communication automaton, etc… (I will talk some models during the course, you can do the same for some other models).
11. Discuss a special AI planning technique for Web service composition: planning graph, HTN, … (I will talk some AI planning techniques for Web service composition, you can do the same for the other techniques).
12. How do you think service-oriented vision will change software engineering? Show the evidences and your analysis logic.
13. How do you think the future of SOA and Web services? What are the new coming techniques and how they will be used?
14. Web service for a special field, e.g. Web services for senor network, mobile computing,
15. Other interesting topics for you? .net?