Clearly Defining“What is a Business Service?”<br />SOA Concepts<br />Akiva Marks<br />Senior SOA Architect<br />http:// Ma...
The Great SOA Hope…<br />
So, What’s a Service?<br />Defining "services" is a bit like defining “curses" -- it's hard to explain, but you know it wh...
So, What’s a Service? #2<br />When to promote a service to a Business Service is very hard to tell and it depends on the c...
Events Actions<br />Events Actions<br />A Service is…<br />Actions and Events associated with an Entity or Process<br />Fu...
Some Service Goals<br />Reusable<br />The next time the business needs the same functionality, it’s already there and avai...
Different Kinds of Services<br />An I.T. service is a unit of code providing an open interface that is abstracted from its...
Data Services<br />Entity<br />A Service that encapsulates an Entity.<br />The logical view of the entity…<br />Database f...
“Simple Customer Interaction”<br />Entity/Data Service<br />An Entity – A Data Service<br />- Create<br />- Update<br />- ...
Possible Standard Entities<br />Insured<br />Claim<br />Doctor<br />Policy<br />
Standard Entity Actions<br />Insert<br />Update<br />Details<br />List<br />Publish<br />Retrieve<br />
Business Logic Services<br />Process<br />A ‘simple process’ that calculates or transforms information and produces an out...
“Calculate Pension Amount”Service<br />A Business Logic Service – Example #1<br />Regular<br />CalculatePension<br />Servi...
“Calculate Salary” Service<br />A Business Logic Service – Example #2<br />(internal function)<br />Basic Salary<br />Calc...
“Process Services”<br />Process<br />A BPM workflow.<br />A set of tasks that transforms information and produces an outpu...
“Determine Disability Eligibility” Service<br />A Process Service<br />Workflow –<br />Doctor Review<br />Determine<br />E...
Infrastructure Services<br />I.T.<br />Process<br />Services that provide I.T. functionality, such as logging, monitoring,...
Composite Services<br />Services may relyupon other services.<br />Services may operateat different levels ofgranularity (...
BPM Workflows Use Servicesand Are Services<br />BPM Workflows can use services to activate and fulfill process steps.<br /...
Methodology: Services and Analysis<br />Determine High Level Entities<br />Determine High Level Actions<br />and mid-level...
Methodology: How Much To Expose?<br />Completely expose the Entity!<br />Why?<br />More exposed, more chance of reuse.<br ...
Methodology: How Much Functionality?<br />Expose the Process and it’s first level of detail.<br />Let calling systems mani...
Methodology: Business Services<br />
Methodology: Business to IT Services<br />IT<br />Business<br />
Methodology: Service Analysis<br />Business<br />IT Development<br />Analysis<br />
Service Metadata<br />Service Overview (e.g. name, description)   <br />Lifecycle Attributes (e.g. version, version relati...
Thank You<br />
Upcoming SlideShare
Loading in …5
×

What is a SOA Service - from the Business Perspective? How detailed, what level of functionality does it expose?

5,516 views

Published on

This presentation discusses a tricky SOA question that few address - what should a SOA service do? What level of business work or process steps or granularity should a SOA service contain? Or, in laymans terms, what is a service (what should a service do or be?)

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,516
On SlideShare
0
From Embeds
0
Number of Embeds
1,186
Actions
Shares
0
Downloads
109
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

What is a SOA Service - from the Business Perspective? How detailed, what level of functionality does it expose?

  1. 1. Clearly Defining“What is a Business Service?”<br />SOA Concepts<br />Akiva Marks<br />Senior SOA Architect<br />http:// MakingSOAwork. blogspot.com<br />
  2. 2. The Great SOA Hope…<br />
  3. 3. So, What’s a Service?<br />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<br />
  4. 4. So, What’s a Service? #2<br />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<br />
  5. 5. Events Actions<br />Events Actions<br />A Service is…<br />Actions and Events associated with an Entity or Process<br />Function – I.T. ‘code’ implementing an action or event.<br />Entity<br />Process<br />
  6. 6. Some Service Goals<br />Reusable<br />The next time the business needs the same functionality, it’s already there and available for use.<br />Single Instance<br />A business process has corresponding I.T. “code” that only has to be maintained and changed in one place.<br />
  7. 7. Different Kinds of Services<br />An I.T. service is a unit of code providing an open interface that is abstracted from its implementation. <br />Process Services - Encapsulation of business flow and application composition. BPM workflows.<br />Business Logic Services - Encapsulation of functions.<br />Data Services – Interaction with Entities, management of data access and persistence.<br />Infrastructure Services - Common utility functions such as monitoring, logging, and security. <br />
  8. 8. Data Services<br />Entity<br />A Service that encapsulates an Entity.<br />The logical view of the entity…<br />Database fields.<br />Simple Calculated fields like age.<br />Decoding (city code plus city name).<br />Simple actions upon the entity…<br />Insert, Update, Delete<br />Query (Summary, Detailed)<br />
  9. 9. “Simple Customer Interaction”<br />Entity/Data Service<br />An Entity – A Data Service<br />- Create<br />- Update<br />- Delete<br />Data Functions<br />Customer<br />Service<br />Interface<br />- Everything<br />- Basic<br />- Age<br />Query Functions<br />Business Actions<br />- Status Change<br />
  10. 10. Possible Standard Entities<br />Insured<br />Claim<br />Doctor<br />Policy<br />
  11. 11. Standard Entity Actions<br />Insert<br />Update<br />Details<br />List<br />Publish<br />Retrieve<br />
  12. 12. Business Logic Services<br />Process<br />A ‘simple process’ that calculates or transforms information and produces an output.<br />Usually a single block of code.<br />A function. An algorithm.<br />
  13. 13. “Calculate Pension Amount”Service<br />A Business Logic Service – Example #1<br />Regular<br />CalculatePension<br />Service<br />Interface<br />Member of Parliament<br />Government Employee<br />
  14. 14. “Calculate Salary” Service<br />A Business Logic Service – Example #2<br />(internal function)<br />Basic Salary<br />CalculateSalary<br />(internal function)<br />Salary Tax<br />Regular<br />Service <br />Interface<br />(internal function)<br />Health Tax<br />Bonus<br />(internal function)<br />Add Benefits<br />Determine<br />Vacation<br />Check<br />Sick Days<br />
  15. 15. “Process Services”<br />Process<br />A BPM workflow.<br />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. <br />
  16. 16. “Determine Disability Eligibility” Service<br />A Process Service<br />Workflow –<br />Doctor Review<br />Determine<br />Eligibility<br />Service<br />Interface<br />Citizen<br />Workflow –<br />Medical Committee<br />
  17. 17. Infrastructure Services<br />I.T.<br />Process<br />Services that provide I.T. functionality, such as logging, monitoring, security, printing, document processing, scanning, etc.<br />Often vendor provided tools or components.<br />“Central Logging” Service<br />Security Errors<br />Logging<br />Service<br />Interface<br />Application Errors<br />Service Errors<br />
  18. 18. Composite Services<br />Services may relyupon other services.<br />Services may operateat different levels ofgranularity (detail).<br />
  19. 19. BPM Workflows Use Servicesand Are Services<br />BPM Workflows can use services to activate and fulfill process steps.<br />BPM Workflows can be encapsulated by services and exposed as services.<br />Workflows can use other workflows as process steps.<br />Services can activate workflows or use workflows as part of a composite service.<br />
  20. 20. Methodology: Services and Analysis<br />Determine High Level Entities<br />Determine High Level Actions<br />and mid-level actions against Entities<br />Determine High and Mid Level Business Processes<br />Consider whether you can compose workflows and processes with the resulting services.<br />
  21. 21. Methodology: How Much To Expose?<br />Completely expose the Entity!<br />Why?<br />More exposed, more chance of reuse.<br />Less exposed, need for changes later= bad.<br />Changes cost a lot of money… (project, management, testing, deployment, etc.)<br />Hardware to handle overhead is cheap (compared to the cost of programmers and change projects).<br />Processing time is not significant compared to the service overhead.<br />Arguments why not…overhead (network, disk, CPU – now cheap), security (let the security layer handle it), extra work (one day now, many days later).<br />Example, Customer Entity includes Address, City Code plus City Name, Date of Birth plus Age, and all customer details available.<br />
  22. 22. Methodology: How Much Functionality?<br />Expose the Process and it’s first level of detail.<br />Let calling systems manipulate the process at the level of capability the code allows manipulation.<br />Let the process act as a black-box engine, all switches and controls exposed for maximum flexibility.<br />Handle complexity with default or standard settings with overrides.<br />Acting as a transaction engine means the service only needs to be changed if the business process changes.<br />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).<br />
  23. 23. Methodology: Business Services<br />
  24. 24. Methodology: Business to IT Services<br />IT<br />Business<br />
  25. 25. Methodology: Service Analysis<br />Business<br />IT Development<br />Analysis<br />
  26. 26. Service Metadata<br />Service Overview (e.g. name, description)   <br />Lifecycle Attributes (e.g. version, version relationships, lifecycle status)<br />Classification (e.g. basic, composite, infrastructure, business)<br />Endpoint Deployment Attributes (e.g. protocols, location, WS-* specifications)<br />Data Model (e.g. XML Schema, WSDL, version, semantics, validation)<br />Service Level Requirements and Policies (e.g. availability, capacity, responsiveness, security, transaction rate)<br />Mediation (e.g. routing, queuing, caching, transformation)<br />ServiceDependencyAttributes (e.g. services, databases, directories, frameworks)   <br />Physical Instance Dependencies (e.g. application platform, security, management)<br />Business Process Model (e.g. UML diagram, business classification)<br />Contract information (e.g. consumers, providers, utilization)<br />Usage Guidelines (e.g. time of day, availability, # of users. throughput)<br />
  27. 27. Thank You<br />

×