The document discusses defining business services for service-oriented architecture (SOA). It begins by noting that in 2010, many organizations were still struggling with what constitutes a service. It then discusses different types of services, including business logic services, data services, process services, and infrastructure services. The document provides examples of each type of service. It outlines a methodology for analyzing business processes and entities to identify candidate services. The methodology advises exposing full entities and processes to interfaces to maximize reuse. The document stresses analyzing services at multiple levels, from business to technical implementation. It concludes by listing attributes to document for service metadata.
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Clearly Defining what is a (SOA) Business Service? (as of 2010)
1. Clearly Defining
“What is a Business Service?”
Akiva Marks
Senior SOA Architect
http:// MakingSOAwork.blogspot.com
2. Akiva’s Historical Presentations
• This presentation is from 2010. Although SOA was an 8
year old technology at the time, many enterprise IT
organizations were still struggling with the basic question
of “what is a (web) service?”
• While the question sounds basic, initially services were
focused on ‘whatever application functions could be
exposed’ – a programmer oriented paradigm.
• How to tie services to business and enterprise value, or
what to focus upon to get practical value out of
integration, was a major concern. This presentation was
focused on explaining the concept at a basic level from an
enterprise business perspective.
3. Akiva’s Historical…
• Over years as a corporate enterprise architect, director of
enterprise architecture, and as an enterprise IT architecture
+ IT management consultant, I prepared many
presentations about the leading technologies at the time…
how to use, where to value, what to avoid.
• As most concepts and technologies in software build upon
older tech sets, you may find these of value to understand
some of the foundations upon which your tech stack is
built…and perhaps identify ideas that still apply or offer
value.
• If you’d like to contact me to discuss further, I can be
contacted via akivam@gmail.com
or via Linkedin https://www.linkedin.com/in/akivam/
5. So, What’s a Service?
−Defining "services" is a bit like
defining “curses" -- it's hard to
explain, but you know it when
you hear it.
Lorraine Lawson
IT Business Edge
Integration Blog
6. So, What’s a Service? #2
− When to promote a service to a
Business Service is very hard to tell
and it depends on the company’s
specific business.
Aristo Togliatti
Symbian Developers Journal
SOA & WOA
8. Some Service Goals
• Reusable
− The next time the business needs the same
functionality, it’s already there and available for
use.
• Single Instance
− A business process has corresponding I.T.
“code” that only has to be maintained and
changed in one place.
9. Different Kinds of Services
• An I.T. service is a unit of code providing an
open interface that is abstracted from its
implementation.
− Process Services - Encapsulation of business flow and
application composition. BPM workflows.
− Business Logic Services - Encapsulation of functions.
− Data Services – Interaction with Entities, management
of data access and persistence.
− Infrastructure Services - Common utility functions
such as monitoring, logging, and security.
10. Data Services
• A Service that encapsulates an Entity.
• The logical view of the entity…
− Database fields.
− Simple Calculated fields like age.
− Decoding (city code plus city name).
• Simple actions upon the entity…
− Insert, Update, Delete
− Query (Summary, Detailed)
Entity
11. “Simple Customer Interaction”
Entity/Data Service
An Entity – A Data Service
- Create
- Update
- Delete
- Everything
- Basic
- Age
Customer
- Status Change
Business Actions
Service
Interface
Query Functions
Data Functions
14. Business Logic Services
• A ‘simple process’ that calculates or transforms
information and produces an output.
• Usually a single block of code.
• A function. An algorithm.
Process
15. “Calculate Pension Amount”
Service
A Business Logic Service – Example #1
Calculate
Pension
Regular
Member of Parliament
Government Employee
Service
Interface
16. “Calculate Salary” Service
A Business Logic Service – Example #2
Service
Interface
(internal function)
Basic Salary
(internal function)
Salary Tax
(internal function)
Health Tax
(internal function)
Add Benefits
Calculate
Salary Bonus
Regular
Determine
Vacation
Check
Sick Days
17. “Process Services”
• A BPM workflow.
• A set of tasks that transforms information and produces an
output. Some activities may be conditional, or alternatives,
or run in parallel, it is seldom a simple chain.
Process
18. “Determine Disability Eligibility” Service
A Process Service
Determine
Eligibility
Citizen
Service
Interface
Workflow –
Doctor Review
Workflow –
Medical
Committee
19. Infrastructure Services
• Services that provide I.T. functionality, such as
logging, monitoring, security, printing, document
processing, scanning, etc.
• Often vendor provided tools or components.
I.T.
Process
“Central Logging” Service
Logging
Security Errors
Application Errors
Service Errors
Service
Interface
20. Composite Services
• Services may rely
upon other services.
• Services may operate
at different levels of
granularity (detail).
21. BPM Workflows Use Services
and Are Services
• BPM Workflows can use services to activate and fulfill
process steps.
• BPM Workflows can be encapsulated by services and
exposed as services.
• Workflows can use other workflows as process steps.
• Services can activate workflows or use workflows as part of
a composite service.
22. Methodology: Services and Analysis
• Determine High Level Entities
• Determine High Level Actions
− and mid-level actions against Entities
• Determine High and Mid Level
Business Processes
• Consider whether you can compose
workflows and processes with the resulting
services.
23. Methodology: How Much To Expose?
• Completely expose the Entity!
• Why?
− More exposed, more chance of reuse.
− Less exposed, need for changes later = bad.
− Changes cost a lot of money… (project, management, testing, deployment, etc.)
− Hardware to handle overhead is cheap (compared to the cost of programmers
and change projects).
− Processing time is not significant compared to the service overhead.
− Arguments why not…overhead (network, disk, CPU – now cheap),
security (let the security layer handle it), extra work (one day now,
many days later).
• Example, Customer Entity includes Address, City Code plus City Name,
Date of Birth plus Age, and all customer details available.
24. Methodology: How Much Functionality?
• Expose the Process and it’s first level of detail.
• Let calling systems manipulate the process at the level of
capability the code allows manipulation.
• Let the process act as a black-box engine, all switches and
controls exposed for maximum flexibility.
• Handle complexity with default or standard settings with
overrides.
• Acting as a transaction engine means the service only
needs to be changed if the business process changes.
• Why? Someone always needs “a little more” of what the process does
exposed up until the full process options are exposed. And change
costs significant money (time / effort).
26. Methodology: Business to IT Services
Business
Unit
Business
Capabilities
Business
Processes
Business
Services
IT
SOA Service
IT
BPM Workflow
Business IT