Assignment 3: Distributed Systems / Web Services - Course Project
Due: November 24, 2013
Make sure you clearly understand chapter 1 terminology, it will allow for a much easier implementation of this project. Web Service is made up of the basic core services, HTTP/JMS/SNMP, XML, SOAP, and WSDL.
There is also UDDI which is used for service location, although not necessary of this project.
This project will be an implementation of these basic services listed above. Please refer to figure 4.1 to understand the process of message movement, section 4.4 for the communication models. For the understanding of WSDL please refer to chapter 5, figure 5.1 for an overview.
Prior to the main project there are three component exercises that will help with your understandings of XML, SOAP and WSDL
Complete this component exercises first from your textbook: Exercise 3.4 - XML
Define a schema for a flight availability request application that requests flight availability for a city pair on a specific date for a specific number and type of passengers. Optional request information can include: time or time window, connecting cities, client preferences, e.g., airlines, flight types, etc. The requested can be narrowed to request availability for a specific airline, specific flight, or specific booking class on a specific flight.
Exercise 4.1 - SOAP
Write a simple SOAP program that returns information about commercial flights from the XML Schema of exercise as above – 3.4
Exercise 5.3 – WSDL
Define a simple Web services in WSDL that in WSDL that returns flight information regarding flights of a particular flight operator, see Exercise 3.4 above.
Project Description: 70% of your project Grade
You are a linguistic working at an e-books distributor. Your management has interest in finding out if commonly used words used in a book makes the books more popular, therefore more books would be sold if the commonly used words in the book was higher. They believe that by knowing this beforehand would allow them to tailor their sales and marketing more
closely to what would be purchased rather than just hoping because of the popularity of the author or other factors, would sell a book. So they want to test their theory by creating a web-services application that allows their customers to submit books to check the popularity of the words used in the book, thereby ranking the book as high, medium or low ranking, and then comparing that to the books ranking in sales.
You will create a RPC and a Document-style Web service to process a document (simple text). The processing done by the web service will be the following:
Word Count: Simply the number of words in the document
Word Rank: You may use many of the internet sites that have listing of the most commonly used words, words that are not in the list will be ranked lowest (depending on your table length)
Word Repeatability: – all words counted as to the number of time they are
used in the document
For example of word rank: Rank Word
You will use the test document below to test the three actions your web service will take on a document
The document message is as follows: “Message-oriented choreography
The Paper Trail concept is that the state of a multi agent multi-process system can be looked at, sometimes rather effectively, as a function of the documents which have been transmitted.
The process-oriented attitude to a bank-customer relationship may be -In parallel, the customer writes checks, merchants pay in checks, credit card transactions happen, all month. Then, the charges, interest are assessed and a bank statement sent from the bank to the customer-. The document-, or message-oriented one is more like -Every month a bank balance lists valid transaction dated that month. A cleared incoming check in a valid transaction. A cleared outgoing check is a valid transaction. A validated credit card debit is a valid transaction. A check is cleared if it is incoming
and there is a matching transfer from the payee bank-, and so on. This builds the relationships up in a bottom-up, web like way. The process-oriented
attitude suggests the bank be written as a procedure in a top-down way using for example WSCI and BPL. The document-oriented attitude suggests the
use of business rules systems triggered by the receipt of new information --
new documents, in this case new web services messages.
(Web service messages are of course documents just like documents sent in email. Messages are particular in that they have a particular time of transmission, and their document content does not change. They do of
course generally have identifiers, and even though they can only be accessed by sender and explicit receivers, they can still be regarded as part of the web
by those parties.)
Whether the design process is a top-down process-oriented one or a bottom- up document-oriented one, the design will have to be translated into a set of agents and their responses to incoming messages. This manipulation can of course be done automatically.
A concern in all this frantic design is it evolution with time. A BPEL script sets out to be a description of a business process at a high level. The critical values which decide on conditional execution, or which correlate a particular process with a given transaction, are expressed as parts of the structure of
the XML messages. This may lead to what has been called -DTD fragility-. What happens which you change the DTD? The design of the message types
with XML schema is the sort of thing which is difficult to get everyone in a company to agree on, and tents to change with time. There are many arbitrary choices made as to how the knowledge in the message is serialized
as XML. Moving to RDF may, by removing a layer of arbitrary design, reduce that fragility and allow web service choreography to evolve with time within and outside a company.”
The Mandatory fields that are to be added are: Last name
First name Address Street Address city
Address state and zip code
When was the book purchased? Where was the book purchased? What is highest level of education? Are you married or single?
Do you have children?
If you feel that more fields should be added you may add if you believe it will help in the research.
The results of the processing of the document must be sent back to the sender,
basically Client= Web Service processing= Client results
Please implement the soap methodology for handling faults in which you use the special-purpose messages such as env:fault.
There are many: VS, Netbeans, Eclipse, Java SDK or EE, choose the one of your liking.
Most coding does not require these development kits but sometimes they are helpful for cohesion
1) The three exercises that precluded the project component in source coded and examples of the output
2) You must provide a methodology and design specification that shows
how you defined the solution of the project
3) You must include all source code on both sides, client and web service side
4) You must provide instructions for running the application and how your tested
5) You must provide a result log or listing of the message being processed (as returned to the client)
6) Submit your project in ZIP file including any external reference to internet sites.
There are many tools that you can use for the project, but it is fairly easy to run the entire project under -localhost-, bascially your machine. Here is an suggestion of what components you could use:
NetBeans IDE 7.1 or greater
GlassFish Server 3.1.1 or greater
Java EE Version 6 web or greater
If you are familiar with other tools feel free to use them.
Professor - Dr. Kane