The combination of business process management (BPM) with service-oriented architecture (SOA) is driving modeling for application development, said Steve Hendrick, group vice president of application development research at Independent Data Corp. (IDC).
Commenting on this week's release of model-driven SOA tools by Telelogic AB, he said, "I don't see where if you want to address SOA in a scaleable way, you can go down that path without support for modeling."
As enterprise IT looks for a more structured and consistent way of building applications so that it can get the SOA benefits of Web services reuse, modeling from the high level business requirements to the nitty-gritty processes provides a way to do that, Hendrick said. But it is a trend that most analysts, himself included, did not expect to emerge so quickly.
"Many of us underestimated just how fast business process modeling would become a topical issue for organizations," he said. "Historically, we only had UML process modeling that was low level and wasn't much use in SOA."
Back in the day, developers pretty much stuck with gathering requirements, which usually ended up gathering dust on a shelf, and then got down to coding applications. With the adoption of SOA and BPM and attendant technologies, including business process modeling notation (BPMN) and business process execution language (BPEL), that approach is going over the application development waterfall in a barrel.
"In the last couple years the thrust of BPMN brought business process modeling to the forefront," Hendrick said. "This whole idea of being able to get BPMN specified and link that to BPEL and do some automated code generation is intriguing, especially when you combine that with the business rules capability that most of the BPMN vendors offer."
Telelogic is leading the way, the analyst said, with this week's integration of its Tau model driven development tool with System Architect, the enterprise architecture tool it acquired with its purchase of Popkin Software and Systems Inc. in 2005.
"Now that Telelogic has been able to link the Tau and System Architect products together that gives them the ability to provide a more structured model-driven approach to app dev all the way from requirements through IT architecture," Hendrick said. "We now have a more soup-to-nuts structured approach to how we think about doing application development from a modeling perspective."
In Telelogic's vision, model-driven SOA starts with the high level business requirements soup and goes down to the Web services nuts.
At the nuts level, Scott McKorkle, director of product marketing at Telelogic said Tau now includes a Web-enabled SOA simulator.
"Tau has always been able to build a design model for a distributed application or any sort of application and then execute that model, run the design from beginning to end and see how it functions, whether it behaves the way you wanted and verify functionality before moving to the next step," he explained.
Web-enabled, Tau can now help the SOA developer see how Web services will interact in an application.
"The model can now call and execute Web services over the Internet using SOAP to go out and call existing Web services just like a real distributed application running in a SOA environment would," McKorkle said. "In the past you would have to simulate all that functionality in your design model."
Architects working with business services are also able to do orchestration simulation using it to call the Web services just as an application server would, he said.
Is this level of modeling important to the success of SOA?
"I think so," Hendrick said, "because one of the SOA subtexts is all about the whole issue of reuse. Realistically if you really want to get to reuse, you really want to have a higher level model-based oversight on what the different components are and how they interact."
Model-driven SOA provides a way to check from beginning to end that the application is consistent with the high-level business goals and the low-level Web services capabilities.
"The advantage of dealing with this all on a logical model level is that as you spec applications and build them, you can tell from the models whether or not you have consistency in your design," Hendrick said. "That's going to save you a whole lot of time and energy."