IT-556, Service-Oriented Computing
Home Assignment Set - I

A student can undertake development related exercise or write a technical report as suggested below:

Software Development

Define the problem statement:

  • Identify a business process of an information system
  • Develop EJB/.NET
  • Identify Web services to be developed, developed, deployed, and tested using tool like Eclipse IDE.

Note: You need to configure xdoclet, database server, and web and application server like apache tomcat or jboss server before starting development work.

Define and describe problem statement clearly to develop Web services for real life scenario.

Project report should contain

  1. Problem Statement/Description
    - Brief about functions or modules to be developed
  2. Logical design:
    - E-R modeling, class diagram, sequence diagram, XML schemas
    - Algorithms/Psuedo code
  3. Implementation:
    - List of EJBs, Queries, WSDLs and other programs developed.
    - Source codes should be submitted in the form of separate annexures
    - - Test cases to test and evaluate the functionality of each service
    - Structure of input, output and fault messages
    - Registration of services in sample UDDI
    - Technical features of the work, code optimization etc.
  4. Conclusion
  5. References
  6. Annexures
    - Tools used in implementation
    - Source code of each software component, Web service, Queries
    - Sample database: Sample data/ text case to test Web services
    - Snap shots describing run time scenario

Technical Report

A student can study any one of the following topics given below and prepare a technical report

Web Service Specifications (You can select any one of these specifications):
  • WS-AtomicTransaction,
  • WS-BusinessActivity,
  • WS-BPEL,
  • WS-CDL,
  • WS-Addressing,
  • WS-ReliableMessaging,
  • WS-Policy Framework (including WS-PolicyAttachments and WS-PolicyAssertions),
  • WS-MetadataExchange,
  • WS-Security (including XML-Encryption, XML-Signature, and SAML),
  • WS-Notification Framework (including WS-BaseNotification, WS-Topics, and WS-BrokeredNotification), and
  • WS-Eventing
  • Service Discovery
  • Service Selection
  • Service Composition
  • Service Deployment
  • Service Monitoring
  • Knowledge Representation and Ontology

Suggested Projects

Project 1: Competitive Analysis

If you sell products, you're almost certainly interested in watching the market for similar products. Consider one example of this: someone who monitors the book market, keeping track of the performance of a set of titles over time. This chapter shows how to use web services to pull together reports on product information from three different sources-Amazon, Google, and eBay. You'll build a simple web application that will let an analyst enter product information and have a report emailed that contains the relevant information.

Project 2: Auctions and Shipping

I've done some work with eBay, and so have a number of my friends and family. When you first start selling, it's usually an item or two, something small. Soon enough, selling things can become a fun side business. This in turn leads to a lot of time answering questions via email such as "how much will it cost to ship that to Florida?" This chapter shows how to automate the process of posting auctions on eBay, and use the web services provided by FedEx to automatically include shipping estimates in the description of the auctions. For this example, you'll build a command-line application that reads an XML file with details about the various auctions being posted. When the application successfully posts the auctions, it will note this information in the XML file and then write it back out to disk (avoiding duplicate posts).

Project 3: Billing and Faxing

If you manage to successfully sell any quantity of items on the Internet, it's hard to imagine not setting up automated systems to help handle the workload. You see this sort of automation all of the time; for example, you expect an automated system to automatically send a confirmation email when an order has been placed. Upon occasion, however, you may not be fortunate enough to work with individuals that have access to the latest technologies, such as email and the Web (yes, for some people those are the latest technologies). For example, your manufacturing partner may not be up to speed. Even in those situations, you can probably still rely on that old standby-the fax.

Project 4: Syndicated Search

This chapter looks at a generating an RSS[1] (most commonly, Really Simple Syndication) feed using the results obtained from a Google search. In a sense, you can say that this is an example of a web service gateway. RSS offers a translation from a SOAP web service to a syndication feed more accessible via a variety of content management systems and news aggregators.

Project 5: News Aggregator

In this chapter, we'll build a news-gathering application using Quartz, an open source Java job scheduler. Quartz, which is available at http://www.quartzscheduler.org/, provides sophisticated timing and tracking of web service data retrieval from different sources. Some of these have been covered in other chapters of this book, including Amazon, Google, eBay, and RSS. In effect, you will build a data aggregator-a system that pools and caches data from the Internet, presenting it in a coherent whole.

This project leverages the code used in prior chapters to access remote web services-in particular, the web service interfaces to Amazon, Google, and eBay as shown in Chapter 4. Once you have established communication with a web service, you can often leverage that connectivity in new ways, presenting the information to users in different ways or even adding entirely new lines of business.

Project 6: Audio CD Catalog

Although in this day and age of MP3, AAC, and OGG the audio CD feels a bit retro, it's still one of the most popular media formats of all time. As any audio purveyor will tell you, a solid collection of audio CDs can represent considerable investment in time, energy, and emotion. In this chapter, you will use two web service providers to build an online catalog of audio CDs (and as a by-product, calculate the list value of the collection).

Project 7: Hot News Sheet

If you're like me, you start your day by sitting down to work and opening a suite of web sites, trying to get a sense of what's going on in the world. In particular, I like to find both what's deemed popular by the mainstream media, as well the more democratic and populist views of the weblog community. In this chapter, you'll build an application using RSS to provide a single web page showing what's hot from the mainstream news and the weblog universe, side by side. The application will additionally fold in results from a Google search on these topics for yet another angle on the news.

Project 8: Automatic Daily Discussions

Let's say that you decide to set up a weblog covering the latest news on Java and XML programming. You'd like to keep it fresh, ideally posting new content every day to spur conversations. Finally, you want new content to be posted automatically-even if you're away. We know that Google is constantly indexing the Web, culling out undesirables, and doing everything it can to deliver useful results for specific searches. Why not leverage that search capability to find out interesting topics for conversation in a community?


  1. “Real World Web Services: Integrating EBay, Google, Amazon, FedEx and more”, By Will Iverson, O’REILLY, Web page: http://www.oreilly.com/catalog/realwws/
  2. http://soap.amazon.com/schemas2/AmazonWebServices.wsdl
  3. http://www.xmethods.net/ve2/Interfaces.po;jsessionid=2goHavD3PlYPG14ltPgVD0iu(2MgVnSRM)
  4. http://www.oasis-open.org/home/index.php
  5. http://www.w3.org/
Last modified: Wednesday, 10 July 2013, 3:09 PM