Tuesday, March 28, 2006

Imagine The world of Web Services

This day I read an example of application integration using web services. This example is taken from Web Services and Service-Oriented Architecture: The Savvy Manager's Guide by Douglas K. Barry - 2003 - Morgan Kaufmann Publishers

IMHO, this example shows how great application integration could be. Check this out.

The Business Trip
This is the story of C. R. C. R. is short for Connected Representative. C. R. is about to take a business trip that will occur in the not-too-distant future. This trip is much like any business trip. It will involve flying to California from the Midwest, renting a car, and visiting several customers in different cities over 3 or 4 days.

To start his trip planning, C. R. uses his browser to see all the possible customers he could visit within driving distance of his destination city.

Although there are a few customers he knows that he wants to visit, he also wants to make sure he is keeping in touch with as many customers as he can. Using his browser, he selects the three customers that he must visit. C. R. sorts the remaining customers by the number of problems reported in the previous 3 months and by the revenue C. R.’s organization has received from these customers. Using this list, he identifies ten additional customers he might see and they are listed in order of importance according to his chosen criteria. C. R. adds the dates he wants to leave and return and selects the “Submit” button and moves on to working on other things.

A little while later, C. R. receives an e-mail message from his contact at one of the customers saying that dinner on Tuesday would be great, but the customer would need to meet an hour later than C. R. suggested. C. R. opens up his calendar on his browser and adjusts the dinner time already on his calendar and replies to the e-mail message.

Note I am going depart from the story here for a moment. You will note that C. R. did not originally set up the dinner time. This was done for him by the software system. We see how this was done later in this book.


As the day progresses, C. R. gets a few more e-mail messages and he updates his calendar accordingly. Within a few hours, he also receives information on his flights, car rental, and hotel reservations at three cities. C. R. again opens up his calendar on his browser just to check that everything looks okay. The arrangements are fine and he confirms the plans. At this point, his manager receives basic information about C. R.’s trip along with notes on her calendar about when he departs and returns. C. R.’s spouse also receives updates to her calendar that include the departure and return trips along with the hotels where C. R. will be staying and hotel phone numbers inserted in the appropriate days. This is something she likes to have handy when C. R. is traveling.

The day before his trip, C. R. downloads what he needs to his cellular telephone/palmtop computer. This includes the itinerary showing his flights, car reservation, hotel reservations, hotel contact information, details on each customer, a summary of all contacts C. R.’s organization has had with each customer, driving instructions from each stop along the way, and maps. C. R. prints out the driving instructions and maps. He likes to have paper copies just in case his rental car does not have a Global Positioning System (GPS) driving assistant or the GPS doesn’t work properly. C. R. thinks it’s always nice to have a paper map and driving instructions.

When C. R. arrives at his destination airport, he is pleased to see that his rental car has the GPS assistant that his car rental profile requests. He starts the car, and the GPS assistant is already programmed for his first destination that day—one of the customer sites. C. R.’s organization recently switched to this car rental company because they offered this feature. It beats having to punch in destination addresses every time.

Note In this story, it was relatively recently that rental companies agreed on the data and the names to use when describing the data used to transmit itineraries for GPS assistants. C. R.’s organization switched to the new rental company because of this feature, because the new company provided almost the same rates as their previous car rental company.


On his way to his first customer visit, C. R. receives an instant text message on his cellular telephone indicating that someone at this customer just reported a significant problem with one of the products from C. R.’s organization. This is good to know before going into his first meeting. While in the customer’s parking lot before the meeting, C. R. calls the representative who is working on the problem for any additional information before heading into his meeting. C. R. was able to address his customer’s concerns on the spot.

Back out at the parking lot, C. R. sees that he has another instant message telling him that his itinerary has changed on the third day and that he should check his calendar. He takes out his palmtop and logs onto his online calendar, downloading what he needs. He sees that the last customer he wanted to see has canceled (an e-mail message explains why) and that two different customers were added to his trip. This change also necessitated changing hotels. Thankfully, C. R.’s spouse and manager also received the updates to their calendars automatically. The hotel reservations have been changed appropriately, too. When C. R. started his car the following morning, the updated itinerary was also downloaded to his car’s GPS assistant.

Late that night, C. R. was looking over the customer visits for the next day and saw something puzzling in the summary of contacts for one of the customers. For some reason, the same problem appeared to be reported multiple times. He used the monitor and keyboard in his hotel room to get more information on this contact from the online repository that contained all contact information for his organization.

As C. R. meets with customers, he makes notes on his palmtop about each of the meetings. At intervals, his palmtop transmits that meeting contact information and it is added to all the other contact information for each of the customers.

Note By now, you have probably noticed that C. R.’s organization has very current and detailed information on every customer contact. They found that in their industry, this makes a big difference in how well the employees can help their customers. It also identifies any need that the customer may have for additional products or services. This customer information comes from multiple sources, both internal and external to C. R.’s organization.


On the last day of his trip, C. R. receives an instant message in the morning that his flight that afternoon has been cancelled, but that the airline has arranged an alternate flight that will leave an hour later. C. R’s spouse also receives an instant message with the same information. Both of their online calendars were updated to reflect the new arrival time that evening. C. R. also used his palmtop to check any last minute flight changes with his airline.