Skip to main content


developerWorks  >  XML | Information Management | Java technology | Open source | Web development | SOA and Web services  >

The ultimate mashup -- Web services and the semantic Web, Part 1: Use and combine Web services

Explore mashup concepts and build a simple mashup

developerWorks

Level: Intermediate

Nicholas Chase (ibmquestions@nicholaschase.com), Freelance writer, Backstop Media

22 Aug 2006
Updated 08 Mar 2007

Register now or sign in using your IBM ID and password.

As Web services grow in popularity, enterprising Web and application developers create new and innovative applications with their data. In addition to single-service applications, developers are creating mashups, applications that combine data from multiple services to create something new. This series chronicles the creation of the ultimate mashup, an application that not only stores data from different mashups but uses semantic technology to enable users to create their own mashups by swapping services, or even by picking and choosing data. It uses Java™ programming and a combination of servlets, JSP, software from the open source Jena project, and DB2's new native XML capabilities. In this part, Nicholas Chase introduces the concept of mashups, shows you how they work and how to build a simple version of one.

In this tutorial

The purpose of this tutorial series is to create a mashup application so smart that users can literally add and remove services at will, and the system will know what to do with them. The series progresses as follows:

  • Part 1: The author introduces the concept of mashups and how they work. You then build a simple version of one and also discover serious performance problems involved in making potentially dozens of Web calls.

  • Part 2: You solve some of that problem by using DB2's new pureXML capabilities to build an XML cache, which saves the results of previous requests and also enables you to retrieve specific information.

  • Parts 3, 4, and 5: Ultimately, you will need to use ontologies, or vocabularies that define concepts and their relationships, so in Part 3 you start that process by learning about RDF and RDFs, two key ingredients in the Web Ontology Language (OWL), which the author discusses in Part 4. In Part 5, you take the ontologies created in Part 4 and use them to enable users to change out information sources.

  • Part 6: At this point, you have a working application and the framework in place so that the system can use semantic reasoning to understand the services at its disposal. In this part, you give the user control, enabling him or her to map new services into the ontology and to pick and choose the data that is used for a custom mashup.

Over the course of this tutorial (Part 1), you will learn how to create an application that retrieves and displays Web service information from a generic point of view; in other words, adding new services is practically a matter of configuration rather than programming.

This tutorial uses the Java language, but the concepts are the same for any programming language or operating system.


Objectives

  • Request data from a REST Web service

  • Easily serialize XML data for output or display

  • Create an XML template, and then replace pre-determined elements and attributes with dynamic data

  • Add XML nodes from multiple documents into a single output document

  • Create a system that displays multiple Web services

  • Create a system in which one Web service can provide information based on the output of a second Web service

Prerequisites

This tutorial is for developers who want to learn more about using and combining Web services from the XML point of view, and how to output that data to the Web. All services discussed in this tutorial are REST services, but the concepts are the same for SOAP services. This tutorial assumes that you are familiar with Java programming, XML, Web development, and the basic concepts of Web services. If you need a refresher on these topics, please see the Resources listed in the tutorial for more information.


System requirements

You will need JavaScript enabled in your browser.

To follow along with the code in this tutorial, you will need to have the following software installed and tested.

  • Apache Tomcat or other servlet engine: This tutorial assumes that you will build Web applications using servlets, so you'll need a servlet engine such as Apache Tomcat. If you choose to build the application using another environment, just make sure you have the appropriate software on hand. Download apache-tomcat-5.5.17.zip and install into a directory with no spaces in the directory name.
  • Java: Apache Tomcat 5.5, with which this tutorial is built, requires Java 1.5 or higher. Download the J2SE SDK.
  • To make things easier, you can use an IDE such as Eclipse or IBM Rational™ Web Developer for your development. You can download Eclipse at Eclipse.org, download a trial version of Rational Web Developer, or use your favorite development environment. You won't be doing anything fancy as far as compilation and deployment are concerned.


Duration

2 hours





Formats

html, pdf


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!


Back to top


Document options

Document options requiring JavaScript are not displayed


Hey there! developerWorks is using Twitter

Follow us


More in this series:
The ultimate mashup -- Web services and the semantic Web