Pages

2010-12-17

SOA what?? Part I

Been a while since posting to my blog...whow knows what SOA is? I can tell you that's it's a powerful set of methodologies that serve many benefits. Most obvious is the way in which information can be exposed and avaialble for consumption, consumption far beyond just storing data, but building solutions that integrate with this data sharing concept in the cloud.

Exchanging data, or the concept of the data exchange, is a very cool way of making your data available; in turn, a consumer of this data can do something useful (write an app that uses this data to solve a business imperative, for example) with it or simply be a subscriber of it.

The interesting dilemma for an organization today is not in the creation of such a data exchange - this is the rather simple part of hte equation. We can stand up data exchanges all day long that expose information - albeit, there is a tremendous need for clean data, so the backend must be able to support this or some large data scrubbing effort is probably needed. The difficult part is writing or extending a client solution to consume this data and do something useful with it - the "work". Understanding business processes in that client organization and how this newly exposed information can be used to solve them requires time and money. It's ever apparent that most organizations simply do not have existing records, documentation, goals, and needs well documented to understand where in the current processes these calls to the data exchanges could/should be made in order to solve the business problem. This is where the bulk of the effort and work lies, and this is where a skilled team is needed to consult and help strategize the how/where/when/why's of hooking up to a data exchange. This requires business analysis, domain expertise, data architects, and tight inclusion of those stakeholders exposing the data to the exchange and those stakeholders expecting to utilize this data to do work.

Moreover, think of the complexities involved. We need to determine the granularity of such an exchange - to what degree is a business capability exposed - is it super granular such that the message interface (xml) is very narrow allowing getting minute pieces of that data structure (age, birthdate, last violation, etc) or do we provide an aggregated exchange, but also bloat the size of the message interface. Here, we could establish a capability to Add a Debt Collection. This could involve associating a person, a debt type, a payment type, a debt amount, etc.

Summary for now...a data exchange is a good exmample of the SOA software strategy, but it requires much work during planning of the data to be exchanged, but most importantly, requires tight integration with consumers of such data structures and even more so a deep understanding of how current or future solutions need to be written to successfully consume these exchanges - pushing work out to the cloud, while also utilizing this data to solve business problems.

...so what does SOA really mean? More on that later...still unsure what the acronym stands for? Ok, it means Service Oriented Architecture. Come back for more discussion.

No comments: