9. Service Orientation Basic Consumer/Provider view Service Façade Service Consumers Service Provider How the application is constructed and hosted is independent of the service implementation SQL App Internals
10.
11. Enterprise Flexibility Aggregation Business Process Management Identity and Access Mgmt Web Services Management Application Monitoring Testing and Performance Presentation Services Data and Capabilities exposed as Services… … customized via shared middle-tier middleware… … are aggregated to fit user needs Process Aggregation Single Sign On Two-way integration User Specific Experiences Infrastructure Integration Management Packaged Applications Custom Applications Legacy Warehouse Operations Executive Marketing
12.
13. SOA is all about ROI Custom Apps PeopleSoft Point to Point Integrations are costly to develop and maintain … Services Integrations add Value by enabling Flexibility Billing Order Mgmt
21. Capabilities Analysis Externalizing the Capabilities and Data Please Do this on my behalf Please provide me some data. Everyone! This data changed. OK, I’ll get back to you when it’s done. OK, here’s what I’ve got. I completed successfully SQL App Internals
22.
23.
24.
25.
26.
27. Policy and Business Interests Request Response Pattern <Body> <LocationList> <Location Id=‘1231’ Name = ‘HQ’ … /> <Location Id=‘5377’ Name = ‘Div’ … /> <Location Id=‘9621’ Name = ‘Site’ … /> </LocationList> </Body> Business Interest Manager A Policy A <Message id=‘ 200 ’> <Request Contract=‘ LocationList ’ Version=‘ 2.2’> <Customer Id=‘AllPeril’/> </Request> </Message> Service Manager <Message id=‘761’> <Response To=‘ 200 ’ Contract=‘ LocationList ’ Version=‘ 2.2 ’> <Customer Id=‘AllPeril’/> </Response> </Message> Stored Procedures User Interface Business Facade Business Logic Common Services Data Storage Typed Datasets
28. Business Entities and PeopleSoft Publish Subscribe Pattern PeopleSoft A BizTalk Business Entities A <Message id=‘279’> <Notify Contract=‘ContactInfo’ Version=‘ 1.7 ’> <Action Type=‘Update’ Id=‘1990124’ EntityId=‘197811’/> </Notify> <Body> <ContactInfo Type=‘Original’ Version=‘281’ …. /> <ContactInfo Type=‘New’ Version=‘282’ …. /> </Body> </Message> Other Service Other Service <Message id=‘507’> <Notify Contract=‘ContactInfo’ Version=‘ 1.2 ’> <Action Type=‘Update’ Id=‘1990124’ EntityId=‘197811’/> </Notify> <Body> <ContactInfo Type=‘Original’ Version=‘281’ …. /> <ContactInfo Type=‘New’ Version=‘282’ …. /> </Body> </Message>
30. Publishing Endorsable Events Database Isolation Pattern RATS CSS Database Policy Service Interface Stored Procedures Data Storage Models Common Framework Commands A User Interface
38. Models and Commands CommonFramework abstracts Storage Data Storage Models Commands Web Services MSMQ XML ICommand
39. Domain Driven Design Domain Models Persistence Models Service Models Contract Model ID Version Schema Fields Contract Model ID Version Schema Fields UI Models UI Model ID UI Fields UI Behaviors UI Model ID UI Fields UI Behaviors
47. Application Level Processes Domain Models Persistence Models Service Models Contract Model ID Version Schema Fields Contract Model ID Version Schema Fields UI Models UI Model ID UI Fields UI Behaviors UI Model ID UI Fields UI Behaviors
48.
49.
50.
51. Aspects of Change Dimensions of Impact Process SLAs Technology Data People
Key Points: This presentation is for Sr Management. Purpose is to understand the content, style, examples and message that is being presented to the BA/PM/Other Managers and to Developers in order to endorse and reinforce it. The meeting will be interactive from Management point of view (impact, training, skills, timelines etc) in addition to the content discussion. This presentation should contain material that contains the salient messages without an instructor (Notes, bullet points will do), so that we can make it available to others to continue to propagate the message. We will work out a comprehensive documents/presentation later. Examples should slant FMG towards business scenarios. Material presented at EBC is too sparse (slanted towards implementation) We need to revise this to include the following topics/flow Problems we are trying to solve and advantages (stock material from many SOA presentations) What SOA is all about., governing principles When we talk loosely coupled services, what areas should be considered. Example questions to seek solutions Different patterns of integration Inside and outside the box difference (SOA outside,Framework Inside) Lead in to what is the framework for How the developers have to think (SRP etc). How the BA’s need to analyze (decomposition , UI, process, etc) We will reinstate the other sessions after the input from Sr Management presntation
Start with: Problems we are trying to solve and advantages (stock material from many SOA presentations) Most CEOs would cringe at the idea that IT architecture—the way technology resources are organized—determines the agility with which companies can carry out good strategy. Yet the difficulty and cost of modifying today's rigid IT architectures, dominated by big enterprise applications such as ERP, can be so high that some companies would rather abandon new strategic initiatives than make a single change to the applications they already have in place. Good news is on the horizon in the form of service-oriented architectures, which promise to reduce if not remove the current obstacles. The take-away In this article, John Seely Brown and John Hagel III compare flexible service-oriented architectures to the more rigid IT architectures that preceded them. The authors make the case that information technology, far from lacking strategic worth, determines strategic value.
Speak the problems being solved here: Focus on Business Solutions, adaptabilty, etc,
We are going to hear this term a lot today, so let’s provide a definition up front.
What is SOA is all about? It has a value to different aspects of an organization, but all have a common theme in Adaptability
Define the Iconic representation of Services that is used throughout the presentation. Key message here is that a Service is a wrapper around an application’s internals. The major difference being that a Service exposes a means to interact with the Data and Capabilities of an application without building a dependency on how that application performs that capability or compiles the data entity. External Consumers depend on the Capability or the Data, not the means.
For the Business Audience focus on the top quadrants. Key is Business Process oriented (in the large and in the small…)
Services are not islands that every other application that requires their capabilities talks to directly. Message Oriented Middleware (for Integration), Management and Monitoring capabilities function as shared capabilities over the Services to enable aggregation and User Specific Experiences. Mid-tier rationalization increases service-level accountability and information accessibility reducing transaction latency and permitting rapid channel integration.
Originally connections are point to point and expensive to maintain and build. = > Costs Building Services on top of existing applications creates an integration layer that does not require a rip and replace of the existing application. Explain why this is very different from point to point batch processing. Reuse and Leverage
Enable a language for discussions of Processes and Technologies The abstraction of the language
When we talk loosely coupled services, what areas should be considered. Example questions to seek solutions
Key message is that a process is not within a system, its across the organization. Use the example of: Location added with a TIV > 2,000,000 Insurance Teams need to Reevaluate Location needs Engineering assessment Will then require Policy
Think of it as an actionable Data Container. It’s internals are meaningless, but it expresses its capabilities and the data that it is responsible for
Put together an example here: CSS is a
When looking at a system, what are the Capabilities it needs to offer for what sets of data?
Different Patterns for Integration
Request / Response Scenario Target technology: Web Services WSE Indigo This needs to de-technofied…
Target Technology: Yukon Service Broker DTS Reporting Services
Inside and outside the box difference (SOA outside, Framework Inside) Lead in to what is the framework for
The namespaces of the commonframework provide all of the relative building blocks applications need: Data container objects Collections Infrastructure The common things brought together in a consistent API
The core theory of the Common Framework has Services in its thinking. By isolating the object that developers model against from the underlying the medium where the data originates allows them to focus on solving their applications problems rather than the integration problems…
Business Processes are built within the application as well – promotes reusability by designing for encapsulation Define Business Domain. How the developers have to think (SRP etc). Developers need to focus on modeling the objects of a system that need to interact. Focusing on building a rich Domain model of objects and interrelationships, both internal and external to their application. How that data gets to their system is independent of the work that needs to be done with it. Events of meaning that have been discovered need to be raised so other systems can do their thing…
How the developers have to think (SRP etc).
How the BA’s need to analyze (decomposition , UI, process, etc)
Design To the business process not the wire frames
Key message is that a process is not within a system, its across the organization. Use the example of: Location added with a TIV > 2,000,000 Insurance Teams need to Reevaluate Location needs Engineering assessment Will then require Policy
Business Processes are built within the application as well – promotes reusability by designing for encapsulation Define Business Domain. How the developers have to think (SRP etc). Developers need to focus on modeling the objects of a system that need to interact. Focusing on building a rich Domain model of objects and interrelationships, both internal and external to their application. How that data gets to their system is independent of the work that needs to be done with it. Events of meaning that have been discovered need to be raised so other systems can do their thing…