go to CIS 
home page

CIS6650.03
Winter 2008

 Home

 Outline 

 Lectures 

 Assignments 

 Group Project 

 Students Work 

 Online Resources 


Comments/Suggestions


Advanced Topics in D istributed Computing

Assignments

Late Assignments: My policy on late assignments is very simple. No late assignments will be accepted no matter what is the reason. You'll be given more than enough time to finish the assignment, so start early!

The assignments in this course consist of three activities and they are worth 35% of the final grade:

  1. Practice developing Web Services (clients for existing services, as well as new services and their clients)
  2. Practice researching a topic related to Web Services and presenting it as a lecture
  3. Practice reading a research paper, presenting it, and writing a critiue about it

1. Programming Assignment

The objective of this programming assignment is to get a flavor of the effort involved in developing some real world web services. You will practice developing a client to existing web services, as well as new web services and a client to interact with them, as follows:

  1. Develop a client to interact with existing web services (SOAP-enabled) such as those offered by Amazon, Google, eBay, and others. See the article Accessing and Interacting with Remote SOAP-enabled Services. Note: I believe that Google is no longer issuing access keys for their SOAP services, so you may want to look into Amazon and here is an article on how to develop an Amazon Web Services Client. These articles provide links to Google and Amazon Web Services toolkits. A third alternative, is to develop a SOAP client to send a fax over the Internet using interfax.net services as described in this chapter Billing and Faxing of the O'Reilly book Real World Web Services
  2. Develop some Web services and a client to interact with them. Your web services may provide some useful mathematical functionality (beyond +, -, *, /) or any other service you can think of. See the article Developing Web Services with Java 2 Platform, Enterprise Edition (J2EE) 1.4 for a simple example

Take a look at http://www.xmethods.com and http://www.soapclient.com for sample web services and tools.

The clients can be Web-based (run in a browser) or stand-alone, but it is more realistic to have a Web-based client. If you like you can have one of each.

This is a general description of the assignment; the details are left up to your imagination. You can develop whatever web services and clients you like, that offer some useful functionality. Any programming language is acceptable, and you can use whatever web services tools you like.

Milestones

  • You need to demo your applications (10-minutes) to me on any Monday between January 28 and March 10 (between 10:30am - 12pm). You need to use your own laptop (borrow one from a friend if you don't have one). Send me an email to book a demo appointment.
  • On the day of your demo, please bring the following: (1) a print-out of ALL your source code for the assignment, and (2) a one-page report describing your experience: what have you learned, was it a good/bad experience, experience with tools, if you know Java and C#/.Net why did you choose one over the other.

2. Paper Reading, Critiquing, and Presenting

Each of the following papers will be assigned a presenter and a discussant. It doesn't really matter who is the presenter and who is the discussant as both of you will have to present (using different slides content) and write the two-page critique together; so you should work as a team as both will be assigned the same mark. The presenter will present the paper in 10-15 minutes, and the discussant will discuss the paper in 10-15 minutes including questions that should be answered by both the presenter and the discussant.

  • Role of Presenter: Highlight the main important findings of the work, novel contributions, and applications of the proposed solution. It is a good idea to check the author(s)' other work on the topic. Remember that you only have 10-15 minutes to present the paper, so do not repeat its content but rather focus on its contributions.
  • Role of Discussant: Present a short rebuttal of the paper, but you should take an adversial position and highlight major issues such as weak and controversial positions in the paper, and present counterexamples.

Selection Process: The papers will be assigned on a first-come-first-serve basis, so find a partner and let me know which paper you'd like to be assigned to. Either the presenter or the discussant should email me (in one email message) your names, email addresses, and the paper you'd like to be assigned to. If the paper is already taken, you will be asked to select another paper.

What to submit? On the day of your presentation (by 11:59pm), either the presenter OR the discussant should send me ALL of the following items in ONE EMAIL please:

  1. The .ppt slides of the presenter
  2. The .ppt slides of the discussant
  3. The two-page critique in MS Word or PDF format. The critique should provide a BRIEF summary of the paper, points in favor, points against, and comments for improvement.

Note that I will be posting the slides under Students Work.

Research Papers List

The list contains papers of varying length and quality, and collectively the papers provide a snapshot of service-oriented computing from the technical as well as the business perspectives. Some of the papers are old (published in 2002), but they are listed for a reason (the field has evolved and some new solutions have emerged and hence you'll need to read further about current solutions).

Note: If you prefer to read and present a paper that is not on the list, send me the paper information and I will let you know if it is ok. Papers on topics such as software as a service, implications of software as a service, services science, trustworthy web services, and others. In searching for a paper, please ensure that it presents a full idea along with proof of concept implementation, performance evaluation, etc. Such papers are usually found in first-tier journals and high quality conferences. (e.g. International Conference on Service-Oriented Computing, International Conference on World Wide Web, IEEE Conference on Web Services, and several other conferences and journals publish SOC related papers).

  1. QoS-aware middleware for Web services composition
    Liangzhao Zeng; Benatallah, B.; Ngu, A.H.H.; Dumas, M.; Kalagnanam, J.; Chang, H.;
    IEEE Transactions on Software Engineering, Volume 30, Issue 5, May 2004 Page(s):311 - 327
  2. Efficient access to Web services
    Ouzzani, M.; Bouguettaya, A.;
    IEEE Internet Computing, Volume 8, Issue 2, March-April 2004 Page(s):34 - 44
  3. A Model Driven Development Framework for Enterprise Web Services
    Xiaofeng Yu; Jun Hu; Yan Zhang; Tian Zhang; Linzhang Wang; Jianhua Zhao; Xuandong Li;
    10th IEEE International Enterprise Distributed Object Computing Conference, 2006. EDOC '06. Oct. 2006 Page(s):75 - 84
  4. Colombo: Lightweight middleware for service-oriented computing
    F. Curbera, M. J. Duftler, R. Khalaf, W. A. Nagy, N. Mukhi, and S. Weerawarana
    IBM Systems Journal, Vol. 44, No. 4, 2005, Page(s): 799-820.
  5. Web Services Navigator: Visualizing the execution of Web Services
    W. De Pauw, M. Lei, E. Pring, L. Villard, M. Arnold, and J. F. Morar
    IBM Systems Journal, Vol. 44, No. 4, 2005, Page(s): 821-846.
  6. Impact of service orientation at the business level
    L. Cherbakov, G. Galambos, R. Harishankar, S. Kalyana, and G. Rackham
    IBM Systems Journal, Vol. 44, No. 4, 2005, Page(s): 653-698
  7. Using Web Service Technologies to Create an Information Broker: An Experience Report
    Mark Turner, Fujun Zhu, Ioannis Kotsiopoulos, Michelle Russell, David Budgen, Keith Bennett, Pearl Brereton, John Keane, Paul Layzell, Michael Rigby
    Proceedings of the 26th International Conference on Software Engineering ICSE '04
  8. Turning software into a service
    Turner, M.; Budgen, D.; Brereton, P.;
    IEEE Computer, Volume 36, Issue 10, Oct. 2003 Page(s):38 - 44
  9. Web Services and Service-Oriented Application Provisioning: An Analytical Study of Application Service Strategies
    Cheng, H.K.; Tang, Q.C.; Zhao, J.L.;
    IEEE Transactions on Engineering Management, Volume 53, Issue 4, Nov. 2006 Page(s):520 - 533
  10. Web service conversation modeling: a cornerstone for e-business automation
    Benatallah, B.; Casati, F.; Toumani, F.;
    IEEE Internet Computing, Volume 8, Issue 1, Jan-Feb 2004 Page(s):46 - 54
  11. Rethinking the Java SOAP Stack
    Loughran, S., Smith, E.;
    Proceedings of the IEEE International Conference on Web Services (ICWS 2005)

3. Researching a Topic and Presenting it

Your job is to research a topic on service-oriented computing that is of great interest to you and presenting it to the class. You should research your topic using conference papers, journal papers, trade magazine articles, standard organizations (e.g. W3C.org or oasis-open.org), online resources. The idea is to do enough research so that you feel well prepared to present it to the class and lead a discussion on it. The guidelines to follow are:

  1. The topic should be related to service-oriented computing (see below)
  2. Research material on the topic using conference papers, journal papers, trade magazines, standard organizations (W3C, OASIS Standards), online resources
  3. You will have 30 minutes: 20 for the presentation and 10 for the discussion. You'll lead the discussion.
  4. Use PowerPoint for your slides (number your slides), you may include figures (a picture is worth a thousand words)
  5. Provide the audience with the list of references you have used, and points to further references on the topic

The topic of the paper can be of anything you like, here are some suggestions:

  • Service-oriented software development
  • Mobile web services
  • Business protocols (EDI, ebXML, etc)
  • RDF
  • OWL-S
  • Service mash-ups
  • Services science
  • Service policies and agreements (WS-Policy and WS-Agreement)
  • XML-based security protocols
  • Service management

Procedure and Milestones

  • January 21: Send me a title and 100-word description of your topic, and one relevant reference to the topic (book, conference paper, journal paper, URL)
  • March 3: Present your topic to the class and lead a discussion on it. You'll have 30 minutes (20 for presentation and 10 for discussion) to present your paper (use PowerPoint slides), and there will be questions after the presentation
  • March 3: Email me a copy of your PowerPoint Slides AND and MS Word document (or email text) with the list of references and pointers to further reading

Extra Help: I am happy to help with any problems you may have with the course. If you have any questions please see me during my office hours or make an appointment (I am on campus on Tuesdays only). If you like to ask questions via e-mail please keep the following in mind:

  • Please allow at least 2 working days (weekend is not counted) to get an answer for your question. For example, if an assignment is due on a Tuesday you should send me your questions by Thursday afternoon in order to receive an answer by Monday morning. Note: You'll notice that sometimes I reply to emails within a few minutes...it all depends on the task I have at hand. It is a good idea, however, to allow 2 working days for a reply.
  • Please do not email me your code for debugging.


Copyright © Qusay H. Mahmoud , University of Guelph.