Producing and Consuming Business Services, Page 2
Roles and Responsibilities
The provider and consumer parties may reside in the same organization, different organizations, or even different companies. Each party will have the traditional roles in an IT organization: managers, architects, modelers, business analysts, developers, and quality assurance among others. All of these roles play a part in providing and consuming business services.
Business Service Provider Roles and Responsibilities
Let's take a look at typical roles within a service provider organization and discuss its responsibilities.
An architect provides the service-oriented architecture platform to build, deploy and manage business services. The architect works with the business analyst to determine the non-functional requirements such as reliability, availability, scalability, performance, and security. The architect will also capture and analyze service metrics and initiate improvements to the service and service infrastructure.
A modeler will identify potential services and their fit within the logical service model. The modeler ensures that the service registry contains a coherent catalog of business services and not a junk drawer of services.
A business analyst writes the functional specifications for the business service and works with the architect to determine the non-functional requirements. The business analyst will also initiate changes to the service and applications that utilize the service.
Quality assurance performs functional and non-functional testing of a service. The functional testing determines whether the service meets the functional requirements as defined by the business analyst. The non-functional testing determines whether the service meets its reliability, availability, scalability, performance, and security requirements. An important part of the quality assurance role is running regression tests against a service to be sure it continues to support existing features when new features are added.
A developer uses the service-oriented development platform to build, deploy, and maintain services. Services may be published in internal and external registries to provide clients the service endpoints and interfaces. The developer may provide an implementation or user guide for clients of the service, and may even build and distribute a client proxy component as a convenience to service clients. The developer will use the service-oriented architecture platform to analyze and bring to resolution any problems with a service.
A service manager orchestrates the development, maintenance, and operational support processes. The service manager should know who all the service consumers are and keep a client registry containing contact information. The client registry is distinct from the service registry of published services and service requests. Service metrics will be used to bill clients directly or indirectly.
Business Service Consumer Roles and Responsibilities
Let's take a look at each role within a service consumer organization and discuss its responsibilities.
An architect is responsible for determining the service consumer platform. This may include utilizing a proxy component provided by the service provider. The architect will determine whether the quality attributes of the service meet the needs of the consuming organization and will outline risk mitigation alternatives. For example, it's possible to call a synchronous service asynchronously to provide immediate response requirements.
A modeler identifies candidate services in the logical service model and service registries to be used to meet project needs.
A business analyst determines whether the functional specification for the business service meets the project needs. There may be collaboration with the business analyst in the provider organization to extend the business service capabilities.
Quality assurance does not test the service per se, but the application using the service. Depending upon the trust level of the service provider, there may be some duplicate functional testing. Quality assurance also ensures that the business service meets its promised non-functional requirements or quality attributes.
A developer assembles an application from the business services identified by the modeler and business analyst. The service-oriented consumer platform is used to look up business services in a registry and execute service requests or methods.
The application manager runs projects to implement new business functionality, some of which is contained in business services. The manager will initiate and coordinate work with partnering areas such as the service provider. One of the primary goals of the manager in the consuming application is to reduce timeframes and risk by reusing existing business services where possible and practical. Service usage audits provided by the consumer platform will be used to validate any invoices from the service provider.
While service oriented architecture is maturing, parties may be jumping in without understanding the nature of the relationship between service providers and consumers. Service providers and consumers enter into a contractual relationship with one another, promising certain benefits and entailing certain risks. Before becoming a service provider or consumer, the benefits must be weighed versus the commitment required and risks to be managed. We discussed these stakes as well as the roles and responsibilities in the service provider and consumer organizations. Service orientation is about more than architecture. Understand the organizing principles of producing and consuming business services in order to fully achieve the promised benefits. The rest is up to you!
About the Author
|Jeff Ryan is an architect for Hartford Financial Services. He has twenty years experience designing, developing and delivering automated solutions to business problems. His current focus is on Java, XML and Service Oriented Architecture. He may be reached at firstname.lastname@example.org.|