WebTaxi Architecture

Service Based Architecture

A Web Server running will control WebTaxi service. The web server will interact with the external off-the-shelf services to get the job done. The main idea here is to minimize the development effort and use existing web services. Message communication with web services will be using Extended Markup Language (XML) definition of these services.

The following services will be used to implement the complete system:

  • Mapping Service: This service expects the source and destination addresses in a standard XML format. It responds back with an XML document containing the exact route and the estimated time of the journey.

  • Mobile Messaging Service: This service allows message communication with PDAs with cell phone capabilities. The service expects a message in the XML format. The XML message should contain the phone number of the destination device. The service provides device transparency by sending the XML document over the air interface used by the device. In a similar fashion XML messages from these devices can be delivered to the service originator. This service also supports multicasting to a select group of mobile devices. This feature is used by the WebTaxi server to locate the taxi that can service the request.

  • Credit Card Billing Service: This service is used to charge the customers credit card for the taxi service.

  • Bank Account Service: This service is used to deposit the money into the taxi driver’s account.

The interactions between the WebTaxi server and the web services is shown in the figure below:

web taxi architecture

WebTaxi Server Overview

The Web Taxi server forms the front end of the WebTaxi system. The customer interacts with the WebTaxi website housed on the WebTaxi server. The server goes through the following steps to service a Taxi Request:

  1. Customer places a Taxi Request on the WebTaxi server

  2. Server uses the Mapping Service to locate the start point and end point of the journey.

  3. The server then uses the Mobile Messaging service to broadcast the request for a Taxi.

  4. Response to the request is received from the Mobile Messaging Service.

  5. WebTaxi server further interacts with the Taxi PDA devices to pinpoint the taxi that will serve the customer. All these interactions will use the mobile messaging service.

  6. When the taxi service is completed, the server will bill the customer’s credit card using the Credit Card Service.

  7. Money will be credited into the Taxi Drivers account using the Bank Account Service.

Taxi PDA Overview

Every taxi driver has a PDA with a built in cellular phone. This PDA acts as the front end for the taxi driver. The Taxi PDA goes through the following steps to handle a Taxi service:

  1. Taxi PDA receives a service request from the WebTaxi Server (WTS). This request is a broadcast from the server. The request specifies the maximum time a taxi can take to qualify for this service.

  2. The handling of the request depends on the current state of the Taxi:

    • Free Taxi: If the taxi is currently free, the PDA gets the estimate of the time to serve from the mapping service by specifying the source as current taxi location and the destination as the service start time.

    • Busy Taxi: If the taxi is serving a customer, the time to serve estimate is obtained by asking the mapping service for the time taken in going from the current location to the start of service point via the end point of the current service.

    • Busy and Booked Taxi: If a taxi is currently busy and it has a future service assigned to it, the taxi will ignore the request.

  1. If the time is below the maximum time specified by the WTS, Taxi PDA then reports the start of service time to the WebTaxi Server. (It may be noted here that a Taxi PDA would typically go through several such transaction before it gets "chosen" for the service. The taxi driver will have no knowledge of these transactions)

  2. If WTS likes the reply, it will query the driver for service acceptance.

  3. If the driver accepts the service, Taxi PDA will inform WTS.

  4. In a similar fashion, Taxi PDA will inform the WTS about "ready for service", "start of service" and "end of service".