Success Stories
If your career has regularly exposed you to software development projects, then chances are that you have accumulated a fair number of horror stories. Initial estimates are often too optimistic to begin with, so when unexpected complications develop, schedules are thrown out the window.
The staff of Bright Ring Software LLC have accumulated different kinds of stories. Our stories have a unifying theme: intelligence, skill, and experience lead to insights that cut time from development projects.
Global Portfolio Trading, an International Brokerage
In the spring of 2000, the Global Portfolio Trading group had a problem. Its existing client software relied on short text messages delivered asynchronously over the TIBCO Rendezvous Message Oriented Middleware layer. Rendezvous was so easy to use and so reliable that client developers never wanted to use another communications technology again. However, Global Portfolio Trading's new enterprise architecture called for CORBA services, exchanging structures synchronously. Back end developers did not want to mix two disparate technologies.
Bright Ring founder Tom Snee was part of an outside group brought in to square this circle. His insight led to a solution elegant in its simplicity: if the TIBCO message subjects were designed to mirror the CORBA CosNaming hierarchy, a single program incorporating both Rendezvous and CORBA libraries could easily bridge the gap between existing client technology and the new architecture. He designed and implemented this successful solution as a Java software router that subscribed to all Rendezvous subjects. Upon receiving a message, the router looked up the appropriate CORBA service based on the message subject, translated the message into the type of struct appropriate for that service, and sent it on. Replies from the CORBA service were rewritten as Rendezvous messages and sent back to the original publisher.
Middle Market Banking, a Large American Bank
The Middle Market Banking division had a similar problem at the same time. It had a successful CORBA architecture that it used internally, but encountered difficulties when it offered its' clients access to those services via CORBA-enabled Java applets. Using CORBA across the Internet required clients to reconfigure their firewalls, a cumbersome process that prevented many businesses from taking advantage of Middle Market Banking's services.
Again, Tom Snee was one of the consultants brought in to find a solution. Middle Market Banking had set itself a very ambitious deadline: replace all CORBA communications in the 50,000+ LOC codebase within three months! Today, the answer would be obvious: use Web Services as a drop-in replacement. In 1999, though, it was thought that a small army of programmers would be required to scour the codebase and rewrite the networking code from the ground up. Fortunately, Mr. Snee's technical expertise rendered that unnecessary.
He realized that CORBA could be replaced with a custom HTTP-based protocol with no changes to the existing codebase. Since the applet used an IDL-derived Abstract Factory to create CORBA stubs, Mr. Snee simply replaced the implementation of the Factory with one that returned HTTP stubs! These custom stubs translated method invocations to HTTP PUTs, and HTTP responses were used to build populate the IDL-derived structs expected by the applet. For errors, the stubs analyzed the HTTP return codes and threw corresponding CORBA exceptions. In this way, a project which might have taken programmer-years to complete was instead designed, implemented, tested, and delivered by a single developer before the three-month deadline.