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

  • Use SOA and Web services for eBusiness system architecture design
  • Implement informational and functional Web services
  • Integrate Web services with Web 2.0 techniques for developing Web applications
  • Grasp the basic skills to analyze and model business processes

 

Time                       Wednesday and Friday (4:30-6:00)

 

Room                      Gillin Hall E131 (ACENet), Fredericton Campus

                                Video Conference Room, Oland Hall, Saint John Campus

 

Instructor               Dr. Yuhong Yan (NRC-IIT)

                                Dr. Daniel Lemire (University of Quebec in Montreal)

                              

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, England, 2005.

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

Enterprise integration

            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

Introduction, Services

 

Jan 11

 

This class is cancelled due to my sickness

2

Jan 16

The principles of service computing

Service Computing

3

Jan 18

Service oriented architecture

Reading Assignment

4

Jan 23

Basic standards for Web services – XML (1)

 

XML Basic and  DTD (Daniel Lemire)

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)

 

XSLT, XQuery, Assignment1

(Daniel Lemire)

 

7

Feb 1

Web Service communication: SOAP and REST, java to XML data binding

SOAP;

 

 

Lab: installation and deploy a service

installation guide; HelloWorld

Lab1; Calculator

8

Feb 6

Describing a Web service: WSDL

Programming guide: installation, development environment

WSDL,

Assignment2;

9

Feb 8

Programming with Web services: encoding

Encoding, JAXRPC

 

 

 

Lab: WSDL on AXIS

Lab2

 

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

Coding with WSDL

Compare WS, rmi, CORBA

Practices in the real world

 

 

 

 

Lab: from WSDL to code and from code to WSDL

Lab3, detailed guide

AddFunction.zip

AddressFetech2.zip

AddressBook.wsdl

WidgetPrice.zip

11

Feb 20

 

Business Process Execution Language for Web Services (BPEL4WS)

BPEL

 

12

Feb 22

BPEL designer and BPEL engine

HelloWorld in BPEL Guide

Invoke Service Guide

ActiveBPEL files for BPEL;

client side code; Assignment 3

 

 

Lab: ActiveBPEL designer and engine

ActiveBEPL Tutorial;

 

 

Corse Project Release:

Project on Amazon Web Services;

Project on Fire Simulation;

 

Project  on Amazon Web Services; Musician List

Project on Fire Simulation

13

Feb 27

SOA security (1)

SOA security (1)

14

Feb 29

SOA security (2)

Define service behavior: WS-policy, QoS and SLA

SOA security (2) (with security policy)

 

March 11

Midterm (5:00PM – 6:00PM)

 

15

Mar 12

 

Formal modeling for Web services (1)

Research Overview

Modeling based on Automaton

 

16

Mar 14

 

Formal modeling for Web services (2)

Modeling based on Petri nets

Modeling based on Process Algebra

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

 

 

 

Readings about services

 

1. R. Lush, S. Vargo, and A. Malter, “Taking a Leadership Role in Global Marketing Management”, Organizational Dynamics, Vol. 35, No. 3 pp 264-278, 2006, Elsevier.

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) S. Vargo and R. Lush, “Evolving to a New Dominant Logic for Marketing”, Journal of Marketing, Vol. 68, Jan 2004, pp1-17.

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!

  • Yosri Harzallah and Vincent Michel, “Distributed Simulation and Web Map Mash-Up for Forest Fire Spread”, slides and a paper to Service Computing Contest (not available before the end of the contest).
  • Sai Mai and Minrou Li, “Service Composition for GIS”, slides and a paper to Service Computing Contest (not available before the end of the contest).
  • Valeh Nasser, “Semantically rich description languages for automation of semantic web service life cycle- a comparison”, slides and report.
  • Xianrong Zhen, “Recommendation Techniques for Web Service Discovery”, slides and report.
  • Cheng Lu, “Enhancing Web Service Discovery and Monitoring with Quality of Service Information”, slides and report.
  • Yang Ming, “Promote Canadian Musicians with Amazon Web Services”, slides and report.
  • En Zhang, “Coding with Amazon Web services”, slides and report.
  • Maksood Chowdbury, “Modeling BPEL Web services for diagnosis: towards self-healing Web services”, slides and report.

 

 

-----------------------------------------------------------------------

Choose one topic for final presentation

 

1. Design Patterns in SOA: discuss all kinds of design patterns in implementing service oriented systems. (Taken by Sai Ma)

Readings:

 

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 Xianrong Zheng)

Readings:

  1. Richi Nayak, “data mining in Web services discovery and monitoring”, IJWSR, 5(1) 63-81, Jan, 2008.
  2. some articles in ICWS06/07.

 

3. Context-Aware Web services: what does context-aware means? Ontology-based context model

Readings:

  1. Zakaria Maamar, Djamal Benslimane, and Nanjangud Narendra, “what can context do for Web services?”, ACM Communications of the ACM, Dec. 2006
  2. Stephen Yang, Jia Zhang, and Irene Chen, “Ubiquitous Provision of Context-Aware Web Services”, IJWSR, 4(4), October, 2007.

 

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?