composition of soa based applications - callista...

48
Composition of SOA based Applications 2008-01-23 Magnus Larsson

Upload: nguyenbao

Post on 08-Jun-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Composition of SOA based Applications

2008-01-23

Magnus Larsson

Page 2: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 2Copyright 2008, Callista Enterprise AB

Agenda

• Introduction

• Provisioning of stable core services

• Agile composition of service based applications

• Summary

Page 3: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 3Copyright 2008, Callista Enterprise AB

Providing one Service is easy…

Web ServiceEndpoint @WebService

public class Abc {public List<Pojo> find(String arg) {...

}

@WebServiceRef private AbcService service;

Abc port = service.getAbcPort(); List<Pojo> list = port.find(”foo”);

Page 4: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 4Copyright 2008, Callista Enterprise AB

Upscaled provisioning gives some concerns…

Page 5: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 5Copyright 2008, Callista Enterprise AB

Upscaled provisioning gives some concerns…

Page 6: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 6Copyright 2008, Callista Enterprise AB

Upscaled provisioning gives some concerns…

Page 7: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 7Copyright 2008, Callista Enterprise AB

Upscaled provisioning gives some concerns…

We need a stable core of services!!!

Page 8: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 8Copyright 2008, Callista Enterprise AB

Stable core services challenges…

Service message structures

Service interoperability

Service life cycles

Where are my services?

Holistic guidelines

Page 9: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 9Copyright 2008, Callista Enterprise AB

How to bring the values of SOA to the End Users?

End Users expects:

1. Fast development of new GUI

2. Quick adoption to changes inbusiness processes

Agile development ofComposite Applications

WSDL and XML Schema

?

Page 10: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 10Copyright 2008, Callista Enterprise AB

Sample application - SOA Technology

• Seeking for innovation on how SOA can meet the End Users…

…we found one vendor driving innovation in this area

Page 11: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 11Copyright 2008, Callista Enterprise AB

Sample application - SOA Technology

• Seeking for innovation on how SOA can meet the End Users…

…we found one vendor driving innovation in this area

• …that is SAP

– SAP NetWeaver Composition Environment (CE) 7.1

• Built on top of Java EE 5.0

• Tooling based on Eclipse 3.3

• Support for the latest WS-* specs

• Contains tools in all layers supporting agile developmentof composite applications based on a stable core of services

• Conceptual demonstrations will be based on SAP NW CE 7.1

Page 12: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 12Copyright 2008, Callista Enterprise AB

Agenda

• Introduction

• Provisioning of stable core services

1. Service interoperability

2. Service message structures

3. Service life cycles

4. Where are my services?

5. Holistic guidelines

• Agile composition of service based applications

• Summary

Page 13: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 13Copyright 2008, Callista Enterprise AB

1. Interoperability in a heterogeneous environment

Java EE MS .Net

LegacyIBM iSeries and z/OS

COTSSAP, Siebel, JD Edwards…

Page 14: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 14Copyright 2008, Callista Enterprise AB

1. WS – Death Star…

Page 15: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 15Copyright 2008, Callista Enterprise AB

1. WS – Death Star…

WS-I Basic Profile

…one specification to rule them all…

www.ws-i.org“WS-I is an open industry organizationchartered to promote Web services interoperability across platforms, operating systems and programming languages.”

Page 16: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 16Copyright 2008, Callista Enterprise AB

1. WS – I profiles

Basic Profile

Reliable Security Profile

Basic Security Profile

Page 17: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 17Copyright 2008, Callista Enterprise AB

Agenda

• Introduction

• Provisioning of stable core services

1. Service interoperability

2. Service message structures

3. Service life cycles

4. Where are my services?

5. Holistic guidelines

• Agile composition of service based applications

• Summary

Page 18: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 18Copyright 2008, Callista Enterprise AB

2. Service message structures

Article info Article infoArticle info

ArtNo CHAR(10) PartNo LONGSkuId CHAR(18)

Page 19: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 19Copyright 2008, Callista Enterprise AB

2. Service message structures

Article info Article infoArticle info

ArtNo CHAR(10) PartNo LONGSkuId CHAR(18)

We need a standardizedsystem independent

message format!

Page 20: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 20Copyright 2008, Callista Enterprise AB

2. Canonical Message Formats

Business Object Model Business Documents Canonical Messages

Technical Message Header

Message Body

Business Message Header

Business Document

Page 21: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 21Copyright 2008, Callista Enterprise AB

2. Canonical service message structures

Canonical article info

ArtNo CHAR(24)

Canonical article info

ArtNo CHAR(24)

Canonical article info

ArtNo CHAR(24)

Page 22: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 22Copyright 2008, Callista Enterprise AB

Agenda

• Introduction

• Provisioning of stable core services

1. Service interoperability

2. Service message structures

3. Service life cycles

4. Where are my services?

5. Holistic guidelines

• Agile composition of service based applications

• Summary

Page 23: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 23Copyright 2008, Callista Enterprise AB

3. Service life cycles

The only thing constant is…

Page 24: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 24Copyright 2008, Callista Enterprise AB

3. Service life cycles

The only thing constant is change!

Page 25: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 25Copyright 2008, Callista Enterprise AB

3. Service life cycles

• Services needs to evolve and change over time

– Requires new versions of services

– Both backward compatible and non-compatible versions

• Important to establish a common version policy for services

– Canonical Message Formats can provide a common solution

NOTE: Sample XML mechanisms to use in WSDL

– XML Schema Any - elements to define “extension points”

– Version number in XML namespaces

Page 26: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 26Copyright 2008, Callista Enterprise AB

Agenda

• Introduction

• Provisioning of stable core services

1. Service interoperability

2. Service message structures

3. Service life cycles

4. Where are my services?

5. Holistic guidelines

• Agile composition of service based applications

• Summary

Page 27: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 27Copyright 2008, Callista Enterprise AB

4. Where are my services?

How do I get an overview of existing services?- What version exists?- Who are using what versions?

How can I search for services?

How do I find the proper End Points?

Page 28: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 28Copyright 2008, Callista Enterprise AB

4. Service Registry

• A central repository for discovery and governance of services

• Development – Service Consumption

– Development tool typically integrate withService Registry to create client proxies

• Run Time – Deployment Information

– Client proxies uses the Service Registry in runtime to lookup the actual service End Point

• Standards: UDDI and WSIL

• DEMO: Create a Web Service proxy using the Service Registry!

ServiceRegistry

Dev. Tool

1

2

3

4

5

Page 29: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 29Copyright 2008, Callista Enterprise AB

Agenda

• Introduction

• Provisioning of stable core services

1. Service interoperability

2. Service message structures

3. Service life cycles

4. Where are my services?

5. Holistic guidelines

• Agile composition of service based applications

• Summary

Page 30: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 30Copyright 2008, Callista Enterprise AB

5. Holistic guidelines

• SOA Governance

– Central organization that guide and support the usage of SOA

• Context given by existing Enterprise Architecture

• Promotes

– Business value of SOA benefits

– Proper use/re-use of services

– Safeguard SOA projects

– Accelerate learning curve

“Governance refers to the processes an enterpriseputs in place to make sure things are done right — that is, in accordance with best practices, architectural principles, legal and industry regulations and other factors.”

“SOA Governance refers to the process used to govern adoption and implementation of SOA”

- Anne Thomas Mannes, Burton Group

Page 31: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 31Copyright 2008, Callista Enterprise AB

Agenda

• Introduction

• Provisioning of stable core services

• Agile composition of service based applications

• Summary

Page 32: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 32Copyright 2008, Callista Enterprise AB

How to bring the values of SOA to the End Users?

Agile development of Composite Applications

1. Web Services aware GUI tools

2. Tool support for defining workflows?

Page 33: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 33Copyright 2008, Callista Enterprise AB

What is a Composite Application?

Workflow

Presentation

Application Logic

BackendBusiness Logic

Composite Application

Page 34: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 34Copyright 2008, Callista Enterprise AB

Composite Application

Sample application - SOA Technology

SAP NW Visual Composer

SAP NW Guided Procedure Workflow

Presentation

Page 35: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 35Copyright 2008, Callista Enterprise AB

Web Services aware Web GUI tool - overview

• SAP NetWeaver Visual Composer

– Creates GUI fragments based on Web Services

• Creates default GUI from WS Req. and Resp. messages

• Fully customizable using WYSIWYG - editor

– Parameter passing

• Input and output to the GUI fragment - component

• Also inside the component, e.g. between WS calls and UI elements

Page 36: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 36Copyright 2008, Callista Enterprise AB

Web Services aware Workflow tool - overview

• SAP NetWeaver Guided Procedure

– Defines workflows as blocks of actions

• Actions calls

– GUI fragment

– Web Service

• Well defined parameter passing

– Access to GUI actions are controlled by Roles

– Workflow engine coordinate user activities

Page 37: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 37Copyright 2008, Callista Enterprise AB

Sample application

Project Manager

Employees TeamManager

Identify Missing Skill

Assign project

members on course

Book course event

Approvecourse booking

Receive notification

getAllProjects()getProjectsByNameDesc()getEmployeesByProject() identifyMissingSkillList()

getCourseBySkill()

getEventsForCourse()registerForEvent()

CourseBookingServiceSkillMgmServiceProjectMgmService

Page 38: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 38Copyright 2008, Callista Enterprise AB

Sample application - SOA Technology

SAP NW CE 7.1Windows XP

CourseBookingServiceSAP Java EE 5.0Windows XP

SkillMgmServiceSUN Glassfish 2.0Mac OS 10.5

ProjectMgmServiceMS .Net 3.0 – WCFWindows XP

Page 39: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 39Copyright 2008, Callista Enterprise AB

Demo Web Services aware Web GUI tool

Project Manager

Employees TeamManager

Identify Missing Skill

Assign project

members on course

Book course event

Approvecourse booking

Receive notification

getAllProjects()getProjectsByNameDesc()getEmployeesByProject() identifyMissingSkillList()

getCourseBySkill()

getEventsForCourse()registerForEvent()

CourseBookingServiceSkillMgmServiceProjectMgmService

Page 40: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 40Copyright 2008, Callista Enterprise AB

Agenda

• Introduction

• Provisioning of stable core services

• Agile composition of service based applications

• Summary

Page 41: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 41Copyright 2008, Callista Enterprise AB

Summary - Provisioning of stable core services

Use Canonical Message Formats to simplify usage of services

Use WS-I Profiles to ensure Service interoperability

Use a common version policy of Services for life cycle management

Use a Service Registry to find your services

SOA Governance to guide and control

Page 42: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 42Copyright 2008, Callista Enterprise AB

Summary - Provisioning of stable core services

Use Canonical Message Formats to simplify usage of services

Use WS-I Profiles to ensure Service interoperability

Use a common version policy of Services for life cycle management

Use a Service Registry to find your services

SOA Governance to guide and control

Page 43: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 43Copyright 2008, Callista Enterprise AB

Summary - Provisioning of stable core services

Use Canonical Message Formats to simplify usage of services

Use WS-I Profiles to ensure Service interoperability

Use a common version policy of Services for life cycle management

Use a Service Registry to find your services

SOA Governance to guide and control

Page 44: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 44Copyright 2008, Callista Enterprise AB

Summary - Provisioning of stable core services

Use Canonical Message Formats to simplify usage of services

Use WS-I Profiles to ensure Service interoperability

Use a common version policy of Services for life cycle management

Use a Service Registry to find your services

SOA Governance to guide and control

Page 45: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 45Copyright 2008, Callista Enterprise AB

Summary - Provisioning of stable core services

Use Canonical Message Formats to simplify usage of services

Use WS-I Profiles to ensure Service interoperability

Use a common version policy of Services for life cycle management

Use a Service Registry to find your services

SOA Governance to guide and control

Page 46: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 46Copyright 2008, Callista Enterprise AB

Summary - Provisioning of stable core services

Use Canonical Message Formats to simplify usage of services

Use WS-I Profiles to ensure Service interoperability

Use a common version policy of Services for life cycle management

Use a Service Registry to find your services

SOA Governance to guide and control

Page 47: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 47Copyright 2008, Callista Enterprise AB

Summary – SOA reaching out to the End Users

• Agile development of Composite Applications

– Requires

• Stable core services

• Web Services aware GUI and Workflow tools

Page 48: Composition of SOA based Applications - Callista …callistaenterprise.se/...composition-of-soa-based-applications.pdf4. 5. Cadec 2008 - Composition of ... Composition of SOA based

Cadec 2008 - Composition of SOA based Applications, Slide 48Copyright 2008, Callista Enterprise AB

Questions?