Bookmark and Share

Wednesday 20 February 2008

Enterprise Mashups: Agile development in SOA

Although not fully embraced by everyone, it is undeniably true that agile development methodologies have a number of advantages over more traditional, waterfall approaches. The key is the “release early” & “release often” mantra, allowing for continuous feedback between the analyst, end-user and developer. The end result is an application that does more of what the user needs, and less of what others think the user needs.

SOA brings together the best practices of 20 years of software architecture and design. Admittedly, none of its components are new, but never before have all these components been put together into a single open architecture. Combine this with the ubiquitous http network, and you end up with design patterns and a base technology that can make a difference in the way the business can profit from its IT.

At Corizon, we have added the UI Service to this mix: a UI Service provides the means to discover and use UI as one would when accessing data or process services. The service enabled UI, unlike gadgets, widgets and portlets, provides enough metadata and structure to allow the consumer to easily make modifications to this UI, e.g. hiding elements, moving elements or seamlessly combining two elements into one.

These three ingredients open the door to agile development of fit-for-purpose Enterprise Mashups to the end user that wasn’t possible before:

  • More agile : Using UIServices the solution developers don’t have to concern themselves with the problem domain of the underlying business processes, but instead can focus on the needs of the end users, reusing the prefab UI components, and assembling them into a solution.
  • Fit-for-purpose: The prefab UI components are built and maintained by the domain experts. This guarantees the highest quality of “raw materials” for the consumer. In addition by providing the UIService consumers with the capability to modify the UI to fit their needs, the solution developer is able to deliver an application that is fit-for-purpose.

Without UI Services, this agile development of fit-for-purpose Enterprise Mashups will require too many compromises, resulting in a slower release cycle and a far from ideal user interface.