Monday, September 24, 2012


The Service Oriented Organization

In our discussions there have been many questions regarding the concept of service oriented software.  A great deal of the confusion is rooted in our everyday notion of service.  In lay terms, services are often contrasted with products.  However, in business terms, products are things that are produced through a process, which means services are a technically a product, which is why in business, service is contrasted with goods.  The difference between the two is that goods are tangible services are intangible.  The easy way to remember the difference is a producer of goods “makes” something for you and a producer of services “does” something for you.  In either case, it is the benefit provided by goods and services that are consumed and valued.

Based on the notion that people do things for other people, you can begin to imagine that within most organizations, service relationships are all over the place.  For example, we could say that the human resource department provides staffing services to management.  This notion actually began to emerge right after World War II.  It formed a school of thought that became known as the Nordic School.  By the 1970’s the school of thought was extremely mature and the application of it was producing results.  In the late 1970’s this concept of service relationships was made globally famous by the dramatic turnaround of Scandinavian Airlines.  Quickly the idea expanded to the United Kingdom which developed the concept of managing IT as a service.  In the early 1980’s the practice of Information Technology Service Management (ITSM) was born and the associated standards were captured in the Information Technology Infrastructure Library (ITIL).  Today, ITIL is the global standard for managing IT.

It is important to remember, when the organizational service concept began as a chain of service roles, technology was not a factor, which means the first 40 years of evolution was dominated by processes and practices.  Service Oriented technology has emerged over the last 20 years.

In software engineering, a service-oriented architecture (SOA) is a set of principles and methodologies for designing and developing software in the form of interoperable services.  These services are well-defined business functionalities that are built as software components (discrete pieces of code and/or data structures) that can be reused for different purposes.  SOA design principles are used during the phases of systems development and integration.
SOA generally provides a way for consumers of services, such as web-based applications, to be aware of available SOA-based services.  For example, several disparate departments within a company may develop and deploy SOA services in different implementation languages; their respective clients will benefit from a well-defined interface to access them.  Extensible markup language (XML) is often used for interfacing with SOA services, though this is not required.  Java Script Object Notation (JSON) is also becoming increasingly common.

SOA defines how to integrate widely disparate applications for a Web-based environment and uses multiple implementation platforms.  Rather than defining an application programming interface (API), SOA defines the interface in terms of protocols and functionality.  An endpoint is the entry point for such a SOA implementation.
Service-orientation requires loose coupling of services with operating systems (OS) and other technologies that underlie applications.  SOA separates functions into distinct units, or services, which developers make accessible over a network in order to allow users to combine and reuse them in the production of applications.  These services and their corresponding consumers communicate with each other by passing data in a well-defined, shared format, or by coordinating an activity between two or more services.

SOA can be seen in a continuum, from older concepts of distributed computing and modular programming, through SOA, and on to current practices of web mash-ups, Software As A Service (SaaS), and cloud computing (which some see as the offspring of SOA).

Service oriented technology is nothing without people.  Today, service oriented organizations have the benefit of almost 70 years of evolving thought, proven processes, practices and technology.  We know that the heart of a service is a relationship, which means that people need to build and maintain them.  Which means the most important part of becoming a service oriented organizations is developing service oriented people and relationships.

No comments: