CS 553 Spring 2004
Web Service Descriptions
Overall Project Description
For the class, you will develop 2 web-services. In the first phase of
the project, you will develop a mostly standalone web service. In the
second phase of the project, you will develop a web service which uses
one or more of your classmates web-services. The goal is that by the
end of the course, the class will have a set of inter-locking web
services. Each service should be mostly independently constructed, yet
the entire system should perform a meaningful function. In order to
keep the projects all on the same topic, the class will focus on
business-process related services. Other "universes" of services
include medical or scientific classes of web services; however, we will
not be exploring those in this class.
We will use a model company, as described below. Also described
below are the sample services, data types needed for the service, and
descriptions of some sample functions this service might provide.
Company Description:
Fubar, Inc. makes small wireless sensors and software for these
devices. Some of the sensor product lines it offers for sale to
the
public. Fubar also creates new sensor products for customers on
on
contract basis. In addition to hardware, Fubar's software
division
creates applications to run on the sensors. As with the hardware, some
of these are sold to the public, and some are built as custom offerings
on a contract basis. Fubar also tracks sensor network deployments
and fixes problems with customer's equipment.
The goals of the web services below is create a model company. In
the
first round, you will pick a sample service below and implement
it as
a
"stand alone" service (as best is possible). In phase 2, you will
use 1 or more of the services built in phase 1.
Phase 1 Project
Below are a set of service choices and description on what each of
these software packages should model. Each service must model
some aspect of the company. Various parts of the company must be
represented as a data type (which may be a collections of simpler
types). You can think of these types as columns or sets of columns in a
database relation (table). For example, an employee would be its
own type and consist of a collection of simpler types. Likewise, a
"part" might also recursively contain other parts, which could contain
other parts. A "job description" might be another type.
Some Example Types:
Employee
Benefit
Job
Part - abstract. (e.g, a sensor of a specific type).
Part - specific, (e.g. something with a serial number)
Supplier
Program - abstract
Program - customer's specific copy
Return Materials Authoriation
Asset
Purchase
Sale
Customer organization
Customer contact
Contract (for a job)
Trouble Ticket
Location
Assignment
Look over the service list, and have some choices in mind to select
during class.
Next Week:
- Define the set of types to perform the service. Look at real
software systems for which you can get documentation to help you
decide what's realistic.
- Decompose all types into the XML-RPC primitive types (see XML-RPC
lecture).
- Define the set of methods on those types. Thats, what is stored
in your service, and how can it be manipulated?
- Bring a detailed description of your types and methods to class
next time, along with a set of handouts describing the types and
methods. Include some justification for why your types and methods are
meaningful (e.g. some commercial software does it, or its a basic
business function)
- Describe how you will create simulated load on your service.
- Be prepared to describe your service, justification and simulated
load for 5-10 minutes in class.
Sample Business-Process Web Services
Human Resources (Service desinger: Amit)
This service maintains information about the employees.
- Employee Rosters
- Title/Job description
- Hiring and Promotion
- Organization
- Salary
- Benefits
Fixed Asset Management (service designer: Rich P.)
The FAM service keeps track of the physical assets (the "stuff") that
the company uses, but does not sell. For example, soldering irons,
computers, monitors, furniture.
- detailed tracking for company assets (E.g., computers. buildings)
- depreciation and gain / loss detail
- ownership
- disposal
Purchasing (service designer: Stan)
This service models the purchases of the company. The basic
abstraction is the purchase order, which represents something the
company is buying.
- Purchase Orders Processing
- Change Orders
- Receiving
- Returns
Inventory (service designer: Yufei)
The basic function of this service is to keep track of the finished
products. In Fubar's case, the this system deals with sensor nodes.
Some basic basic types include individual sensors (serial numbers),
types of sensors (part numbers), groups of these (lots) and locations
of where they are stored and moved.
- Bar Coding (assigning bar codes, etc)
- Warehouse Management
- Track Lots
- Track Serial Numbers
- Track Vendor Part Numbers
Manufacturing (service designer: Scott)
This service keeps track of the manufacturing of the sensor nodes, e.g.
what parts are on-hand, how many are in what stages of being built, and
what needs to be ordered.
- Bill of materials
- Material Requirements Planning
- Engineering Change Notices
- Make to Order
- Make to Stock
Sales (service designer: Mike W.)
This service keeps track of what the company has sold, both in terms of
hardware and software. This needs to keep track of price quotes,
shipped units and software keys for customers.
- Sales Order Processing
- Quotations
- Invoicing
- Shipping
- Sales Returns
Deployment (service designer: Mike P.)
The deployment service keeps track of sensors and software that
have been deployed at various customer sites.
- Sensor Location
- Sensor Status
- Customer Software Versions
Trouble Tracking (service designer: John)
This system is a "bug-tracker". When a sensor node fails, it gets
logged in here. As they are repaired, it also gets logged here.
- trouble ticketing
- bug-assignment ( new issue)
- bug tracking
- defect tracking
- issue tracking
- incident tracking
Project Management (Service designer: Vijay)
When a customer requests a specific hardware or software to be build
under a contract, the progress of the contract is maintained in this
service.
Material Requirements Planning
- Activity Scheduling
- Contact Management
- Customer Self Service (what's going on)
Round 2 Web service choices
Accounts Payable
Accounts Receivable
General Ledger
Payroll
- pay rate
- vacation hours
- tax and miscellaneous deductions, etc. tax reports,
- year end employee W-2's, etc.
Return on Investment