Wednesday
you are in: HOME :: CURRICULUM :: Service-Oriented Computing : :
Concepts, theories, and techniques for Web services are studied. This course examines architectures for Web applications based on the classical publish, find, and bind triangle, but formulates it at a higher level. It considers sophisticated approaches for the description, discovery, and engagement of Web services. This course emphasizes Web service composition. Key topics include semantic Web, transactions, processes, and intelligent software agents, quality of service, compliance, and trust in distributed environment.
This course addresses the concepts and techniques of service-oriented computing with grounding in Web services. It introduces the basic Web services standards and has students apply them in project work. However, the main emphasis of this course is on the concepts that underlie the syntactic details of the standards.
Service-oriented computing has become an important paradigm for information technology architectures and applications. The basic standards and existing literature on service-oriented computing have been focused on the lower-level, infrastructural levels. But as these become well-understood, emphasis has shifted to deeper foundational topics. In particular, in emerging practice, the classical Web services triangle of publish, find, and bind is being upgraded to sophisticated descriptions, selection, and engagement. This upgrade requires the introduction of techniques for information and process semantics, specifically, conceptual modeling, ontologies, matchmaking, messaging, transactions, and processes.
Service-oriented computing requires a strong open systems perspective. For example, services in general are not invoked but are engaged, meaning that the interactions one has with them are quite unlike method invocations and are better modeled as parts of extended conversations. Protocols, in this sense, replace programming interfaces as an abstraction for programming. Similarly, selecting the right service is more than simply looking up a directory with a method signature, and involves considerations of application-level trust.
Some of the key techniques for service-oriented computing were developed in the areas of databases, distributed computing, and multi-agent systems, and can be readily adapted for service composition. Other techniques must be developed from scratch, so as to address the essential openness and scale of Web applications that previous work did not need to address.
This course seeks to discuss the key concepts for service-oriented computing. Its intent is to formulate the foundational concepts of services, to evaluate existing approaches, and to present existing techniques from other areas that can be adopted for services, and lastly to introduce emerging techniques for addressing challenges that are unique to services.
This course is self-contained, and gives the essential background for anyone planning to learn about and contribute to the principles and applications of services.
The following are the main topics of this course. The tentative schedule indicates the estimated number of class days for each topic.
|
1. Introduction |
|
1.1 Brief history of information technology |
|
1.2 Needs for collaboration |
|
1.3 Distributed computing |
|
1.4 Challenges |
|
2. Collaboration |
|
2.1 Describing collaborations |
|
2.2 Intelligent software agents |
|
2.3 Multi-agent systems |
|
2.4 Agent communication languages |
|
2.5 Relevant standards: FIPA, OWL-S |
|
3. JADE |
|
3.1 Commitments and contracts |
|
3.2 Planning |
|
3.3 Consistency maintenance |
|
3.4 Economic models |
|
3.5 Organizational models |
|
4. Problems and challenges |
|
4.1 Software agents |
|
4.2 Evaluation of current architectures and standards |
|
4.3 Key challenges |
|
5. Web Services Architectures and Standards |
|
5.1 Basic concepts |
|
5.2 Directory services |
|
5.3 SOAP |
|
5.4 WSDL |
|
5.5 UDDI |
|
6. Description: Modeling and representation |
|
6.1 XML primer |
|
6.2 Conceptual modeling |
|
6.3 Ontologies and knowledge sharing |
|
6.4 Relevant standards: RDF, RDFS, and OWL |
|
6.5 Inferencing and tools |
|
6.6 Matchmaking |
|
7. Engagement |
|
7.1 Peer to peer computing |
|
7.2 Message passing |
|
7.3 Transactions |
|
7.4 Process specification |
|
7.5 Relevant standards: BPEL4WS, WSCI, WS-C, ebXML |
|
7.6 Relaxed transactions |
|
7.7 Exception handling |
|
8. Selection |
|
8.1 Quality of service |
|
8.2 Application-level trust |
|
8.3 Reputation mechanisms |
|
8.4 Referral systems |
|
9. Engineering |
|
9.1 Web service composition |
|
9.2 Compliance |
|
9.3 Security, trust, and privacy |
|
10.Semantic Web |
|
10.1 An overview |
|
10.2 Ontology |
|
10.3 OWL, SWSL |
|
11.Synthesis |
|
11.1 Common threads |
|
11.2 Open problems |
|
11.3 Status and trends |
|
12.Enterprise architectures |
|
12.1 Integration versus interoperation |
|
12.2 J2EE |
|
12.3 .NET |
|
12.4 JINI |
|
12.5 Legacy systems |
TBD