The changing face of application development
- By John K. Waters
Application integration has become a crucial challenge, both for developers designing the apps, and businesses acquiring them, says analyst firm Gartner. In fact, 75 percent of all new applications being developed today use some kind of integration technology.
"In the past, we didn't have to make them work together because we had people doing the integration," says Roy Schulte, VP and distinguished analyst at Gartner Research. "Now we've got applications talking to applications all over the place. And so it's something everybody has to do all the time."
Gartner has determined that this demand for app integration is at the heart of five architectural trends that are changing the way business apps are designed and provided. Schulte, who is Gartner's research team leader for app integration and middleware, shared those trends with attendees at the annual Gartner Symposium/ITxpo in San Francisco on Monday.
Those trends include:
1. Service-oriented architecture: SOA may be getting an exhaustive amount of press these days, but Schulte says it's one of the most important trends, because it changes the nature of application software. "I know you're sick of hearing about it," Schulte told his audience, "but this is a fundamental change. And you'll all be going to SOA, whether you decide to decide to go or not. Some of you will go because you think it's a good idea, and you'll write your applications for SOA. Others will be doing accidental architecture: You'll get to SOA because you'll buy a packaged app and the developer will have put SOA under the covers."
The newest generation of software development tools is set up to support service-oriented architectures, Schulte added, and the schools are teaching the next generation of developers to build software for it. "You have to work really hard not to build service-oriented architecture now," he says.
2. Enterprise Service Bus: When you change the architecture of applications, you also have to change the middleware infrastructure running under those applications, Schulte said. "You can't do SOA using the kind of middleware you used for the past 20 years to build distributed applications," he said. "Object request brokers, TP monitors, application servers, RPCs, sockets—they're all great but they're not good for SOA and event-driven architecture. Therefore, you will have to change your underlying software infrastructure to use enterprise service buses."
However, it won't be long before most business aren't actually buying a product called an ESB, but will instead gain that functionality through other products that include them. The upcoming Windows Vista operating system, for example, includes the Windows Communication Foundation (WCF) architecture. "You'll buy an integration suite from Tibco, WebMethods, IBM, or Oracle with an ESB in it," Schulte said. "You'll be using an ESB because it really is the right infrastructure for SOA and event-driven architectures, but you may not be choosing it."
3. Integration logic: For some time now, best practices have defined apps in terms of combinations of presentation logic, business logic and data logic. Schulte says that definition has been expanded to include integration logic. "I cannot understand why this is not talked about more than it is," he said. "There is a fourth type of logic that is now being thought of and designed separately from the other three. That is a very big change in application design."
4. Middleware appliances: Schulte advised his audience to think of these specialized pieces of hardware running middleware functions as ESBs in a box. "They only run some of those middleware functions, so they're not a one-to-one replacement for an ESB in most scenarios, but a compliment," he said. "But it's a very different kind of thing to imagine. You might buy another box that's going to sit there on your rack, and it's going to do some of the integration logic for you."
5. Event processing: Schulte calls event processing "the secret sauce of situational awareness," and he says that it will be one of the most discussed trends over the next 5 years. So-called complex event processing (CEP) is an emerging technology that creates situational knowledge from distributed message-based systems, databases, and applications in real or near real time. "In many parts of the industry you'll hear discussions about why we need to sense and respond better," Schulte explained, "why you have be able to use predictions, and be able to understand and anticipate in advance before the stuff hits the fan. This isn't about writing applications that run faster; it's about writing applications with a different style of algorithm inside them. It's a different approach to computing that is event-driven. Situational awareness doesn't mean taking over systems and running them fast, it means changing how they work under the covers."
John K. Waters is a freelance writer based in Silicon Valley. He can be reached