Tuesday, September 9, 2003

What's The New Glue Required To Make An Enterprise-Ready Composite Application

CIO.com - Judith Hurwitz - Composite Applications: Leveraging Assets for New Business Models

Judith starts to make the case that IT executives should be able to take advantage of Service Oriented Architectures (SOA) without implementing new programming models. But with the lack of ERP support (or at least immaturity) for the essential elements of SOA, much less the ability to 'glue' services inside and outside their application walls together to form new composite applications, there is something missing. And something New that needs to be available to make it all happen. BPMS?

While Judith provides background of composite applications and their benefits for implementing changing business processes quickly, it raises some questions for folks swimming in a sea of both legacy applications (without even basic service architecture orientation) and ERP systems that are just beginning to enable public usage of their components via web services.

"Let's start with what composite applications are not: they are not a new programming model. A composite application links together the right parts of applications in the right way to initiate a new business practice without having to start from scratch. Composite applications require a service oriented architecture (SOA) in order to become a reality."

Q: Don't they also require at a minimum an enterprise-ready scripting environment for tying the services together to make the process? At a maximum, it seems like the Business Process Management (BPM) tools enabled by the Business Process Modeling Language (BPML) are necessary to truly implement processes that can be monitored and analyzed the way enterprise-ready processes should. And I imagine that the former hasn't really been necessary and the latter is a large step forward. So why doesn't this rise to the level of a new programming model?

"It is interesting to note that the most prominent software and infrastructure companies have a composite application strategy. SAP has a strong focus on composite applications and is devoting as much as a third of its overall R&D efforts in this direction. In the long run, SAP would like to provide its customers with the ability to create new business processes on the fly without having to rebuild what they already have."

To me, it seems like most software and infrastructure companies are just starting to implement the web services functionality that allow them to participate in composite applications, but not necessarily implement them cradle to grave (and especially when services outside of their own application world need to be part of the process). I think the use of "In the long run..." indicates some level of complexity that needs to be scaled either now or in the future for most companies wanting to take advantage of composite applications. And that complexity to me equates to a new programming model. Something new has to be implemented, and for enterprise level processes, it still seems mighty steep.

Judith does represent the real world of today when she talks about the building blocks of composite applications and how even the most ubiquitous applications like SAP are just getting up to the minimum standards, out of the box, to participate in composite applications,

"many of the packaged applications on the market today do not have published, public interfaces. Even when the application does have published interfaces (such as SAP's BAPIs) there may be so many of them that they are hard to navigate. In addition, many of the applications that are the cornerstone for major corporations are designed with monolithic code bases ó they are not modular services. More importantly, the parts of these applications are not "stateless", that is that there are dependencies across the application so it may not be easy to isolate one piece of code and have it be meaningful.

The article ends up with some pretty concrete points for starting the process of implementing composite applications, including this one that seems to be the direction that things are moving in,

"Begin the process of moving to a Services Oriented Architecture and adopting composite applications as your preferred strategy moving forward."

But I still feel that even if you don't call it a new programming model, there are some new tools and processes that need to be implemented in most IT environments to begin to develop composite applications. Just using the word 'develop' seems to indicate as much to me. My thought is that BPMS is what this new programming model is. But I'm just a wanna-be!
2:03:48 PM    comment []  trackback []  Google It!  
- See Also:  Business Process Engineering * Information Technology