services in the real world
DESCRIPTION
Services in the Real World. dagen@ifi 2007 25. Oktober 2007 Mads Nissen Objectware AS. SpeakerBio – Mads Nissen. Teamleder i Objectware Arkitekt, utvikler, teknologisk kverulant MOSS ( Sharepoint ) SOA .NET & C# Workflow Microsoft Most Valuable Professional ’05/’06 - PowerPoint PPT PresentationTRANSCRIPT
Services in the Real World
Services in the Real World, dagen@ifi 1
dagen@ifi 200725. Oktober 2007Mads Nissen Objectware AS
SpeakerBio – Mads Nissen
• Teamleder i Objectware• Arkitekt, utvikler, teknologisk kverulant
• MOSS (Sharepoint)• SOA• .NET & C#• Workflow
• Microsoft Most Valuable Professional ’05/’06• Bachelor Computer Science
2Services in the Real World, dagen@ifi
Formålet med denne sesjonen..
3Services in the Real World, dagen@ifi
• Hva er definisjonen av SOA? Er SOA viktig?• Oppdage de grunnleggende arkitekturprinsippene bak
enhver vellykket arkitektur, inklusive SOA.• Se på tjenester i den virkelige verden• Se på hvordan SOA prinsipper kan få en tjeneste til å yte
strålende service (på en smidig måte!) basert på lærdom fra den virkelige verden
Er SOA viktig?
4Services in the Real World, dagen@ifi
5
SOA & Service Definitions
• Arun Candadai, lead architect, GridScope, Inc.• "SOA is a method of conceptualizing, designing, and building
applications by assembling reusable building blocks, each of which is usually represented as a service. At the core, an SOA framework contains a set of services and other infrastructure resources whose interfaces evolve gradually and allow for applications to use them in a manner that is independent of the implementation protocol. To realize true IT and business agility, SOA-driven applications will need to employ an SOA implementation framework consisting of a formal methodology and a set of programmatic interfaces that are dynamic and scalable enough to meet changing and complex business requirements."
• Thomas Erl, chief architect, XMLTC Consulting Inc.• "SOA is a form of technology architecture that adheres to the
principles of service orientation. When realized through the Web services technology platform, SOA establishes the potential to support and promote these principles throughout the business process and automation domains of an enterprise."
• Laks• "[SOA] aims at aligning IT services with business processes. It
promotes loose coupling between the service providers and service consumers, reuse and incremental integration practice."
• Kunal Shah• "Interoperability of collection of distributed, loosely coupled
heterogeneous services; to orchestrate a series of business tasks, to achieve a specific business process objective."
• Sun Microsystems:• An integration architectural style for XML document-based, exchanges
using shared, loosely-coupled, network based software services• Open standards-based SOA architectures tend to be best realized
using web services as the middleware technology
• World Wide Web Consortium (W3C):• Service-Oriented Architecture is:
A set of components which can be invoked, and whose interface descriptions can be published and discovered
• Oracle 2• Service-Oriented Architecture is:
An application architecture in which all functions, or services, are defined using a description language and have invokable interfaces that are called to perform business processes. Each interaction is independent of each and every other interaction and the interconnect protocols of the communicating devices. Because interfaces are platform-independent, a client from any device using any operating system in any language can use the service.
• Ashok (Ash) Mansukhani• "SOA is a software architecture that enables business agility through
the use of loosely coupled services. Services are implementation-independent reusable business functions that are discovered as self-describing interfaces, and invoked using open standard protocols across networks. Services can in turn be combined and orchestrated to produce composite services and business processes, in accordance with pre-defined policies, security and SLAs."
• Dave Morris, I.T. Security Lead TransAlta Corp.• "Secure, integrated delivery of IT solutions meeting business
requirements. Solutions must implement, optimize and guide business process execution by combining the functionality of separate, discreet, reusable services. SOA moves away from complex application development, promoting a focus on standardizing interfaces between atomic service components with centralized management and distributed implementation."
Harm Smit"Many of the SOA definitions given in your article have at least one key notion quoted,
such as:
• "But none of them has them all. This clearly shows there are many aspects to the SOA concept! Only one of them quotes the notion of autonomy, which IMHO is the most important service attribute in an SOA. To me, this definition (Michael Champion's) is indeed the best amongst those presented in your article. "I definitely disagree with Randy Heffner on the necessity of having a repository cataloging services and their metadata, as well as on the option of using industry standards."
• Beat Schwegler• “In short, SOA is about loosely coupled systems, message based
communication and business process orchestration. As an abstract architectural model, it acts as an indirection between the business and the technology model. Web Services are the preferred implementation technology for loosely coupled and inter-operable systems.”
• Oracle• Service Oriented Architecture is:
An Application Architecture that is designed to achieve loose coupling among interacting software applications. SOA provides greater flexibility in developing, integrating, and managing Enterprise Applicationsabstracts complexity business process execution
business-oriented architecture standardizing interfacesself-contained services autonomous servicesloosely-coupled standard protocolsindependent but collaborative dynamic integrationreusable services service composition
• This could go on forever..
6Services in the Real World, dagen@ifi
HISTORY REPEATS ITSELFThe road to the current paradigm
7Services in the Real World, dagen@ifi
From Legos..
8Services in the Real World, dagen@ifi
Via duplos..
9Services in the Real World, dagen@ifi
…to ”Service Orientation”
11Services in the Real World, dagen@ifi
Or in a protocol view..
TCP/IP
CORBA/COM
RMI/.NET Remoting
SOAPWS*
12Services in the Real World, dagen@ifi
How far have we gone?
• Every level of abstraction allows us to build with larger blocks.
• Problem remains the same: Retain evolvability• Dependencies• Versioning• Change and adapt to business requirements
But what about:The Eight Fallacies of Distributed Computing
13Services in the Real World, dagen@ifi
Point in question: It works in the real world!
• Every major corporation was small once:• McDonalds, REMA, IKEA• They’ve all scaled and evolved and beaten the competition
• Can they keep on scaling?• That’s partially up to us IT-folks!• What are we missing from the Real World in order to make IT
Services work in the same way?
14Services in the Real World, dagen@ifi
IRL SERVICESSetter of expectations – Real World Description Language
15Services in the Real World, dagen@ifi
RWDL: Real-World Description Language
16Services in the Real World, dagen@ifi
The Endpoint
17Services in the Real World, dagen@ifi
RWDL Sets Expectations
18Services in the Real World, dagen@ifi
Poor Expectations?
19Services in the Real World, dagen@ifi
IRL Service Descriptions
• Services are described both explicitly and implicitly• Services need to be aware of their implicit responsibility
(customer expectations) and adapt• Customers are trained through extensive marketing and
branding• Great service descriptions and their related contracts are
often adopted by competitors:• McDonalds & Burger King – What’s the difference?
20Services in the Real World, dagen@ifi
PROVIDE GREAT SERVICE!Breaking the loop – delivering the services that
21Services in the Real World, dagen@ifi
22
!Rem
inde
r!
Services in the Real World, dagen@ifi
The Service Responsibility
• REQUIRED: Fulfill the Service Contract• RECOMMENDED: Fulfill the expectations set to Customers by
the Service Description (implicitly or explicitly)• LEADING: Surpass the Customers expectations• The service must handle anything that is thrown at him/her
23Services in the Real World, dagen@ifi
THE CUSTOMER SERVICEThe agile evolution and success of..
24Services in the Real World, dagen@ifi
25
Service Birth
CustomerService
CustomerInfoWeb
Services in the Real World, dagen@ifi
WS-I Basic Profile (Basic WebService)
26
Lightweight Consumers
CustomerService
CustomerInfoWeb
Services in the Real World, dagen@ifi
WS-I Basic Profile (Basic WebService)
R&D PHP Playthings
REST/POX/JSON
28
CustomerService
CustomerInfoWeb
Services in the Real World, dagen@ifi
WS-I Basic Profile (Basic WebService)
R&D PHP Playthings
REST/POX/JSONCustomerReview
B2B ExchangeWS-Security
Service Surpassing Expectations• Suddenly this mashup appears somewhere on the intranet:
• All realestate customers of the bank in the Oslo region plotted on a map. How did this happen?
29Services in the Real World, dagen@ifi
30
CustomerService
CustomerInfoWeb
Services in the Real World, dagen@ifi
WS-I Basic Profile (Basic WebService)
R&D PHP Playthings
REST/POX/JSONCustomerReview
B2B ExchangeWS-Security
Surpassing Expectations – HOW?
Architect decided that the service should use customer address and zipcode to query MapPoint.NET (or Google Maps APIs) to retrieve latitude and longitude for customers and deliver this as part of the customer object.
Evolution of the CustomerService
• Started out for one client on basic WS-I tech• Added support for more dialects to attract more consumers
(REST etc.)• Got more clients and implemented a smart cache based on
Lucene, supporting more load and more advanced queries• Responded to client demand delivering sensitive
information, but ONLY over a WS-Security enabled channel• Added Geo-positioning (lat/long) information about
customers proactively which created spontaneous applications in the organization
31Services in the Real World, dagen@ifi
SOA IN OBJECTWAREObjectwares approach to Service Orientation and Architecture
32Services in the Real World, dagen@ifi
33
What is Enterprise Design & Architecture?
”No non-sense”– Enterprise Architecture– Domain Driven Design– Service Oriented Architecture– Enterprise SOA Patterns– Code (reusable & starting points)
”How IT fits together”– From EA, to SOA categorized services, realized
using documented patterns and deployed on both .NET and Java in real projects.
Services in the Real World, dagen@ifi
SOA i Objectware
• Vi har utviklet tjeneste-orienterte systemer i lang tid
• SOA hypen gikk fra arkitektur til XML og WS-* fokus (definisjon)
• Ingen ser ut til å vite hva en tjeneste var..
• Så vi fokuserte på atomet i SOA, nemlig tjenesten....
• ..og det var ikke lett å få på plass....
The Eight Fallacies of Distributed Computing
34Services in the Real World, dagen@ifi
35Services in the Real World, dagen@ifi
Key Takeaways
• Services need to mimic the real world and provide great service
• Just like a normal business, the service evolves to gain ”market share”, and to prosper for more than 20 years
• Consumers expectations needs to be met• Services need to evolve in an agile fashion and retain
evolvability to keep doing so• Done wrong we’ll see yet another ”Same Old Architecture”.
Done right, Services CAN deliver!
36Services in the Real World, dagen@ifi
TAKK FOR OPPMERKSOMHETEN!
Mads – [email protected]
37Services in the Real World, dagen@ifi
Besøk oss på Objectware stand utenfor!