Imperatives of service oriented SOA development and design

Software development techniques and Agile methodologies

The three imperatives of service oriented software development and design

By Randall Nagy

TheServerSide.com


When enterprise software professionals architect a service oriented solution, whether taking a SOAP, REST or BEST based approach, these  three imperatives must always be taken into account:

Any service can disruptively be required to embrace numerous formats, versions, and data types.

Randall Nagy, Principle Engineer with Soft9000

1. No service is forever

The first imperative is the reality that no single service technology will last forever. In our present, blissful age of automation, the mere fact that anyone is talking to us about new projects proves this to be true. With this in mind, the services we create must be designed to adapt to many types of technical change, and this means designing in flexible facades and configurable adapters from the onset, and not adding them in later as an afterthought.

2. Services get disrupted

The next imperative is that regulations and business agreements change, which means any single service can at any point in time disruptively be required to accommodate new formats, versions, and data types.

3. Services exist beyond their software shell

Finally, software architects need to understand that a service has little to do with any individual, isolated, module of code. In fact, when viewed from the eyes of a seasoned subject matter expert (SME,) a business service is understood to be a cooperative process, not just piece of software running on a server somewhere. Services are about satisfying business needs, not technical requirements.  Good business services involve workflow, and when workflow is involved, service components that can cooperate with each other are the key.

These are the realities that subject matter experts in the field of service oriented development must understand and appreciate when developing viable and adaptable enterprise solutions, and by keeping these imperatives in mind, software architects and systems developers will be much more successful in developing adaptable endpoints and flexible mechanisms of data exchange that are capable of both anticipating and embracing the changes that all service oriented architectures will inevitably experience throughout their lifecycles.

Let us know about your best practices and philosophies for best approaching the development of service oriented systems.

13 Apr 2013

Related Content

Related Resources

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.