| By Java News Desk | Article Rating: |
|
| February 26, 2004 12:00 AM EST | Reads: |
25,780 |
Helms then began to unpack this broad-stroke observation for a packed keynote hall at Day One of EDGE 2004, "Development Technologies Exchange" - the Java, XML, .NET, MX and Web Services techfest being served up in Boston's Hynes Convention Center Tuesday through Thursday this week.
Making this as much a case study as anything, Hjelms first established the parameters of the Orbitz operations: 800+ production servers (usually commodity PCs), 3.9 million lines of code on its Web site, and 110,000 lines of code being added or deleted on a weekly basis."Getting your architecture right enables you to do more things faster," Hjelms observed: in Orbitz's case, that above all means of course search faster. Orbitz's consumer-friendly site, he explained, masks a complex infrastructure."
Capable of searching over 2 billion flight/fare combinations, including feature searches unique to Orbitz such as Flex Search and DealDetector, the Orbitz system validates the effectiveness of SOA - "Traditional search on old mainframes would be too expensive," Hjelms noted. Yet within just 4 years, the Orbitz system has proved so effective, so growthful, and so user-friendly that Orbitz has in that short time captured some 17% of the entire online travel market (vs Expedia 40% and Travelocity 20%).
In the car space, Hjelms noted, Orbitz has captured a much larger market share. And on the messaging side, Orbitz sent out over 775,000 wireless messages in Dec 2003 alone.
Leveraging SOA, the company is able to deploy new SL implementations dynamically with zero impact to existing systems. "When we add a new carrier," Hjelms says, "that's done with zero impact on existing systems - all the systems could care less what airlines we're adding in. The folks doing the 'plumbing' can work separately from those doing the actual customer-facing work."
Orbitz has had to build a fairly sophisticated Customer Services Tool, he added.
"What are the enablers that allowed Orbitz to do what it does?" he asked rhetorically. "For a start we built it ourselves. Re-architecting existing systems is very hard to do. When you make hardware upgrades, it's a lot easier just to add a commodity PC."
Using Jini
Jini handles all of the interfaces between Orbitz and 3rd-party services, he explained, "managing down the complexity that would otherwise make it very difficult."
Orbitz has internally hosted J2EE inventory systems and, with the exception of one or two database servers, the entire complex runs on Linux "and it works extremely well," as Hjelms says. The advantages of deploying on Linux, he added, is that it is easily scriptable, which is why it is the building block of many commercial server appliances.
Recounting briefly the history of Orbitz's service-oriented architecture, Hjelms said that Java was the first big decision, and JINI the second. "So when SOA became popular, Orbitz had already found it."
"The JINI distributed computing framework focuses on interfaces and capabilities, not implementation and location," Hjelms said.
Using EJBs gave transactional capabilities to the system and provided a robust services layer - and they are colocated on a single VM to reduce latency.
"Redundancy, stateless capabilities, it's all just 'here' with this architecture," Hjelms says.
"This all allows the client code to focus on the capabilities not the implementation. Our developers don’t worry about that side of things."
"If you were to take the average person and explain GDS to them, their head would hurt," he added, "whereas we can get developers up to speed on Orbitz fast. We add a new machine, bring it up into the network and JINI recognizes it and starts to draw on it. It works."
"So the growth in our code base isn't in the services layer, it's in the application layer," he pointed out. That is the key to Orbitz's success, and that in turn is a function of its architectural choices.
What Next?
"From an industry standpoint nothing works better than SOA," Hjelms said. "At Orbitz we aspire to autonomic computing - we're still 3-4 months away from that."
Enhancements going forward will include a Guaranteed Model for Delivery, and building the redundancy and scalability of the database interactions.
New features on the business side are being implemented constantly, Hjelms said. "Web services allows entry into new markets and facilitates new business models, leverages existing SOA, allows access for non-Java clients and systems, and furthers the goal of flexibility and robustness."
"Web services on top of an SOA is pretty much worthless unless you get SOA right," he observed. "You have to get the SOA right first. Then, like Amazon, we'll open up our transaction engine to anyone who wants to innovate against it."
With 90 or so software developers, the company does all its hiring through referrals. "It's an open source culture, it's rare we have a project team bigger than 4 or 5 people. (Usually 2 or 3.)"
In his final comments Hjelms said: "SOA is a key enabler but...the key competitive advantage for Orbitz is speed."
Published February 26, 2004 Reads 25,780
Copyright © 2004 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Java News Desk
JDJ News Desk monitors the world of Java to present IT professionals with updates on technology advances, business trends, new products and standards in the Java and i-technology space.
![]() |
exdlex 02/29/04 12:49:52 PM EST | |||
Funny, that SOA came first then JINI considering that the source code Orbitz bought from datalex a few years ago was based on JINI and SOA it ain''t. You really can''t put too much stock in anything promulgated by a stockholder. I guess it depends on the meaning of the words, "added" and "delete" are. |
||||
![]() |
stf 02/27/04 11:10:26 AM EST | |||
"3.9 million lines of code on its Web site, and 110,000 lines of code being added or deleted on a weekly basis." Is this man kidding?! How the hell does he think he can manage this much code, whether it's SOA or not-SOA? And if he has to add that much code every day, there has to be something seriously wrong with his software-development - is this just a typo or does he have monkeys in his backyard hacking away code?!? |
||||
![]() |
Jim Cakalic 02/27/04 09:50:35 AM EST | |||
Maybe I''m just missing it, but I don''t see anything in this article which really explains the application of a Services-Oriented Architecture or how such a design resulted in a any benefits to either development or deployment. It''s all hype and no substance. |
||||
![]() |
Inet 02/27/04 01:16:40 AM EST | |||
He is bragging. Orbitz''s main fare search engine is licensed package software. |
||||
- Patterns for Building High Performance Applications
- It's the Java vs. C++ Shootout Revisited!
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- Patterns for Building High Performance Applications
- It's the Java vs. C++ Shootout Revisited!
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?
























