Service-oriented architecture (SOA) is the theme of this year's eWorld conference. In his opening keynote, BEA CEO Alfred Chuang explained that "Deploy SOA Now" is an urgent message. He said that the "whole industry is making plans around SOA. They have plans. We have deployments." After Chuang outlined BEA's liquid computing vision, CTO Scott Dietzen returned to expand on the theme of SOA.
The Vision of Liquid Computing
In his keynote, Chuang said liquid computing is a goal, not a product. The goal is to enable developers to provide a system that is "flexible and instantly adapts itself to flow around and over obstacles." The three components of Liquid computing are enterprise compatibility, active adaptability, and breakthrough productivity.The problems addressed by enterprise compatibility resonated with the audience. Chuang recognized the difficulty and costs in trying to connect applications that were never designed to work together. Over the lifetime of an application, the maintenance costs overwhelm the development costs. "You're caught in a never-ending cycle of integration," he said.
Chuang explained the new direction of compatibility, which he argued is cheaper and more flexible than integration. He stressed that compatibility includes the ability of applications created with SOA and WebLogic 8.1 to extend beyond BEA's platform to interact and connect to applications from different vendors. Chuang declared an end to the era of integration.
Active adaptibility is the response to and anticipation of changes to business demands. Half of the battle in IT is keeping up with business demands that are constantly changing. In his explanatory graph, Chuang noted that business needs continued to rise. The needs that IT are able to address lags behind, and the difference between them becomes the IT gap. "In violation of all business logic, IT solutions get more expensive after they deploy," Chuang said.
The goal of active adaptibility is to make change simple, fast, and inexpensive. The more frequently you are able to make updates to what IT provides, the more you will reduce the aggregate IT gap. For BEA, the ultimate goal is to automate change.
Foreshadowing Dietzen's talk on service-oriented architecture, Chuang concluded, "SOA is the first step on a journey whose destination is liquid computing."
The Move to SOA
In his address, Dietzen outlined his view of the current situation. "Enterprise applications today tend to be big and unwieldy," Dietzen said. "We don't tend to get reuse across applications." According to Dietzen, the way to dig ourselves out of this hole we've made in IT is SOA. He pointed out that in many ways we are building on what we have known for a long time. "The principles of SOA are just about modular programming practice," he said. "They've been part of distributed computing for decades."
The problem, however, continues to be in the implementation. Dietzen said that with JSPs the notion of JavaBeans was "introduced to separate logic from data model, and yet we saw the same intermingling that makes SOA hard and complicates orchestration."
Dietzen detailed many of the factors that contribute to making inter-application reuse inherently hard. The people building code on different applications generally do not work in the same place or even on the same schedules. Each team has its own view on what things like a Customer or Order look like. It is these local decisions that contribute to making inter-application reuse so difficult.
Dietzen spent some time looking at how we might reduce the fragility of inter-application connections so that you can make a local change without breaking a neighbor. Examples can be found in the use of SQL, HTML, VM architecture, and XML, which have each been used to provide loose coupling. XML, for example, admits a well-typed contract through schema and WSDL. Get the contract right and you can change applications on either side without breaking the other, he noted.
"Prior cuts at this middleware bus have either favored RPC or messaging and both are critical," Dietzen said, adding that you benefit from an infrastructure that can support both synchronus and asynchronus transaction. With the emerging stack of Web Services protocols designed to deliver enterprise compatibility, the Web becomes the enterprise service bus. Things that connect into the framework are just smart endpoints.
Dietzen encouraged developers in the audience to not just wrap endpoints, but to wrap them in a way that provides the right long-term business contract. He reminded them not to forget the "A in SOA," saying that many people don't spend enough time getting the endpoint services defined. These are the decisions we'll be living with for a long time. He encouraged a focus on the inter-application datatypes, and schemas and cautioned the tendency to create a new vocabulary for each new application. Developers need to "constrain the proliferation of vocabularies.
The Top Ten
Dietzen began his talk by promising a top ten list of the not-so-brilliant moments in Java history. Referring to the movie "Spinal Tap," Dietzen joked that his top ten list "goes to eleven." His first item, No. 11 on the list, was the statement, "Don't you know that HTML clients are history? With Java on the Desktop, nobody's gonna be using JSP or servlets by 2000."
"Java on the server? ... Are you crazy?" came in at No. 8, with the corollary, "Linux on the server? ... Are you crazy?" At No. 6 was the question, "What would you call a scripting language that has nothing to do with Java?" The answer, of course, is "JavaScript." He followed this with "What would you call one that does?" with its answer, "Groovy."
Item No. 2 was Bill Gates' quote, "Anybody who thinks a little 9000-line program [Java] that's distributed free and can be cloned by anyone is going to affect anything we do at Microsoft has his head screwed on wrong."