1. Objectives
The objective of the competition, in this first year, is to encourage participants to concentrate on syntactical matching
and chaining for Web Service Description Language (WSDL) documents. A successful software entry will be
able to accurately and efficiently find services using the part names underlying their input and output messages.
Secondly, entries will have to create chains of services by linking output part names to the subsequent
input part names. The intent of this competition is for participants to create part name matching components/agents
that will set the foundation for later years of this competition (i.e. each year with more technical rigor).
Participants should also focus on robust system design and efficient programming techniques. 2. WSDL Details
In this competition, the web services repository will be based on WSDL 1.1. Below are two tutorial sites
that may be helpful for participants. · http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarxml/html/wsdlexplained.asp
· http://www.w3schools.com/wsdl/default.asp
FYI - Microsoft .Net IDE has a reasonable editor for WSDL documents. 3. Sample Repository
A sample repository can be downloaded at the following web site:
http://www.comp.hkbu.edu.hk/~ctr/wschallenge
Participants should notice that we are concentrating only on messages (and their underlying part names)
and ports. Concrete descriptions such as bindings and services will be the focus in later years of the
competition, but not considered in this competition.
The sample service repository have services with auto-generated with part names with random combination
of letters. Other services will be added that are sub-sets and variations of the most correct services
to use for a particular discovery of competition routines. 4. Sample Competition Routine
We will provide participants with an XML file to initiate the competition discovery and composition routines.
A sample of the XML request is below. <WSChallenge>
<DiscoveryRoutine> <Provided> partname1, partname2, partname3 </Provided> <Resultant> partname1 </Resultant></DiscoveryRoutine><CompositionRoutine> <Provided> partname1, partname2, partname3 </Provided> <Resultant> partname1, partname2, partname3 </Resultant></CompositionRoutine></WSChallenge>
All software must be able to execute on a designated competition workstation. Participants will want
to send their system requirements to us via email prior to the competition. There will be a pre-competition
arrangement which should be able to provide more feedback for refining their software. 5. Discovery Sample
Participants will be asked to find a specific service that can fulfill a certain input and output criteria.
The following requested routine can be fulfilled by findCloseRestaurant.wsdl: <DiscoveryRoutine>
<Provided> foodPref,custStreetAddress,custCityAddress,custStateAddress,custZipAddress </Provided> <Resultant> restaurantName,restaurantID </Resultant></DiscoveryRoutine> findCloseRestaurant.wsdl (sniplet of the messages)
<message name="findCloseRestaurant_Request">
<part name="custStreetAddress" type="xs:string"/>
<part name="custCityAddress" type="xs:string"/>
<part name="custStateAddress" type="xs:string"/>
<part name="custZipAddress" type="xs:string"/>
<part name="foodPref" type="xs:string"/>
</message>
<message
name="findCloseRestaurant_Response">
<part name="restaurantName" type="xs:string"/>
<part name="restaurantID" type="xs:string"/>
<part name="restaurantStreetAddress"
type="xs:string"/>
<part name="restaturantCityAddress"
type="xs:string"/>
<part name="restaurantStateAddress"
type="xs:string"/>
<part name="restaurantZipAddress" type="xs:string"/>
</message>
As you can see, findCloseRestaurant is a bit over-qualified for the requirements, but it does fulfill them.
We anticipate that only one service will accurately meet the requirements in the repository. However,
other services may be in place that partially meets the requirements. Only accurate matches count.
This part of the competition will mostly judge the design and speed of the software entries to execute
the matching. 6. Composition Sample
Participants may also be posed with a composition request (finding a specific sequence of services).
The following requested routine can be fulfilled by: purchaseALT.wsdl->reserveRental.wsdl-> reserveRoom.wsdl->createItinerary.wsdl: <CompositionRoutine>
<Provided> firstName,lastName,middleInitial,creditCardNum,creditCardExp,creditCardSecID,departCity,
departState,destCity,destState,rentalPref,roomPref,hotelName </Provided>
<Resultant> ItineraryURL </Resultant>
</CompositionRoutine> As you can see, reserveRental and reserveRoom require the output of purchaseALT, while createItinerary
requires information from reserveRental, reserveRoom, and purchaseALT.
7. Evaluation.
One aspect will be a subjective score on the system design. The other aspects will be performance and
accuracy. More details about the judging process will later be posted at the competition web site.
8. Miscellaneous WSDL Details.
1. arrivalDateTime and departDateTme are in the same context for all services.a. May decide to make unique date/time syntax for each serviceb. Our students had some difficulty with non-unique dates and times for mapping.2. All operations are SOAP request-response, this year.3. All services have one binding to one port (one operation per WSDL)4. Port name=WSDL name5. Message parts are all of type <string>.6. Software entries should keep a memory of part names during composition, sometimes
messages will have to be carried to services in subsequent stages of the routine.7. No composition routine will require more than three services to build input message for a
subsequent service. (We did this to help scope complexity.)8. We anticipate that participants will be provided with an XML file to do all discoveries for
the first part of the competition. The composition routine will be done on a separate run. 9. For Further Questions.
Please send emails to wschallenge@comp.hkbu.edu.hk for technical questions. It would also be
advisable to contact us notifying your intention to compete.
[Updated on