Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

A birds-eye view of Web services

Chart the best course for your Web services programming initiative

  • Print
  • Feedback
Imagine someone walked into your office and, without introduction, offered you a large sum of money if you answered this question -- in thirty seconds and while standing on one foot: Just what isa computer program?

That was the question our imaginary friend pondered one late winter morning in her office, located high above the city's bustle. Rays of sun cut through her office window, settling on her desk and illuminating the crimson letters of the title of the book that lay in front of her. She let the book rest there, unopened, while savoring a minute of being able to keep the full context of her concerns in mind, without getting distracted by the details. That book contained those details. Its title read: Magellan.

That was the name of an agency that wanted her to design an electronic cruise ship reservation system. The Internet-based system would act as a hub of sea travel information, concentrating data, reservations, and payments from many other businesses -- cruise ship operators, payment processors, airlines, hotels, travel agencies, and the like. Each business would have its own Website, and many would maintain internal e-commerce systems capable of taking reservations from the Internet. Some would already provide access via cellular phones; others would operate homepages in dozens of languages and allow payments in many currencies.

Let's follow our imaginary friend's path in this endeavor. With each step, we will have a set of programs that form the fancied Magellan Travel system. A common thread between these programs is their use of techniques and technologies that together define the term Web services. As a Java developer, you already know quite a bit about Web services, perhaps without realizing it. Thus, the journey will take us through familiar territory, placing that territory in a new context. In one regard, though, Web services aredifferent from anything most Java developers have encountered before. To appreciate that difference, we'll take the elevator up to our friend's office and catch a birds-eye view of what a Web services program looks like.

A thousand islands, a symphony, and a Web services program



A favorite cruise destination is a collection of about 17,000 islands, quite a few of which are uninhabited. On those inhabited, natives speak several languages, and their cultures, even religions, might differ from island to island. Yet, all those islands -- one of which bears the name of our favorite programming language -- collectively form the country Indonesia. If you represented Indonesia in software, it would probably be a type of Collection. Most likely, it would also be a parallel program, as each island component operates independent of the others. Figure 1 shows this island ensemble.

Figure 1. Indonesia: An ensemble of islands. The islands communicate via a (maritime) interconnection network, following protocols established by tradition and law. Copyright: National Geographic Society, 2001.



However, you might prefer a river cruise down the slow-moving river Isar in the German state of Bavaria, visiting the town of Munich along your way. Ninety-two years ago, that city witnessed an amazing musical performance, where the premiere of a new symphony featured 858 singers and 171 players -- an ensemble of 1,029 musicians. The conductor, Gustav Mahler, coordinated this giant group's music making so that no performer would miss a beat. His symphony came to be known as the "Symphony of a Thousand."

  • Print
  • Feedback

Resources