services in the real world

35
Services in the Real World Services in the Real World, dagen@ifi 1 dagen@ifi 2007 25. Oktober 2007 Mads Nissen Objectware AS

Upload: mahala

Post on 25-Feb-2016

22 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: Services in the Real World

Services in the Real World

Services in the Real World, dagen@ifi 1

dagen@ifi 200725. Oktober 2007Mads Nissen Objectware AS

Page 2: Services in the Real World

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

Page 3: Services in the Real World

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

Page 4: Services in the Real World

Er SOA viktig?

4Services in the Real World, dagen@ifi

Page 5: Services in the Real World

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..

Page 6: Services in the Real World

6Services in the Real World, dagen@ifi

Page 7: Services in the Real World

HISTORY REPEATS ITSELFThe road to the current paradigm

7Services in the Real World, dagen@ifi

Page 8: Services in the Real World

From Legos..

8Services in the Real World, dagen@ifi

Page 9: Services in the Real World

Via duplos..

9Services in the Real World, dagen@ifi

Page 10: Services in the Real World

…to ”Service Orientation”

11Services in the Real World, dagen@ifi

Page 11: Services in the Real World

Or in a protocol view..

TCP/IP

CORBA/COM

RMI/.NET Remoting

SOAPWS*

12Services in the Real World, dagen@ifi

Page 12: Services in the Real World

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

Page 13: Services in the Real World

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

Page 14: Services in the Real World

IRL SERVICESSetter of expectations – Real World Description Language

15Services in the Real World, dagen@ifi

Page 15: Services in the Real World

RWDL: Real-World Description Language

16Services in the Real World, dagen@ifi

Page 16: Services in the Real World

The Endpoint

17Services in the Real World, dagen@ifi

Page 17: Services in the Real World

RWDL Sets Expectations

18Services in the Real World, dagen@ifi

Page 18: Services in the Real World

Poor Expectations?

19Services in the Real World, dagen@ifi

Page 19: Services in the Real World

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

Page 20: Services in the Real World

PROVIDE GREAT SERVICE!Breaking the loop – delivering the services that

21Services in the Real World, dagen@ifi

Page 21: Services in the Real World

22

!Rem

inde

r!

Services in the Real World, dagen@ifi

Page 22: Services in the Real World

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

Page 23: Services in the Real World

THE CUSTOMER SERVICEThe agile evolution and success of..

24Services in the Real World, dagen@ifi

Page 24: Services in the Real World

25

Service Birth

CustomerService

CustomerInfoWeb

Services in the Real World, dagen@ifi

WS-I Basic Profile (Basic WebService)

Page 25: Services in the Real World

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

Page 26: Services in the Real World

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

Page 27: Services in the Real World

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

Page 28: Services in the Real World

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.

Page 29: Services in the Real World

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

Page 30: Services in the Real World

SOA IN OBJECTWAREObjectwares approach to Service Orientation and Architecture

32Services in the Real World, dagen@ifi

Page 31: Services in the Real World

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

Page 32: Services in the Real World

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

Page 33: Services in the Real World

35Services in the Real World, dagen@ifi

Page 34: Services in the Real World

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

Page 35: Services in the Real World

TAKK FOR OPPMERKSOMHETEN!

Mads – [email protected]

37Services in the Real World, dagen@ifi

Besøk oss på Objectware stand utenfor!