Re-use, re-use, re-use!

06/25/08

Permalink 02:10:06 pm, by Henry Chandra Email , 407 words, 441 views   English (US)
Categories: South East Asian SOA Thought Leadership

Re-use, re-use, re-use!

During my presentation in the “Application Integration Architecture of Excellence” at Sari Pan Pacific Hotel, Jakarta, several questions were asked by the audience related to how much coding and technical development work is required by one organization if they want begin their transition towards SOA.
See presentation slide in SlideShare
Application Integration Architecture of ExcellenceSlideShare | View | Upload your own

The develop-and-deploy paradigm of most IT technical people needs to be changed in light of the re-usability spirit promoted by SOA. SOA is about re-using existing application functionalities and services which have been proven to perform business functions well, then integrate them into an orchestrated service to perform business process. So, the question should not be how much should I develop? It should be how much can I re-use?

When new functionalities are required, an organization can be presented with two options: purchase the packaged application to perform the required business function or develop the application in-house. If purchasing packaged application is opted, then SOA can set the standards for the new application, it has to be SOA-ready (a.k.a. to some technical guys may call it support WS* standards). SOA-ready applications are ready to plug and play to the enterprise service bus, which is the integration backbone of the organization, the effort to integrate it will be relatively minimal. If the organization decides to develop its own application to serve the required business needs, then they need to bear the MVC framework mentality in mind (See: http://en.wikipedia.org/wiki/Model-view-controller). Clear separation between Model-View-Controller has been proven to clearly distinguish business functionalities from the underlying data model and the presentation codes. These business functionalities, which is the “C” in “MVC", can then be aggregated into business services that can be plugged into the enterprise service bus. Without clear separation among the Model-View-Controller functionalities, the newly developed application will be difficult to be service-enabled.

The message delivered by SOA is clear: re-use whenever you can, only develop if you really need to, this will save time and cost, this will enable application delivery faster and cheaper. The integrated services will set the necessary ground for future composite applications built re-using current functionalities. This places more importance on proper SOA management and governance to make sure that service discovery and management can be done efficiently. The ROI of the architecture may not be instant, but in the long run, it will make business more agile and more efficient if done correctly.

Trackback address for this post:

This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)

Comments, Trackbacks, Pingbacks:

Comment from: David [Visitor] Email · http://www.sap.com
What a fantastically informative blog. Some very relevant and leading thoughts. Keep up the great work.

In my opinion MVC, SOA and Web Services are only part of the reuse story. Information technology is still young and the community just takes too damn long to design the future by consensus. INNOVATE I SAY INNOVATE!!!!

In my opinion the most effective design pattern for reuse is actually a derivation of the good old "Command" pattern because all components and their respective object instances (just to clarify the subtle stateless difference between the terms component and object) are equal and can be content-routed to services and handled by any generic components that know how to understand their interfaces.

This creates a powerful layer of abstraction and indirection which permits any object type to be handled by the same software infrastructure. That infrastructure can then be scaled more easily as its characteristics are known.

The basic idea is that objects can be transmitted, received, marshalled, context or content-routed, processed by specific services, integrated and rendered (or "anything...ed") using runtime command component binding. The binding type can be carried in the header or the payload of the object and published to a distributed schema server (a bit like UDDI replication but object schemas not service interfaces). Services interfaces essentially create fixed bindings and maintenance headaches... major ones (for example this is why the whole SOA Governance thing exists today).

To me this type of framework is one step beyond SOA and SCA and more maintanable as an infrastructure due to the fact that the interfaces are defined within the object and introspected. The component-object metadata determines everything.

I call it CCA (Command Component Architecture)... Watch out guys because it could be the next big thing... DAVID FORDEN 2008...

In stark contrast SOA Web services are quite simply hard coded RPC interfaces that can be bound into processes and published in a yellow pages... What happens when somebody's phone number changes or they change provider??? Isn't that why number portability was created.

CCA - The "number portability" of component services.

Anyway... just an opinion.
PermalinkPermalink 06/26/08 @ 22:00

Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))
This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)

Hosted by:
hosted by PWS Consulting

The South East Asia SOA Weblog

The intention of this blog is to collect thoughts on the issues, paradigms, process, vendors, solutions, project and any other item related service oriented architecture in South East Asia.

July 2010
Sun Mon Tue Wed Thu Fri Sat
 << <   > >>
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Search

XML Feeds

What is RSS?

Who's Online?

  • Guest Users: 2