Sun ONE logo     Previous      Contents      Index      Next     
Sun ONE Web Services Platform Developer Edition Developer's Guide



Logistics Sample Application: Overview

This section provides an introduction to the most important of all of the sample applications shipped with the Sun™ ONE Web Services Platform Developer Edition, along with the architecture of the Logistics Sample Application components.

This section contains the following topics:

Overview

The Sun ONE Web Services Platform Developer Edition product aims to capture developer mind-share by presenting an integrated set of Sun ONE products that create a rich development environment for a Sun ONE developer. In addition to the integrated installer that delivers several Sun ONE products using a unified installation interface, the platform also bundles several developer resources such as sample applications, tutorials, online forums, and so on. The sample applications are intended to serve as coding examples while showcasing various integration points among the Sun ONE servers and tools.

The Logistics Sample Application is the most important of all the sample applications shipped with the Sun ONE Web Services Platform Developer Edition. The Logistics Sample Application is designed to be a complete end-to-end example that demonstrates various aspects of Sun ONE. The Logistics Sample Application is delivered in a phased manner through product releases and also through the developer Web site.

The Logistics Sample Application uses three different companies to demonstrate the different products and technologies that make up the Sun ONE Web Services Platform Developer Edition.

Development of the Logistics Sample Application is carried out in phases, with each phase adding new features, technologies, and products to the environment.

The Logistics Sample Application Design Overview diagram below illustrates the design for the various components of Logistics, and indicates various Sun ONE products that are now being used, or which will be used in later phases.

   Logistics Sample Application Design Overview
This screen capture shows the various components of Logistics, and indicates varous Sun ONE products that are used.

The primary company in the Logistics Sample Application is the Cargo Line Shipping Company. Cargo Line owns ships that transport cargo containers around the world. Customers can enter orders (also referred to as shipment requests) from the Cargo Line Web site. Cargo Line also provides shipping services via Web Services. Cargo Line employees are classified as mangers, routing agents and customer agents, and they are responsible for maintaining the enterprise database and administration of the shipping system.

Cargo Line Shipping delegates all billing and payment processes to the backend billing system. The billing system is an EIS which can be used by various departments of the Cargo Line corporation.

The second company is an insurance subsidiary of Cargo Line, called InsuranceCo. Cargo Line uses this insurance agency to insure all customer orders. InsuranceCo receives requests from various companies and has an internal approval process ensuring that the insurance premium is calculated appropriately. While creating shipment requests, Cargo Line customers can selectively choose to insure their orders that are transferred by the Cargo Line to the Insurance Agency.

The third company in the picture is a transport agency called Transport Agency. Transport Agency works with various logistics companies such as Federal Express, Cargo Line, UPS, to process the shipping requests received from its clients. Transport Agency uses Web Services to locate, negotiate, and place shipping orders with shipping service providers such as Cargo Line. Transport Agency offers a state-of-the-art Portal for its customers, employees, and partners to access various enterprise systems and Web services.

All components of the application are developed using the Sun ONE Studio, and include step by step instructions to create and deploy the application. The source code is also published so developers can learn from recommended approaches for Sun ONE development. Utilities and documentation are provided to install and run the application when users install the Sun ONE Web Services Platform Developer Edition. Even though the Sun ONE Studio is used and recommended as the development environment, command line tools based on Ant are also provided.

Components of the Logistics Sample Application

Cargo Line Co.

Cargo Line is the central company in the Logistics Sample Application, providing shipping services to its customers and business partners. Cargo Line runs a public Web site where customers can use its services. Cargo Line also provides an administration console for employees to maintain the shipping system, and it publishes several WebServices.

Customers log in to the Cargo Line ordering Web site to place shipment requests, inputting source and destination ports, information about the shipment itself, and preferred dates of shipment. Additionally, customers can choose to insure the shipment, track past shipment requests, and update their profile information. Self-registration is planned for future versions. This ordering application is developed using the Sun ONE Application Framework.

When a user creates a shipment request, the Cargo Line routing engine assigns the appropriate routes to match the shipment request (for example, source and destination ports, dates, and so on).

To help implement the routing algorithm, the Cargo Line shipping system contains various objects, such as ships, ports, voyages, and routes. This algorithm is simple, logical, and realistic in nature.

Cargo Line interacts with a backend Billing EIS to process payments for shipment requests processed. The billing system is a legacy EIS shared by several departments in the company for invoice processing and collections. The Cargo Line shipping application uses J2EE Connectors to submit all processed shipment requests to this EIS. There could be a separate billing software that picks up the various invoices from the database and invokes a separate payment process with customers. This billing application is out of scope for the Logistics Sample Application.

If the customer requests that the order be insured, the order is queued in a Message Queue. A message consumer is notified of each such shipment request, which is stored in the Insurance database. Order details are entered in a Cargo Line EIS Billing system that sends invoices to the customers (out of scope).

Cargo Line exposes certain methods as Web services. The Insurance Company's approval tool uses JAX-RPC to obtain the details of shipment from the Cargo Line.

Showcased here are the Sun ONE Application Server, J2EE architecture and several APIs, the Sun ONE Message Queue, and the Sun ONE Identity Server.

Insurance Agency

The Insurance Agency takes actions on the Insurance requests that the Cargo Line customers have requested. The requests are stored in Insurance Agency database. The insurance agents take actions to approve or deny the insurance requests.

A swing based rich client is run by the agents of the Insurance Agency. The client receives insurance requests. Agents act on them, and approve or deny the request. The agent can query the details of shipment from the JFC client, in which case the client communicates using JAX-RPC to the Cargo Line.

Showcased here are JFC based clients, Message consumer, and Web services (JAX-RPC).

Transport Agency

The Transport Agency is an independent brokerage agency that provides transport services to various customers. The Transport Agency negotiates on behalf of its customers with various transport service providers like Cargo Line. Transport Agency provides a B2B front end to Cargo Line. The customers of the Transport Agency enter the shipment orders via a portal desktop. The Transport Agency queries a UDDI registry for shipment services, wherein it discovers the Cargo Line services. Transport Agency then places the order to the Cargo Line.

Showcased here are the Sun ONE Portal Server, the Sun ONE Portlet Builder, and Web services.



Note

The Transport Agency functionality is yet to be finalized. This is largely influenced by the availability of Portal on Windows 2000 and Application Server and also support for Identity Server 6.0 with Liberty Phase 1. The first milestone of the Logistics Sample Application does not provide any functionality for the Transport Agency.



The entire Logistics Sample Application is developed using the Sun ONE Studio as the IDE. Best practices and blueprint patterns are used to showcase the application.

This is a developer centric application and that caters to different types of developers: J2EE developers, EIS Integrators, Portal developers, and RAD developers.

Sun ONE in the Logistics Sample Application

The Implemented Logistics Sample Application Components diagram below highlights the various components of the Logistics Sample Application that are available with the Sun ONE Web Services Platform Developer Edition release.

This release showcases various J2EE APIs, the Sun ONE Application Framework (formerly known as JATO), JMS, JFC, and Web Services with JAX-RPC. The application is developed using the Sun ONE Studio Enterprise Edition, and plugins for the Sun ONE Application Server and the Sun ONE Application Framework. The Logistics Sample Application highlights the product integration among the Sun ONE Application Server, Sun ONE Message Queue, Sun ONE Identity Server, Sun ONE Directory Server (LDAP), Sun ONE Identity Server Policy Agent, Sun ONE Application Framework, and the Sun ONE Studio.

   Implemented Logistics Sample Application Components
This screen capture shows the various components of the Logistics sample application that are available with the Sun ONE Web Services Platform Developer Edition.


Previous      Contents      Index      Next     
Copyright 2003 Sun Microsystems, Inc. All rights reserved.