As it moved in recent years to SOA and a full enterprise architecture, the
U.S. Coast Guard
sought to upgrade legacy systems' operation. The thinking was that, for a SOA implementation to be successful, an organization does well to get used to sharing data across multiple channels.
With the SOA conversation beginning in early 2007, the USCG actually began producing new systems this past January with its new
enterprise service bus (ESB)
"It's a large shift for any organization," said Steve Munson, chief of enterprise engineering at the USCG operations systems center (OSC). "It's a large shift for your mental approach to things and it can be a big investment."
The systems the USCG needed to develop involved heavy-weight, complex messaging, and the selection process was long. It took about 18 months to narrow down the search to two vendors and another year to do a pre-production evaluation and pick one.
In the end, they went with Fiorano, which helped them build a SOA including asynchronous messaging rather than one based in Web services. Since there would be a need for strong messaging functionality, the focus was on the ESB.
Perhaps the largest system the USCG has built on Fiorano is the Long Range Identification and Tracking (LRIT) system. This system tracks every vessel in U.S. coastal waters that weighs more than 300 tons. At any given time their system might be tracking around 6,000 ships which fire off messages from their transponders every 3 seconds.
"This is one of the most high-end implementations of an ESB in the world," said Atul Sinai, president and founder of Fiorano. "They do 50 million messages a day. When the messages come in, they're fed into this ESB application. It gives information about its heading, its bearing and certain security information."
The ESB then routes the data into any number of destinations which could involve spinning up a new workflow or enhancing a visual mashup. Sinai said he has personally seen the OSC's LRIT system and was quite impressed by the mashups they employ.
"On a James Bond kind of screen you can plot all the vessels in realtime," said Sinai. "You can zoom in and see the position of the vessel. You couldn't have done all this with a synchronous system."
With a distributed SOA, services are reused and can run on multiple tiers. In a traditional relational system, Sinai said the amount of time it would take to code everything in the LRIT system would be quite substantial.
Munson said the USCG is happy with the amount of reuse they get from the system. He only wishes there were more automated tools for service registration and exposure made for asynchronous messaging systems. Most of these kinds of tools on the market focus on the larger Web services market.
To any enterprises just starting out in SOA, Munson recommends first defining what SOA means to your organization and the sorts of services you want to use. Most importantly, try before you buy.
"Start slow and validate," said Munson. "Take some pilot products and build from them. Validate them and grow from that base."