CS 6210 Advanced Operating
Systems
Fall 2006
Project IV: Web Services for Image
Processing Facility
Due: 11:59 p.m. ,
Dec 10th, 2006
(One minute prior to midnight on Dec 10th.)
This
project is to be completed in group of two.
Goal
The goal of this project is to
familiarize you with the tools needed to develop web services and some of the
related design issues.
General Information
- Read the paper "Unraveling the Web services web: an
introduction to SOAP, WSDL, and UDDI" from the syllabus first.
- Read this assignment carefully, in its entirety.
- You are free to discuss the paper with anybody. But the
design for your project must be done individually or in group of two.
- The first two parts are same for both individual work
and group work. The 3rd part is only required if you do it in
group.
- The format of the turn-in is strictly enforced.
The Project Requirement
You are asked to develop web services for image processing. The
project is composed of three parts.
Part One
Download and install the following tools that you will find
very helpful in this assignment:
It is highly recommended that you go through the Apache Axis User's
Guide here.
You can additionally use these tools for convenience:
- Eclipse IDE,
a nice tutorial for building web services using this tool is available here.
The use of all the above tools is optional, if you decide to use your
own set of tools please carefully document in your report the tools you used.
Part Two
Develop web services that will offer the following basic
functionality to the users:
- Adjust image brightness
- Crop image
- Resize image
All these functions are available from the JIU
library. You can restrict your services to work with the PNG image format only.
Do not assume the images are available on the server; your web services should
support uploading the images from the client to the server and return the
resulting image back to the caller. In your report, include detailed
measurements of the round trip times for each of the above services and quantify
the overhead introduced by using web services.
Part Three
As your image processing service becomes more popular and
attracts more users you notice the dramatic increase in server load. A quick
analysis of the user behavior reveals that most users typically use the service
for formatting their images for email usage. This typically includes cropping
the image to small region and then resizing it to a small size that is more
suitable for email. Given that information, design new web service(s) that make
the user experience more friendly AND reduces the load on your servers. In your
report, include detailed measurements of the round trip times for you news
service. Compare and discuss the results to those obtained from part two.
Part Four
As the number of users increase and the
services become even more popular we are faced with large increase in number of
users and number of ways they tend to use the service to process their images.
Discuss possible approaches to handle this increased demand taking into account:
reducing server and communication loads, and size and complexity of the web
services you plan to add.
Due Date & Turn-In
Process
When: Dec 10th, 2006 , before midnight . This is one minute prior to midnight on Sunday Dec 10th. No late assignments will be
accepted unless prior arrangements have been made.
Where: Via email to: habbasi@cc.gatech.edu, Subject: CS
6210 Project Four
What: Submit the following in one UNIX
"tar" archive attached to your email.
The name of your tar file
should be cs6210proj4_GTID1_GTID2.tar or cs6210proj4_GTID1_GTID2.tar.gz
- The source code. It must include a Makefile thus the TA can build your program using
make command.
- A README file (in txt format) explaining the usage
of the program and everything that helps us in
compiling and testing your application.
- A report file about your design, implementation, and
measurements as well as any assumptions you made. I
only accept report file in pdf format only. Keep in
mind that the report counts as a great part of your score.
Make sure that you do NOT include any binaries in your
tar files. We are going to compile and run your programs from scratch. If you
have any special commands needed to compile your code then mention them in your
README file (or put them in your Makefile). Please
follow the above requirement strictly. You will lose points if fail to do so.