Library tutorials & articles
Building a Web Service - Start with the Design
- Introduction
- Methods Exposed
- Issues to Ponder
Introduction
Since the goal of this series is to walk through the thought processes and tasks involved in building a commercial web service, we will start by describing exactly what functionality will be provided. Fortunately (for me, at least), it's a subject near and dear to my heart. For much of the past three years, I have been deeply involve in designing and implementing applications for warehousing and logistics. As a result of this work, I have developed a shipment rating engine.
For those of you who aren't up on the terminology of logistics, the purpose of a shipment rating engine is to determine the lowest cost to send a shipment to its destination. Now the factors that are used to determine the cost include the distance traveled, the weight of the item being shipped, how quickly the shipment needs to arrive and the type of material being shipped.
Now having the distance and weight being part of the calculation is quite natural. The delivery time affects the cost by limiting the methods that can be used to deliver the shipment. There are three main delivery methods. Full trailer loads (FTL) shipments are exactly that. A company basically fills a trailer with goods all going to the same destination. Less than load (LTL) shipping is more common. Only part of a trailer is filled, usually by goods placed on wooden palettes. The final category is small packages (SPS). You would know this group better as Federal Express or UPS. Generally speaking, the difference between these modes is the size of the package and the speed of delivery. Oh yeah. And cost. FTL shipments cost less per pound/mile than LTL which costs less than SPS.
The other factor that goes into the shipping rate calculation is the density of the material being shipped. To put it into simple terms, it costs less to ship a ton of lead than a ton of feathers. The reason? You can pack more lead then feathers into the same space. And when you're dealing with the limited space of a trailer or an airplane cargo hold, that's an important consideration.
So given this incredible wealth of useful information, what will our web service do? Simply put, I expect that people who are making shipments will provide our service with enough information for our rating engine to do its magic. The result will be a list of the delivery methods (given the delivery date, of course) valid for the shipment, along with the corresponding rate. As well, to help companies with some inventory issues that we have seen (and to help with our discussion on creating transactions within the web service structure), we will implement a basic inventory allocation mechanism. The details of the messages that we will be using appear in the next section.
Related articles
Related discussion
-
Error Capture
by Slicksim (4 replies)
-
MOS Protocol - Anyone used it?
by alexnavarro38 (5 replies)
-
AJAX: SimpleWebServices is not defined
by Freon22 (2 replies)
-
Read HSQLDB data into a webpage
by joe90 (3 replies)
-
Dynamically Named Web Services
by dgiard (0 replies)
Related podcasts
-
Java Posse #202 - Newscast for Aug 22nd 2008
Newcast for August 22nd, 2008Fully formatted shownotes can always be found at http://javaposse.com Sadly, Java does not run on the Mars LanderThe Golden Gate Project http://research.sun.com/projects/goldengate/Space surveillance radar http://www.sun.com/aboutsun/pr/2008-04/sunflash Google has r...
This was a great tutorial as my basic doubts got cleared on reading your Article.It was an excellent one.Waiting for more like that
Good luck
This thread is for discussions of Building a Web Service - Start with the Design.