Monday, January 22, 2007

Service Identfication

Continuted reserach on Services Identificaiton. In particular Eric Marks book had some interesting insights into Services Identificaiton. Here are some notes and observations :

• Service Identification , Analysis and Design is poorly understood and goes to the heart of a successful SOA
Questions which need Answers…
• What are Services in my project and How do we identify Business Services in our environment?
• Which Services do we start with?
• How do we model and implement SOA Services that are optimal for our business?
• How do we determine Service Granularity?
• How do we determine Service Re-use?
• How did we prioritize Services – determining which ones are more immediately critical to business success?
• How to analyze and design services?


• Before Service Identification can begin, we must go through SOA Business Modeling and Value Analysis Process. These will help to focus the initial identification of Services.



Candidate Business Services
• Top Down and Bottom Up Iterations will eventually identify the core services of an SOA.
• This is called a “Services Driven SOA” – where the Services Identification process will drive everything else : The Technology , Governance Model and Metrics.
Candidate Business Services
Example of Candidate Business Services
Candidate Service Validation
Business Impact Analysis
• Business Value - Does the service have business value?
• ROI - Does it offer cost savings, revenue growth, productivity, customer satisfaction,
• Re-usability - Is it reusable within and across business or process domains?Are those domains important to business? What are the consumption patterns for the service candidate?
• Business Scalability - Does the service address current and future business needs?
• Agility – What are the agility needs of the business ?
Service Feasibility


Technical Feasibility


Business Services Roadmap
After completing the Candidate Services Analysis we can create a Business Services Roadmap - This is a prioritized sequence of services based on their value to the organization
Candidate Service Identificaiton
• The following are six possible ways to identify candidate business services
• 1. Business process analysis
• 2. Core entity analysis
• 3. Opportunistically via budgeted initiatives
• 4. Business or domain expertise
• 5. Preexisting services
• 6. Existing business applications



1. Business process analysis
• Suited to organizations which have completed and maintained detailed process analysis of all major business and process domaons. The high level business value analysis done prior to service identification will help to drive this process of identifying the candidate business services from within the process domain.

1. Business process analysis
1. Perform a high level value chain analysis of your organization.
2. Develop a high-level process map of your enterprise.
3. From this process map, identify candidate business services that relate to these major business processes.
4. Based on these candidate business services, either:
prioritize these services first before continuing on to services modeling; OR Begin modeling for all of these services at once.NOW WE CAN START DESIGN ACTIVITY. (Having a process map jump starts the analysis part of the Modelling)

Core Entity Analysis
• Data modeling perspective.
• Study Data Models, ER diagrams (typically built in Erwin or a similar tool)

Core Entity Analysis
• Identify all Business Entities
• Identify a subset of important (core) ones
• Core Data Entities are more granular than Business Entities – they can answer questions related to who , when , where , why and how?
• Good point to begin Service Identification


• Not all organizations want to implement Business Process modelling prior to an SOA undertaking (too time consuming and complex). In such cases , core entity analysis provides an expedient starting point
Performing Core Entity Analysis
• Brain-Storimng sessions that answer these questions:
• What are the core business entities?What are the major Business “Nouns” found in these entities?
• What services currently touch these Entities? What are the “Verbs” that act on the nouns?

Example
• Customer is a core business entity

• Add Customer Service is a candidate business service
• Customer Summary Information Service is a candidate business service
3. Opportunistic
• Find already budgeted projects and use them to identify SOA Candidate Services
• Most common . Least Ideal.
• Because as the Service Identificaiton Service unfolds it may become clear that priorities need to change! (Better to let the Business Needs drive the priorotization than the current budget)
4. BUSINESS AND DOMAIN EXPERTISE
• Bring together all key stake holders to identify the business candidates services based on their deep domain knowledge and experience Used in conjunction with Process and/or Core Entity Analysis. While this is not an essential pre-requisite for services modelling it certainly helps to expedite it and make it more successful.
5. Existig Services
• These are essential to consider – both well known ones and “Rogue” ones. Each of these must be listed and identified.

• Rogues must be publicly exposed in a organizaiton registry and made to conform to standard governance practices.
EXISTING BUSINESS APPLICATIONS
Examine the existin applications Suite to identify candidates.
You can either :
Replicate the functionality
Wrap the functionality
Aggregate or decompose the functionality
This will be the most likely largest source for Candidate Services.
Top Down or Bottom Up?
Five Steps to Service Modelling
• Identify Candidate services using techniques described earlier
• (Classify?) services based on business events , entities , processes and org. boundaries (to get a better handle on them?)
• Identify re-use and granularity
• Priorotize Services
• Begin Analysis and Design on services

How to prioritize services
• Services that have clear business value.
• Services support business imperatives, address business hot spots, and map to your SOA drivers.
• The services are reusable by multiple consumer communities —business processes, business units, developers, and analysts.
• The services are achievable in a reasonable time frame as compared to traditional development.(Quick Wins)
• The services align with your long term SOA strategy, goals, and objective

Monday, January 15, 2007

Update for Week Ending - 1/14

During the past week :

1. I continued review of Eric Marks Book

2. Made contact with SEI to obtain the latestupdated on SMART.

3. Attended the Web-Conference on SOA Governance by BEA/IBM/Mercury and Progress Software.

Monday, January 8, 2007

SOA Book Review

I'm back - after a few weeks and the Holidays.

I am currently in the midst of reading the book : "SOA: A Planning and Implementation Guide for Business and Technology” by Eric A. Marks and Michael Bell . Touted as one of the current best reads for SOA.

Some of the noteworthy items so far:

The section on Governance is very comprehensive. The authors propose a new a Four-Tiered SOA Governance Model that includes Strategic Governance, SOA Operating Model Governance, SOA Lifecycle Governance and SOA Enabling Tools and Technology.

Good discussion on a key topic for SOA - Services Identification - how to find out which parts of an application to convert to a "Service" , where to begin an SOA ? The authors propose a combination of top-down and bottom-up modelling done iteratively for the best results. They recommend the selection of Candidate Business Services - ideal candidates to begin your SOA implementation with.