MET CS 751 Web Services

Last updated April 21, 2006: Last few changes often in red font

Attendance and Distance Option changed if this is red Learning Objectives changed if this is red
Background of the Instructor changed if this is red Multiple Choice Quizzes changed if this is red
Contacting Eric Braude changed if this is red Plagiarism Warning changed if this is red
Evaluation of Students; Projects changed if this is red Policies – Miscellaneous red if updated recently
Explanation of Web Services changed if this is red Presentation Recommendations changed if this is red
Forums: Past and Present changed if this is red Project and Paper Structure changed if this is red
Home Page of Eric Braude changed if this is red Topics and Class Dates changed if this is red
Homework and Due Dates changed if this is red Teaching Assistants changed if this is red
Textbooks and Materials changed if this is red

Explanation of Web Services

A Web Service is functionality provided automatically by a web site to other sites.  As an illustration, suppose that you reserve a flight from Boston to Phoenix.  A series of inter-website services would be initiated automatically, resulting in interaction with you via your browser like the following.

Your Personal Web Service Supervisor has learned of your flight from Boston to Phoenix on May 10, 2002.  Using the profile you placed on file at www.ParticipatingProfiles.com, the following options have been prepared for you by the sites listed below.  These options have been inspected for price-competitiveness by http://intercheap.com/, as you requested in your profile at www.BestPrices.com.  The features stated are quoted from the vendors’ URLs as of March 29, 2002.  Payment for the services you approve will be made according to the payment procedure that you placed on file at Payment Methods.

To reserve a limousine from your house in Jamaica Plain to Logan, select one of the following options.

……. (names, times, prices, features) ….

To reserve a car rental from Phoenix International, select one of the following options.

……. (names, times, prices) ….

To reserve a hotel room in Phoenix, select one of the following options.

……. (names, times, prices) ….

… Automatic entries to travel expense report and personal calendar … Confirmation of payment, total, etc.

Web Services are likely to be at the heart of the next generation of Web applications.


Description from Catalog:

Architecture of Web Services; Review of Schemas; SOAP (Simple Object Access Protocol); WSDL (Web Services Description Language); UDDI (Universal Description, Discovery, and Integration); .NET Architecture; C# and Visual Studio.NET as Web Services platforms; Java API’s for XML Messaging; Java Web Service Environments.


Prerequisites:

(1)   665 (Advanced Object-Oriented Programming) or 565 (Java Programming) or equivalent, and

(2)   673 (Software Engineering) or 679 (Architecture and Design of Client-Server Systems) or equivalent experience


Learning Objectives

    • Understand the Internet technologies prerequisite for Web Services
    • Understand the rationale for Web Services
    • Understand the architecture of Web Services
    • Be able to set up a Java or Microsoft Web Services environment for development and deployment
    • Be able to deploy and index Web Services
    • Be able to use Web Services in applications

Textbook and Materials

    • Building Web Services with Java, Graham et al (SAMS 2005; second ed.) ISBN 0-672-32641-8  This is a useful book.
    • Software: A combination of :
      • Tomcat (open source)
      • Axis (open source)
      • IBM WSAD, (optional; CD available) http://www14.software.ibm.com/webapp/download/
      • Visual Studio.NET (optional)

Paper and Project Structure

Students will be required to research at least one contemporary Web Services topic.  There will be a proposal phase, counting for ¼ of the grade, and a final phase for the paper.  The final submission should include a copy of the first phase, showing the instructor’s comments and indicating how they are addressed in the final submission.   You can look through past forums for what has been covered by others.

Students will be required to give a presentation.  Here are some guidelines for the presentation.

1. Title

2. The technology’s goals  (Cite your example if possible)

3. Summary of the technology

4. Some of the technology’s details (Cite your example if possible)

5. Example with selected details.(If you have not already covered it)

6. Your conclusions and opinions


Evaluation of Students

The semester grade will be computed from the paper and several short homework papers and quizzes will be required on a pass/fail basis. All submitted papers and projects must be posted to a class web site when submitted.  Students may decline to post material, but only if they submit notice of this declination via e-mail to the instructor at the due date.

Students may be given a number of pass/fail assignments throughout the semester.  A “Pass” grade is required.  A grade of A or A+ may be given for a pass/fail homework when the student has performed exceptionally and gone well beyond the requirements of the problem.

80% of the course grade will be based on the project/paper; 20% on the homework.

Late homework will not be accepted unless there is a reason why it was impossible to perform the work in time given work and emergency conditions.  In that case, the written reason should be attached to the homework, which will be graded on a pass/fail basis if the impossibility is accepted by me.


Presentation recommendations

The purpose of the end-of-semester presentation is to share with the class your impressions and lessons learned from carrying out the term project.  The following format usually works well.

2-4 mins: Describe the application (1-3 slides)

2-4 mins: Describe the technology selected (1-3 slides)

5-7 mins: Describe the design and outcome; use diagrams and screenshots where appropriate (1-3 slides)

4-7 mins: Describe negative lessons learned (concentrate on your criteria and include scalability) (1-3 slides)

4-7 mins: Describe positive lessons learned (concentrate on your criteria and include scalability) (1-3 slides)

17-29 minutes total without questions.  The actual time allowed will depend on the number of students presenting that evening since we will end class at 8:15.


Warning concerning plagiarism

Please cite all references and uses of the work of other.  All instances of plagiarism must be reported to the College for action.  e-mail, see or call me if you have any doubts about the proper use of others’ material. In any case, clearly acknowledge all sources in the context they are used, including code, of course.


Topics and Class Dates

Class

#

Date Topic Chap-ters Project:

(See “homework dates due” section for final dates)

1 Jan 19 Introduction: Summary and Promise of Web Services; Installations

Motivation, current state and future state of Web Services.

Installation of Tomcat / Axis; .jws method.

Cpt 1
2 Jan 26 Schemas, Web operation and HTTP for Web Services Cpt 2
3 Feb 2 SOAP Cpt 3
4 Feb 9 WSDL

To make Web Services available, an interface definition language is defined, called Web Services Description Language.  We’ll investigate WSDL in detail.

Cpt 4
5 Feb 16 Axis: Axis will be our major tool for creating Web Services.

Monitoring: We describe tools for intercepting SOAP messages.

Cpt 5
6 Feb 23 Security in Web Services Cpt 9
7 March 2 WS Reliable Messaging

WS Transactions

Cpt 10, 11
8 (note)

March 23

UDDI

Web Services are meant to be indexed and advertised so that an application can identify them at runtime.  This can be performed through the Universal Description, Discovery and Integration facility.  We will discuss the usage and deployment of UDDI.

Cpt 6
9 March 30 Web services and J2EE

Web Services and Stateful Resources

Cpt 7 & 8
10 April 6 History of Internet Service Architectures

Service-Oriented Architectures

Notes
11 April 13 Choreography Cpt 12
12 April 20 Miscellaneous Topics

Interoperability; Asynchronous services; attachments; application integration

Cpt 13
13 April 27 The Microsoft Approach

How Microsoft integrates Web Services into their environments and strategies.

Notes
14 May 4 Presentations

Forums — past and present

§        Fall 2002

§        Spring 2003:  Group name :  751Sp03 Group home page : http://groups.yahoo.com/group/751Sp03

§        Summer 2003

§        Fall 2003:

§        Spring 2004

§        Summer 2004 Group email: 751Su04@yahoogroups.com

§        Spring 2006 Group email: 751Sp06@yahoogroups.com