This is related to Application No. ______ filed ______ titled “GOAL-SERVICE MODELING”, which is hereby incorporated herein by reference.
The invention relates to methods of engaging a client company for the purpose of business transformation. More particularly, the invention relates to methods for moving from prior art business models created through component business modeling or other techniques to new models required by a service-oriented architecture solution design.
Object-oriented applications are built on the structuring elements of classes and objects. More recent business modeling techniques group objects into components and expose interfaces. Components, therefore, have become the primary structuring unit of business software applications. Components represent a run-time deployable unit of functionality.
For example, Rackham in US Patent application US2005/0203784 describes a method of providing business process services to a client company through components of activities. The components are groups of cohesive business activities supported by appropriate processes, applications, infrastructure, and metrics. Veryard describes component modeling in his book, The Component Based Business, published by Springer-Verlog, London 2001. Underwood in U.S. Pat. No. 6,601,233 describes a framework for business components. The documents listed above by Rackham, Veryard, and Underwood are hereby incorporated by reference in their entireties for any purpose.
The use of service-oriented architecture (SOA) techniques decouples interfaces from implementation through use of its service provider and service consumer structure. With SOA, services are the primary structuring element for business applications. Service-oriented architecture implementations are described in the papers “Service-Oriented Architecture: Programming Model and Product Architecture,” by Ferguson and Stockton, IBM Systems Journal, Volume 44, No. 4, October 2005, pp. 753-780, and “Impact of Service Orientation at the Business Level,” by Cherbakov et al., IBM Systems Journal, Volume 44, No. 4, December 2005, pp. 653-668. These two papers are hereby incorporated by reference.
Service-oriented modeling is necessary to build a service-oriented architecture. Service-oriented modeling includes identification, specification, and realization of services, components, and flows. It requires modeling the attributes of each service and their relationships. It is a method for the analysis and design of services.
Service-oriented modeling methods 14, therefore, take their inputs from component based modeling approaches 12 and deliver their outputs to a service-oriented architecture implementation 16 as shown in
It is therefore a principal object of the present invention to provide an improved service-oriented modeling method.
It is another object to provide such a method wherein enhanced service-oriented architecture implementations are possible.
It is yet another object of the invention to provide a method for service-oriented modeling which can be accomplished in a facile manner.
These and other objects are attained in accordance with one embodiment of the invention wherein there is provided a method of determining services for a business, comprising the steps of, identifying goals and sub-goals for a business, identifying services for fulfilling each of the sub-goals; and identifying performance indicators for each of the sub-goals, each of the indicators having a metric for the corresponding service.
In accordance with another embodiment of the invention, there is provided a method of evaluating a service for exposure, comprising the steps of; performing a business alignment test, performing a composability test, performing an externalized service description test, and exposing the service only when all of the tests are successfully passed.
For a better understanding of the present invention, together with other and further objects, advantages and capabilities thereof, reference is made to the following disclosure and the appended claims in connection with the above-described drawings.
In
As used herein, a service is taken to mean a software resource with an externalized service specification. This service specification is available for searching, binding, and invocation by a service consumer. A service provider realizes the service specification implementation and also delivers the quality of service required by the service consumer. Services are governed by declarative policies and thus support a dynamically re-configurable architectural style.
A domain shall be taken to denote a large business area consisting of a logical grouping of business capabilities that provide related business functions and require similar skills and expertise, such as financial services management, product development, or business administration. A domain corresponds to a component business modeling (CBM) competency.
Services hierarchy 22 consists of candidate services organized using a business significant categorization scheme. This makes evaluation of the candidate service more manageable, and helps avoid unnecessary service proliferation. The categorization may be as simple as an outline or as involved as semantic web taxonomy or ontology. The service exposure element 23 lists decisions of why a given candidate service in service hierarchy 22 was exposed. Service dependencies 24 lists dependencies between services in model 20. Service composition 25, if needed, is a choreography of service to form a composite service. Service NFRs 26 are non-functional requirements of the services. Service messages 27 are messages that are exchanged between a service consumer and a service provider. State management 28 are architectural decisions relating to state management. Realization decisions 29 are architectural decisions dealing with how the services will be realized, such as buy, build, or subscribe.
Goal-service modeling 32 identifies services for portfolio 21 by linking business goals with services that will fulfill these. Business organizations define goals to meet their mission and to set strategic direction. The terms goals, business goals, and strategic goals are often used to mean business aspirations. As used herein, the term goal shall denote a business aspiration, such as increase revenue by five percent.
Once a business has analyzed its mission and defined its goals, it needs a way to measure progress toward those goals. Key performance indicators (KPIs), also known as key success indicators or key business indicators are used by businesses to define and measure progress toward their goals. As used herein, KPIs represent quantifiable, measurable objectives, agreed to beforehand, that reflect the critical success factors of an organization.
KPIs differ depending on an industry or organization. A sales organization may use the percentage of its sales that come from return customers. A customer service organization may measure the number of customer service calls answered in less than one minute. To determine if the objectives associated with a KPI are being met, the KPI may need to be broken down into one or more metrics, which are specific measurements to collect for analysis, such as time to close an average sales deal.
While the primary objective of the goal-service modeling method is to align services with business goals and identify services, the method is also used to filter out those services that do not meet business goals. The identified services are added to service portfolio 21 along with services those services identified using the domain decomposition 31 and existing asset analysis 33 processes. Services added to portfolio 21 at this identification stage are service candidates, not a final decision on service exposure.
Using the goal-service modeling method 40 shown in
Goals give an indication of what really matters to a business at a specific point in time and what will be a priority in the future. Therefore, goals are identified that are important within a context of an initial scoping effort for a project. For example, component business modeling or other business modeling and analysis methods may provide a means to define the scope and focus of a project. The focus area will be the context in which business goals are analyzed. High level goals tend to be vague, such as quality and revenue. These are broken down to more detailed sub-goals that are pre-requisites to the achievement of high level goals. The goals and sub-goals may be identified through interviews with executives and financial analysts in the business.
If new services are identified in step 43, they are added to service portfolio 21 of service model 20. In step 45, for each of the sub-goals, KPIs are identified that will be used to determine metrics that can be measured for the attainment of the sub-goals through the identified services. The KPIs will provide the business with a measure of success in meeting its goals and sub-goals. For example, for a goal of increase revenue, a KPI could be to increase revenue by five percent during the next fiscal year. This provides a specific way to determine if the goal has been met.
Metrics identify the type of measurements that need to be collected to assess the state of the KPIs. For the example KPI above, a metric could be to record the revenue from all revenue generating transactions.
The identified services and indicators may be entered into a database running on an information handling system (IHS), such as an ordinary workstation computer, laptop, server, or the like. Software code may also be running on the IHS for assisting the identifying and entry of goals and sub-goals. Code may also assist in identifying and entry of services, indicators, and metrics into the database. The code may be created and executed in any known programming language.
Once candidate services have been identified and entered into service portfolio 21, it is necessary to determine which of these candidate services should be exposed. As used herein, exposed shall be taken to mean generating a service description which can be shown to customers and to fund the creation of a component that will provide the functionality of the service, as well as, the maintenance, monitoring, security, performance, and service level of the service. Although any candidate service could be exposed, not every candidate service should be exposed for economic, marketing, and performance reasons.
A method of determining which candidate services should be exposed for optimum business results is shown in
Business alignment test 52 may comprise the questions in Table 1 below, all of which must be answered positively in order for the candidate service to have business alignment and therefore pass test 52.
Composability test 53 determines whether a candidate service is able to participate in a composition. That is, can the service be combined with other services in a choreography for a business solution. For example, services are typically developed in a specific context. To be composable, a service should be able to be used in a different context from the one in which it was developed. If the service is dependent on a relatively large number of other services each of which are not guaranteed to be accessible in the new context, or do not conform to service level agreements in the new context, then the service will not be considered a composable service.
A composability test may comprise the set of questions shown below in Table 2. All three questions must be answered positively in order to pass the test. However, the first question can be answered positively if any one of its sub-questions are answered positively.
External service description test 54 determines whether a candidate service has an interface (either propriety or open) that is externalized and discovered, i.e., can be discovered through its meta-data. For example, a WSDL (web services description language) or XML (extensible markup language) representation of an internal format may comprise the interface specification in the case of legacy services.
External service description test 54 may comprise the questions shown below in Table 3. All of the questions must be answered positively in order to pass test 54.
Redundancy test 55 determines whether a candidate service can be eliminated. A redundancy test may comprise the question shown below in Table 4.
As shown in
It is important to take note that a candidate service which is not chosen for exposure using the method of
While there have been shown and described what are at present considered the preferred embodiments of the invention, it will be obvious to those skilled in the art that various changes and modifications may be made therein without departing from the scope of the invention as defined by the appended claims.