for CAISE researcherscaise07.idi.ntnu.no/files/SOA_Tutorial.pdf · Enterprise Service Bus...

48
SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 1 ICT Service Oriented Architecture (SOA) - for CAISE researchers - SOA - same shit, new wrapping, The emperor’s new clothes, - or where’s the beef ? Dr. Arne-Jørgen Berre Chief Scientist, SINTEF ICT Cooperative and Trusted systems Oslo, Norway Phone: +47 9204 7452 E.mail: [email protected] Mini tutorial during CAISE’07, Trondheim, Norway June 13 th , 2007 ICT Outline Part I: SOA principles and technologies The client/server SOA evolution from 1982 to 2007 (25 years of SOA) SOA reference models (OASIS) (2006) Identification, Description, Publication, Discovery, Execution WSA and Web service standards (W3C, OASIS) (How!) HTTP, XML, REST, WSDL, UDDI, BPEL, WS-* SCA & SDO – OPEN CSA (26 March 2007) SOA Maturity Model & SOA Governance Objects, Components and Services – What’s new ? Part II: Semantic SOA & Modelling Ontologies, Semantic Web Services and SESA The Conceptual/Semantic modeling evolution from 1982 to 2007 (25 years of CM) SAWSDL – Semantic Annotation of XML and WSDL (April 10th, 2007) Heterogeneous SOA (EDA, P2P, Grid, Agents, …) Enterprise Architecture & SOA (& BPM) BPMN and MDA for SOA UPMS – OMG standard for Service Modeling (June 4th, 2007) Some selected SOA Research challenges CAISE’07 SOA1 and SOA2 sessions – and final panel

Transcript of for CAISE researcherscaise07.idi.ntnu.no/files/SOA_Tutorial.pdf · Enterprise Service Bus...

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 1

ICT

Service Oriented Architecture (SOA)- for CAISE researchers -

SOA - same shit, new wrapping, The emperor’s new clothes,

- or where’s the beef ?

Dr. Arne-Jørgen BerreChief Scientist, SINTEF ICT

Cooperative and Trusted systemsOslo, Norway

Phone: +47 9204 7452E.mail: [email protected]

Mini tutorial duringCAISE’07,

Trondheim, NorwayJune 13th, 2007

ICT

OutlinePart I: SOA principles and technologies

The client/server SOA evolution from 1982 to 2007 (25 years of SOA)SOA reference models (OASIS) (2006)Identification, Description, Publication, Discovery, ExecutionWSA and Web service standards (W3C, OASIS) (How!)HTTP, XML, REST, WSDL, UDDI, BPEL, WS-*SCA & SDO – OPEN CSA (26 March 2007)SOA Maturity Model & SOA GovernanceObjects, Components and Services – What’s new ?

Part II: Semantic SOA & ModellingOntologies, Semantic Web Services and SESAThe Conceptual/Semantic modeling evolution from 1982 to 2007 (25 years of CM)SAWSDL – Semantic Annotation of XML and WSDL (April 10th, 2007)Heterogeneous SOA (EDA, P2P, Grid, Agents, …)Enterprise Architecture & SOA (& BPM)BPMN and MDA for SOAUPMS – OMG standard for Service Modeling (June 4th, 2007)Some selected SOA Research challengesCAISE’07 SOA1 and SOA2 sessions – and final panel

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 2

ICT

SOA- Business/IT Alignment

ICT

Motivation for SOA

Enterprise• Challenges

– Business agility– Flexibility and adaptability

• Enterprise architecture frameworks+ Holistic approach+ Different views of an

enterprise as related (visual) knowledge models

- Current enterprise architectures are only blueprints

ICT• Challenges

– Inflexible and difficult to adapt

– Enterprise application integration (EAI)Requirements

Enterprises require operationalenterprise architecturesICT solutions must be designed to beinherently interoperable

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 3

ICT

Benefits of SOAMain drivers of SOA

to facilitate the manageable growth of large-scale enterprise systems;to facilitate Internet-scale provisioning and use of services; andto reduce costs in organization to organization cooperation.

The value of SOA is thatit provides a simple scalable paradigm for organizing large networks of systems that require interoperability to realize the value inherent in the individual components.

An architect using SOA principles is better equipped to develop systems that are scalable, evolvable and manageable. SOA enables an IT portfolio which is adaptable to the varied needs of a specific problem domain or process architecture.SOA infrastructures are more agile and responsive than one built on an exponential number of pair-wise interfaces and can provide a solid foundation for business agility and adaptability.

ICT

Part I

SOA principles and technologies

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 4

ICT

The Waves of Client/Server SOA Technology

Base Source: Client/Server Survival Guide, 1994Robert Orfali, Dan HarkeyOS/2 Edition, VNR Computer library + AJB update 1998, 2004, 2007

1982 1986 1990 1994 1998 2000 2002 2004 2006 2007

FileServersD

atabase Servers

Groupware

TP Monitors

DistributedObjects

FirstWave

SecondWave

ThirdWave

OMG CORBACOM/OLEWeb/InternettJava, ISO RM-ODP

J2EE/EJBCOM+Corba Comp

Server-sidecomponents MDA, Web

Services, .NetSOA(SOAP, XMLWSDL/BPEL)

FourthWave

FifthWave

P2PGrid

Agents,FIPA

SixthWave

RPC

MDE/DSL,Web 2.0OWL,SWSWeb 3.0SESAEDA/CEPHet. SOASCA/SDO

ICT

DeferredSynch request

Naming service

Persistence service

ServerComponents

Message

Transaction service

Concurrencyservice

XML

Synchron.request

Event - publish & subscribe

Data services &Legacy systems

Shared BusinessServices

User services(application/process)

Interaction/Presservices

Trading serviceSecurityservice

Workflowservice

Streaming

Integration service

User InterfaceDocument modelWeb interaction

System/Use Mngt

MultiMedia,QoS

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 5

ICT

CORBADynamic API

Naming service

Persistence service

CorbaComponents

(CCM)

Corba MessagingService

Transaction service

Concurrencyservice

XML, IIOPmapping

CORBA ORBw/IDL

Event &Notification

service

Data services &Legacy systems

Shared BusinessServices

User services(application/process)

Interaction/Presservices

Trading serviceSecurityservice

+ real-time/min. CORBA+ Firewall + QoS + ...

Workflowservice

ICT

Remote MethodInvocation (RMI, IIOP)

Naming andDirectory Interface

(JNDI)

DatabaseConnectivity

(JDBC+)

Servlets &Java Server Pages + XSL

(Servlets +JSP)

EnterpriseJava Beans

(EJB)

Java MessagingService (JMS)

Transaction API (JTA, JTS)

Connectors(CICS, SAP, ERP)

XML

Java IDL(JMI)

Java Mail &Java Activation

Framework (JMI + JAF)

Data services &Legacy systems

Shared BusinessServices

User services(application/process)

Interaction/Presservices

JINI (Trading)

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 6

ICT

Web services and port 80It all started because of the need to have ubiquitous programmatic access across the Internet, and the fact that firewalls prevented use of CORBA IIOP and Java RMI – but tunneling descriptions/requests in HTML/XML through port 80 worked everywhere

Microsoft and IBM took the lead in the further development of technologies around this

ICT

Web services architecture• Web services can be

used to implement service-oriented solutions

• They adhere to the set of roles and operations specified by the service oriented model.

• They have also managed to establish a standardized protocol stack.

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 7

ICT

Identification, Description, Publication, Discovery, Execution

- with WSA – Web services Architecture

Identification - URIDescription – XML, WSDL and REST (Static, Dynamic), WS-*Publication – UDDI ?Discovery – UDDI ?Execution – HTTP, BPEL

ICT

Web services – a conceptual view

Underlying Protocols

Messaging Encoding

Business EntitiesWeb Service Interfaces

HTTP/WEB

VANsFTP

SMTP/EMAIL MQ-Series

SOAP

EDI“Binary”

Raw XML ebXML

BPEL____________________________________________________________

EGO-CentricWorkflow ProcessDescription

WSDL____________________________________________________________

(Syntactic) Web Service Interface Description

Bindings and Endpoint Descriptions

WS-CHOR____________________________________________________________

Interaction Sequencing

(Co)Constraints

XSD____________________________________________________________

XML MessageSchemaDefinition

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 8

ICT

Web services stack

Technologystack

Conceptualstack

This part of the course focuses on understanding the Web service technologies for messaging, description and composition such as XML, SOAP, UDDI, XSD,

WSDL and WS-BPEL.

ICT

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 9

ICT

WS-* stack to-beSimplified version of the to-be WS-* stack

Families of related specs not expandedCompeting spec families not shown“Historical” or abandoned specs not shown

XML

SOAP WSDL

BPEL

WS-CDLWS-Security

WS-Addressing

WS-ReliableMessagingWS-Coordination

WS-Policy

WS-MetadataExchange

WS-Notification

WS-ResourceWS-Transfer

UDDI

WS-Federation

ICT

WS-* stack as-isComplete version of the as-is WS-* stack

The 3 widely-accepted specs today are the same as 5 years agoBPEL and WS-Security is gaining momentumUDDI has been a failure, - from its initial goal of being a global registryNot much has changed since CORBA, however choreography and orchestration –and composition – has become more prominent through BPEL

XML

SOAP WSDL

BPEL

WS-CDLWS-Security

WS-Addressing

WS-ReliableMessagingWS-Coordination

WS-Policy

WS-MetadataExchange

WS-Notification

WS-ResourceWS-Transfer

UDDI

WS-Federation

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 10

ICT

IIS, ASP+XML/HTML

Web Transactions?

BTS

IntegrationServer, CICS ,..

XML/XSLT

WSDL

Data services &Legacy systems

Shared BusinessServices

User services(application/process)

Interaction/PresservicesSOAP

WS SecuritySAML

UDDI-white

- yellow- greenpages

WebServices

HTTP

BPEL4WS

ICT

DeferredSynch request

Naming service

Persistence service

ServerComponents

Message

Transaction service

Concurrencyservice

XML

Synchron.request

Event - publish & subscribe

Data services &Legacy systems

Shared BusinessServices

User services(application/process)

Interaction/Presservices

Trading serviceSecurityservice

Process&Workflowservices

Streaming

Integration service

User InterfaceDocument modelWeb interaction

System/Use Mngt

ESB& IntegrationServices

Discovery

UserInteractionServices

InformationServices

BusinessProcessServices

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 11

ICT

ICT

WSRPJSR-168

EkstranettIntranettInternett

Fag-system ERP CRM Sak /

Arkiv

Web ServicesXMLSOAPWSDLUDDI

BPEL/Orkestrering BAM

Messaging

Enterprise Service BusRoutingTransformation Adapters

WS-BPELJCA WSIF

Ekstern organisasjon

Web SSO aksess

LDAP- Active Directory- SunOne- Novell- Oracle

Sikkerhet / Identitets-forvaltning

Provisioning

Oracle BPELProcess Manager

Oracle Portal

Oracle Web ServicesManager

COREid Accessand Identity

COREid Provisioning

COREidFederation

Oracle Fusion Middleware

WS-SecurityWS-PolicySAML

Web Services sikkerhet

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 12

ICT0 SOA on your terms and our expertise

Software

© 2005 IBM Corporation© 2005 IBM Corporation

App

s &

In

fo A

sset

s

Business Innovation & Optimization Services

Dev

elop

men

tSe

rvic

es

Interaction Services Information Services

Partner Services Access Services

ESB IT S

ervi

ceM

anag

emen

t

Infrastructure Services

Business App Services

Service Oriented Development

Process Services

Portal

App EJBs SAPAdapter

OracleAdapter

DBAccess

FederatedQuery

Community Manager

Business dashboard

IT impacton processes

ICT

SOA reference models

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 13

ICT

SOA definition

A set of components which can be invoked, and whose interface descriptions can be published and discovered (W3C).

The policies, practices, frameworks that enable application functionality to be provided and consumed as sets of services published at a granularity relevant to the service consumer. Services can be invoked, published and discovered, and are abstracted away from the implementation using a single, standards-based form of interface. (CBDI) (www.cbdiforum.com)

ICT

SOA definitionService-oriented architecture (SOA)

“A set of components which can be invoked, and whose interface descriptions can be published, discovered and invoked over a network.” (W3C)

http://www.w3.org/

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 14

ICT

Basic service-oriented model

Service providerProvides software applications for specific needs as services.

Service requesterA requester could be a human user/application program/another service accessing the service through a desktop or a wireless browser; it could be an application program.

Service broker:A service broker provides a searchable repository of service descriptions.Examples of service brokers are UDDI (Universal Description, Discovery, and Integration).

ICT

Extended service-oriented architecture

Composition

Description & Basic Operations

Mana-gement

•Capability•Inteface•Behavior•QoS

•Coordination•Conformance•Monitoring•QoS

•Publication•Discovery•Selection•Binding

Service provider

Service client

Service aggregator

performs

publishes

uses

Role actions

becomes

Operations•Assurance•Support

Market•Certification•Rating•SLAs

Service operator

Market maker

Managed services

Composite services

Basic services

Composition

Description & Basic Operations

Mana-gement

•Capability•Inteface•Behavior•QoS

•Coordination•Conformance•Monitoring•QoS

•Publication•Discovery•Selection•Binding

Service provider

Service client

Service aggregator

performs

publishes

uses

Role actions

becomes

Operations•Assurance•Support

Market•Certification•Rating•SLAs

Service operator

Market maker

Managed services

Composite services

Basic services

Papazoglou and GeorgakopoulosCACM,Oct. 2003

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 15

ICT

SOA Reference architecture – solution view (IBM)

ICT

SOA reference architecture (IBM)

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 16

ICT

OASIS Reference Model forService Oriented Architecture 1.0

Abstract framework.Understanding significant entities and relationships between them within a service-oriented environment.Development of consistent standards or specifications supporting service-oriented environment.

Based on unifying concepts of SOA and may be used byarchitects developing specific service-oriented architecturesin training and explaining SOA.

Reference model not directly tied to any standards, technologies or other concrete implementation detailsProvide a common semantics that can be used unambiguously acrossand between different implementations. The reference model focuses on the field of software architecture.

Limited to a basic SOA model, i.e. no events, etc. …

ICT

Scope of the reference model

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 17

ICT

What is an SOAService-oriented architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains.

Visibility, interaction, and effect are key concepts for describing the SOA paradigm.

Visibility refers to the capacity for those with needs and those with capabilities to be able to see each other.Whereas visibility introduces the possibilities for matching needs to capabilities (and vice versa), interaction is the activity of using a capability.The purpose of using a capability is to realize one or more real worldeffects. At its core, an interaction is “an act” as opposed to “an object”and the result of an interaction is an effect (or a set/series of effects).

ICT

Principal concepts

Service: The means by which the needs of a consumer are brought together with the capabilities of a provider.

Visibility: The capacity for those with needs and those with capabilities to be able to interact with each other.

Service description: The information needed in order to use, or consider using, a service.

Execution context: The set of technical and business elements that form a path between those with needs and those with capabilities and that permit service providers and consumers to interact.

Interaction: The activity involved in making using of a capability offered, usually across an ownership boundary, in order to achieve a particular desired real-world effect.

Real world effect: The actual result of using a service, rather than merely the capability offered by a service provider.

Policy: A statement of obligations, constraints or other conditions of use of an owned entity as defined by a participant.

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 18

ICT

Service descriptionThe service description represents the information needed in order to use a service.

A service description SHOULD include sufficient data to enable a service consumer and service provider to interact with each other. This MAY include metadata such as the location of the service and what information protocols it supports and requires. It MAY also include dynamic information about the service, such as whether it is currently available.

A service description SHOULD unambiguously express the function(s) of the service and the real world effects that result from it being invoked.

A service description MAY include support for associating policies with a service and providing necessary information for prospective consumers to evaluate if a service will act in a manner consistent with the consumer’s constraints.

The service interface is the means for interacting with a service. It includes the specific protocols, commands, and information exchange by which actions are initiated that result in the real world effects as specified through the service functionality portion of the service description.

ICT

SCA - Service Component Architecture

A vendor-, technology-, language-neutral model for the creation of business systems using SOA by the composition and deployment of new and existing service components

SCA/SDO handed over to OASIS for further standardisation in March 2007

OASIS Open Composite Services Architecture (CSA)

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 19

ICT

SCA: Simplified Programming Model for SOA

What is SCA:model for assembly of service components into business solutionssimplified component programming model for implementation of services:

Business services implemented in any of a variety of technologies • e.g. EJBs, Java POJOs, BPEL process, COBOL, C++, PHP …

Key Benefits of SCA:Loose Coupling: Components integrate with other components without needing to know how other components are implemented

Loose coupling - KEY requirement for SOAFlexibility: Components can easily be replaced by other components

Flexibility - KEY requirement for SOAServices can be easily invoked either synchronously or asynchronously Composition of solutions: clearly described

Composition of services - KEY requirement for SOAProductivity: Easier to integrate components to form composite application

SCA simplifies development experience for all developers, integrators and application deployers

ICT

WarehouseService

WarehouseComposite

WarehouseBroker

ComponentWarehouseComponent

EventLogComponent

OrderProcessingService

OrderProcessingComponent

EventLogReference

ExternalWarehouse

Reference

PaymentsComponent

PaymentService

AccountsCompositeExternalBanking

Reference

AccountsLedger

Component

Example SCA assembly

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 20

ICT

Composite

Composite A

ComponentAService

BindingWeb ServiceSCAJCAJMSSLSB…

BindingWeb ServiceSCAJCAJMSSLSB…

ComponentB

Service- Java interface- WSDL PortType

Reference- Java interface- WSDL PortType

Wire WireWire

Reference

Propertysetting

Properties

ICT

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"

name="bigbank.accountcomposite" >

<service name="AccountService">

<interface.java interface="services.account.AccountService"/>

<binding.ws port="http://www.bigbank.com/AccountService#

wsdl.endpoint(AccountService/AccountServiceSOAP)"/>

<reference>AccountServiceComponent</reference>

</service>

<component name="AccountServiceComponent">

<implementation.java class="services.account.AccountServiceImpl"/>

<property name=“currency”>EURO</property>

<reference name="accountDataService" target="AccountDataServiceComponent"/>

<reference name="stockQuoteService" target="StockQuoteService"/></component>

<component name="AccountDataServiceComponent">

<implementation.java class="services.accountdata.AccountDataServiceImpl"/>

</component>

<reference name="StockQuoteService">

<interface.java interface="services.stockquote.StockQuoteService"/>

<binding.ws port="http://www.quickstockquote.com/StockQuoteService#

wsdl.endpoint(StockQuoteService/StockQuoteServiceSOAP)"/>

</reference>

</composite>

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 21

ICT

Demo: Fabric Runtime (SCA 0.95) Overview

JCA…

JMS

HTTP SCA Runtime

“Fabric”Normalized message busComponent lifecycle managementInter-component “wiring”Policy enforcement (binding independent)Monitoring

MDS

UDDI

BPEL Routing Rules Scheduler…

J2EE + Spring

Bindings

Service Engines

ICT

Intents

Intents are abstract specifications of requirements independent of implementation technology or binding. The SCA developer uses intents to specify what he needs independent of deployment details which are added later in the process.For example, he may specify ‘confidentiality’ or ‘reliability’ without specifying:

- How to achieve?- Detailed characteristics?

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 22

ICT

Intents (continued)

In fact, he can say a little bit more ---Intents can be qualified – so he can say, for example, ‘confidentiality.transport’ or ‘confidentiality.message’These are called qualified intents.

<intent name="sca:confidentiality“constrains="sca:binding"

<description>Protect messages from unauthorized reading.

</description></intent>

<intent name="sca:confidentiality.transport" />

ICT

Information as a ServiceVirtualizing the IT Infrastructure

Business Processes

Monitoring WorkflowsBusiness Applications

Portals

Composite Applications

Workflows

Rich client

Browser

MobileClients

Information Services

Data & ContentAnalysis Integration

Application Adapters

Quality

SDO SDO

SDO

SDO

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 23

ICT

SOA (SCA) is the component modelComponents may be wired togetherSDO DataObjects are the data flowing on wires between Components

SOA and SDO

MyValueModule

SCAMyValue

Web

Web

SCACustomerInfo

ExportMyValue

ImportStockQuote

Other AppsModules

Other AppsModulesSDO SDO

SDO

SDOSDO

ICT

SDO Data Transfer Objects (DTO’s)

Client

ChangeSummary

Data GraphDataObject

: EJB: InvoiceEJB: Customer

JDBC

XPath / XQuery

Local

XML/HTTP

CCI / Proprietary

Data Access Service

RDB

XML DB

Web service

JCA

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 24

ICT

SOA Maturity ModelsOpen Group – OSIMM

Gartner Group SOA Maturity ModelSONIC vendor group SOA Maturity Model…

ICT

Silo

Level 1

Services

Level 4

Composite Services

Level 5

VirtualizedServices

Level 6 Level 7

DynamicallyRe-Configurable

ServicesComponentized

Level 3

Integrated

Level 2

Modules Services Process Integration via Services

Dynamic Application AssemblyComponentsObjectsApplications

Structured Analysis & Design

Service OrientedModeling

Service OrientedModeling

Grammar OrientedModeling

Component Based Development

Object OrientedModelingMethods

Function Oriented

ServiceOriented

ServiceOriented

ServiceOriented

Function Oriented

Function Oriented

Business View ServiceOriented

Service Oriented Modeling

Process Integration via Services

Platform Specific

PlatformSpecific Technology Neutral

DynamicSense & Respond

PlatformSpecific

PlatformSpecificInfrastructure

Monolithic Architecture

Emerging SOA Grid Enabled SOA

Dynamically Re-Configurable Architecture

ComponentArchitectureLayered ArchitectureArchitecture SOA

PlatformIndependent

Application Specific Skills Technology Adoption Cultural & behavioral

Transformation Human Service BusIT GovernanceIT TransformationGovernance & Organization

Organizational Transformation

Application specific data solution

LOB wide standardized Data

vocabularies

Flexible Data vocabularies for

expansion

Data vocabularies are Standards

based

Business Data can be shared outside

the Silo.

Data Subject Areas establishedInformation

Enterprise wide standardized Data

vocabularies

Service Foundation Levels

Open Group Service Integration Maturity Model – Matrix 2.1.07

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 25

ICT

How is SOA different (1)Object-orientation (OO) vs. service-orientation (SO)

FocusOO: Focuses on packaging data with operations.SO: Focuses on the task or business function – getting something done.

MethodOO: Intentional melding of methods to a given data object, where methods are a property of the object.SO: Services represents access to methods, but the actual existence of methods and any connection to objects is incidental.

UsageOO: To use an object, it must first be instantiated.SO: One interacts with a service where it exists.

SemanticsOO: An object exposes structure but there is no way to express semantics other than what can be captured as comments in the class definition.SO: SOA emphasizes the need for clear semantics – (but where is it ? ref. part II)

ICT

How is SOA different (2)Organizing and understanding information communication technology (ICT)

SOA reflects the reality that ownership boundaries are a motivating consideration in the architecture and design of systems.SOA applies the lessons learned from commerce to the organization of ICT assets to facilitate the matching of capabilities and needs.

Two or more entities come together within the context of a single interaction implies the exchange of some type of value.Evolve away from interactions defined in a point-to-point manner to a marketplace of services.

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 26

ICT

Forms of loose coupling

asynchronoussynchronousDeployment

compensation2PC (two-phase commit)Transactionally

platform-independentstrong dependenciesPlatform

dynamicallystaticallyBinding

distributed controlcentral controlControl of process logic

data-centric, self contained messages

navigate through complex object trees

Interaction pattern

weakstrongType system

common basic typescommon complex typesData model

asynchronoussynchronousCommunication style

intermediatorpoint-to-pointPhysical

Loose couplingTight coupling

ICT

The UDDI failure

Web service publicationand discovery

Why ? - Too simplistic, need to move into more comprehensive federated

model management

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 27

ICT

UDDI Registry

UDDI Business Registry

3. UBR assigns a programmatically unique identifier to each service and business registration

Marketplaces, search Marketplaces, search engines, and business apps engines, and business apps query the registry to query the registry to discover services at other discover services at other companiescompanies

44..

Service TypeRegistrations

SW companies, standards SW companies, standards bodies, and programmers bodies, and programmers populate the registry withpopulate the registry withdescriptions of different types descriptions of different types of servicesof services

11..

BusinessRegistrationsBusinesses Businesses

populate populate the registry withthe registry withdescriptions of descriptions of the services they the services they supportsupport

22..

Business uses this Business uses this data to facilitate easier data to facilitate easier integration with each integration with each other over the Webother over the Web

55..

Universal Description, Discovery and Integration

ICT

UDDI - Four information types

<businessEntity>name, contacts,description, indentifiers, categories

<businessService> sService> (1..n)

namedescription, categories

<bindingTemplate>(1..n)technical information

<tModel>namedescriptionURL pointers to specificaitons

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 28

ICT

Part II

Semantic SOA & Modelling

ICT

The Waves of Semantics/Conceptual Modeling

Base Source: own experience

Ref. more on this during the final CAISE panel on Friday,“ISE research from 1977, in 2007, and how it will be in 2037 “

1976 1983 1987 1996 2004 2007 2010

ER

Data Modeling

Structured Design

ISO CM TR

Object-orientedModeling

FirstWave

SecondWave

ThirdWave

OOAD,OMT

UML, Req.Eng.

Ontologies !OIL, DAML,

OWL,WSMO,

Standards andOntologies

BPMN,UPMS,

FourthWave

FifthWave

NIAM

SixthWave

Unification?

Web 2.0,Web 3.0

The semanticweb

Web 4.0ORMIFIP WG8.1

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 29

ICT

PhaseClass

TraditionalSA/SD/ERA

SA-based OO

ERA-based OO

Hybrid SA/ER-based OO

SA - Yordon SD - Page Jones

ERA - Chen ER-Rel.db - 3NF

OO RT SA - Wards

OOA/OOD - Coad/Yordon

OMT - Rumbaugh et. al

Fusion - HP

OOAD - Booch (93 w/C++)

HOOD - ESAOOSD - Wasserman

SD-basert OO

OO-based

RDOOD - Wirfs-Brock et. al

CRC-cards - Cunningham

OOram - Reenskaug et. al

ANALYSIS DESIGN DETAILED DESIGN

OOAD - Martin/Odell

OSDL-92 - CCITT/Bræk et. alOOSE/ObjectOry - Jacobson

Ada(C++)-based

SDL-based OO

UML (96)Booch/OMT/ObjectOry

OOAD methodsOOAD methods

Catalysis, Syntropy, SOMA, OBA, BHS, ...

ICT

Evolution of the UMLEvolution of the UML

Booch ´91

Booch ´93

Unified Method 0.8

UML 1.0

OMT - 2

OMT - 1 OOSE

UML 0.9 & 0.91

OOPSLA ´95

June ´96 & Oct ´96

Submission of UML 1.1 to OMGfor adoption, Sept ´97

Other methods

publicfeedback UML Partners’

Expertise

UML 1.1 (Sept. 1997)

Taskon,SINTEF

UML 1.4UML 2.0

(2004)

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 30

ICT

Evolution of OAD methodologies

UML1.0

UML1.1

UML1.2

UML1.3

UML1.4

OMT

Objectory

Booch

UML Components

Catalysis

OOram

KobrA

COMET

UML4EDOC

UML2

Pulse

UP

RUP

Notation

Process 2002

2001

1995-1999

2000

SOMA

ICT

Internet Evolution

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 31

ICT

Evolution of the semantic layer vision

ICT

The Tree of Knowledge Technologies (Extended from figure by Top Quadrant)

SAWSDL

EXPRESSISO 15926

CC

WSMO/WSMF

OWL-S

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 32

ICT

Semantic Web Service languages

WSDL-S

OWL-S WSMO SWSF

no ontology language andlogic pre-defined

describtion logic(DL)

first-order logic /higher order logic

(FOL / HOL)

sing

le-s

tep

proc

esse

sm

ulti-

step

proc

esse

s

WSDL-S

OWL-S WSMO SWSF

no ontology language andlogic pre-defined

describtion logic(DL)

first-order logic /higher order logic

(FOL / HOL)

sing

le-s

tep

proc

esse

sm

ulti-

step

proc

esse

s

ICT

Web Service Modeling Framework (WSMF)

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 33

ICT

From SOA to SESA : Semantically Enabled Service Architectures

+ semantic data integration

+ semantic services

+ semantic processes

ICT

Semantically-Enabled Service-oriented Architecture

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 34

ICT

Run-time

SemAnnot

Set#2

InternetSemRec

Rules#2

Local

Software &

Data

SwApp#1

Local

Software &

Data

SwApp#2Sem

AnnotSet#1

SemRec

Rules#1

ReferenceOntology

Semantic annotation Objectives

Reconciliation

Design-time

ICT

SAWSDL - Semantic Annotations for WSDL and XML Schema

W3C Working Draft 10 April 2007

This specification defines a set of extension attributes for the Web Services Description Language and XML Schema definition language that allows description of additional semantics of WSDL components. The specification defines how such semantic annotation is accomplished using references to semantic models, e.g. ontologies

3 constructs: modelReference, liftingSchemaMapping, loweringSchemaMapping

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 35

ICT

A Web Service Composition Scenario with Ontology Reasoning

ICT

Semantic SOA: Discovery / SelectionEnterprise SOA Vision

Application Composition basedon existing building blocks (services)Business Process Flexibility

RequirementsDiscovery of appropriate candidate services Selection of the best matching service

An Approach for SolutionSemantic annotation of service capabilities and requestor’ goals

Unambiguous, machine-interpretable formalizationsBusiness context & data ontologies

Advantages(Semi-)automatic discovery of candidate services(Semi-)automatic integration of new servicesSelf-adaptable business processes through automatic selection of services

Service YGoal

Potential candidate

Service X Goal

No match

Discovery

Service Y

Service Z

Potential candidatesConcreteTask

Ranking/Composition

Selection

- examples from SAP research

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 36

ICT

Semantic SOA : MediationEnterprise SOA Vision

Application Compositionbased on existing building blocks

RequirementsIntegration of differentservices Mapping between differentmessage formats

An Approach for SolutionSemantic annotation of messageformats using ontologies

Unambiguous, machine-interpretable formalizationsBusiness data ontologies

AdvantagesSemi-automatic creation of necessary transformationsReduced development effortSimplified integration of legacy systems/applications

Business Collaboration OntologyBusiness Collaboration OntologyBusiness Collaboration OntologyPerson

First nameSurnameAddress

AddressStreetCityPostal Code

hasType

ClientClient codeCase worker…

Is a

…<CLT>

<CLTCD>1234</CLTCD><NAME>Joe Doe</NAME> <CITY>WDF</CITY><POCODE>12345<POCODE>

</CLT>…

…<Customer>

<FirstName>Joe</FirstName><SurName>Doe</SurName> <Address>

<City>WDF</City></Address>

</Customer>…

1234

JoeDoe

WDF12345

Sourcemessage

Targetmessage

AutomaticData Mediation

Creating ontology instance from source message

Creating target message instance from ontology instance

Business Collaboration OntologyBusiness Collaboration OntologyBusiness Collaboration OntologyPerson

First nameSurnameAddress

PersonFirst nameSurnameAddress

AddressStreetCityPostal Code

AddressStreetCityPostal Code

hasType

ClientClient codeCase worker…

ClientClient codeCase worker…

Is a

…<CLT>

<CLTCD>1234</CLTCD><NAME>Joe Doe</NAME> <CITY>WDF</CITY><POCODE>12345<POCODE>

</CLT>…

…<Customer>

<FirstName>Joe</FirstName><SurName>Doe</SurName> <Address>

<City>WDF</City></Address>

</Customer>…

1234

JoeDoe

WDF12345

Sourcemessage

Targetmessage

AutomaticData Mediation

Creating ontology instance from source message

Creating target message instance from ontology instance

ICT

Semantic SOA : CompositionEnterprise SOA Vision

Business ProcessFlexibility

RequirementsDefining placeholdersfor process stepsMatching of business contextsDescribing data compatibility

An Approach for SolutionGoals as placeholdersService semantics described by ontologies

Unambiguous, machine-interpretable formalizationsBusiness context & data ontologies (static aspects)Business collaboration ontology (behavioral semantics)

Sales Order Processing

OrderOrder

Business Collaboration OntologyBusiness Collaboration OntologyBusiness Collaboration Ontology

Invoice Processing

InvoiceInvoice

Web Service

Capability I

Capability

Web Service

Capability II

Purchase Order

Processing II

PurchasePurchaseOrder IIOrder II

Purchase Order

Processing I

PurchasePurchaseOrder IOrder I

Goal

Process Matching & Process Matching & MediationMediation

Purchase Order Processing Goal

AdvantagesReasoning allows for automatic composition of processesAutomatic integration of new servicesSelf-adjusting business by using placeholders

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 37

ICT

Enterprise architecture and SOA

ICT

BPMI.org Hourglass

Business Environment

Technology Implementation

BP

BPMN

BPEL

Focus Scope

Strategy Consultants

Process Designers

System Architects

Software Engineers

Business Analysts

Audiences: Purposes:

Execution

Modeling

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 38

ICT

Core Set of Diagram Elements

The core set of modeling elements enable the easy

development simple Business Process

Diagrams that will look familiar to most Business

Analysts (a flowchart diagram)

ICT

Complete Set of Diagram Elements, Events

An Event is something that “happens” during the course of a business process. These Events affect the flow of the Process and usually have a trigger or a result. They can start, interrupt, or end the flow.

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 39

ICT

Complete Set of Diagram Elements, Activities, Cont.

A Sub-Process can be in an expanded form that shows the process details of the a lower-level set of activities.

ICT

Complete Set of Diagram Elements, Gateways

Gateways are modeling elements that are used to control how Sequence Flows interact as they converge and diverge within a Process. If the flow does not need to be controlled, then a Gateway is not needed.

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 40

ICT

OMG Model Driven Architecture (MDA)

Platform Independent Model

Platform Specific Model

Executable Code

Transformation

Code Generation

QVTSpecify

Transformations

UMLSpecify

Applications

MOFSpecify

Languages

Computation Independent Model

TransformationBusinessEnterprise

models

Ref. also Microsoft DSL Domain Specific Languages

ICT

Current MDA Architecture with Semantic annotations

CIM/EMmodels

PIMSystemmodels

PSMSystemmodels

System

ADM

QVT

QVT

MOF2Txt

ADM

ADM

Enterprisemodeling

expert

Systemmodeling

expert

Systemrealisationinstallation

expert

Ref.ontology

Semanticannotation

Semanticannotation

Semanticannotation

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 41

ICT

UPMS standardisation process in OMGOMG Service Oriented Architecture SIG

http://soa.omg.org/UML Profile and Metamodel for Services (UPMS) "SOA" RFP

http://www.omg.org/cgi-bin/doc?soa/06-09-09The purpose of the RFP is to address service modelling, not methodologies for SOA

A common vocabulary and metamodel to unify the diverse service definitions that exist in the industry.Clarify UML semantics concerned with services modellingEstablish modelling best practices.Complement existing UML metamodel by defining an extension to UML for servicesIntegrate with and complement standards developed by other organizations such as W3C and OASISSupport a service contract describing the collaboration between participating service consumers and service providersEnable traceability between contract specifications and realization of servicesFacilitate the adoption of SOA through more abstract and platform independent services modelsThe ability to exchange services models between tools using XMI

ICT

BPMN example

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 42

ICT

UPMS example 1/4

ICT

UPMS example 2/4

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 43

ICT

UPMS example 3/4

ICT

UPMS example 4/4

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 44

ICT

UPMS (core)

Service Variabilityand Configuration

UPMSWSA/SCA

UPM forSWS/SESA

UPM forAgents

UPM for P2P/Grid/EDA/Components

UPMS-HA

WS, WSMO, OWL-S, JACK, JADE, JXTA, OGSA, J2EE, CORBA

J2EE, SCA, .Net ,…

BPMN BPDM BMM SBVR

PIMs for differentArchitecturalStyles

RealisationTechnologies

PSMModels

CIMBusinessModels

PIMModels

UPMS-HA – UML Profile and Metamodel for Services – for Heterogeneous Architectures

OMG UPMS RFP submission from SINTEF et. al, June 4th, 2007

ICT

UPMS-HA appendixes

Appendix A: UPM for Semantic Web Services - (was Contribution from DERI/Augsburg)

Appendix A: UPM for WSMO (or included above) ? - (was Contribution from DERI)

Appendix A: UPM for WS/P2P/Grid (GeSMO) - (was Contribution from NKUA)

Appendix A: UPM for Agents - (was Contribution from DFKI)

Appendix A: UPM for Event modeling - (was Contribution from DFKI)

Appendix A: UPM for Services (PIM4SOA) - (was Contribution from ESI/SINTEF)

Appendix A: UPM for Services (MID/Augsburg) - (was Contribution from MID/Augsburg)

Appendix A: UPM for Services (SEA) - (was Contribution from Softteam)

Appendix A: UPM for Semantic Interfaces - (was Contribution from SINTEF SIMS)

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 45

ICT

SOA Trends and Challenges

ICT

TrendsConsolidation ➪ comprehensive platformsMerging of Human Workflow and System Orchestration/Process servicesIntegration of Business Rules EnginesSupport for Event Notification services (publish and subscribe)Integration of Model-generated workplaces and role/task-oriented user interfaces, user interaction services, portals, and multi-device interfacesExplicit use of models (Enterprise and System)Enterprise architecture + SOAInclusion of semantics – towards SESA, Semantically-Enabled Service Architectures

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 46

ICT

Ontologies and semantics – what is new ?Not much, - but enough:

Internet as a global infrastructure for sharing of concepts

URI’s will provide unique identifiers for concepts

We can build an infrastructure around this – to provide operational support for semantics

ICT

9 SOA challenges1. Service identification. What is a service? What is the business functionality to be

provided by a given service? What is the optimal granularity of the service? 2. Service location. Where should a service be located within the enterprise? 3. Service domain definition. How should services be grouped together into logical

domains? 4. Service packaging. How is existing functionality within legacy mainframe systems to

be re-engineered or wrapped into reusable services? 5. Service orchestration. How are composite services to be orchestrated? 6. Service routing. How are requests from service consumers to be routed to the

appropriate service and/or service domain? 7. Service governance. How will the enterprise exercise governance processes to

administer and maintain services? 8. Service messaging standards adoption. How will the enterprise adopt a given

standard consistently? 9. Service publication and discovery: How can we find the services we need ?

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 47

ICT

8 Selected Service Architecture challengesService-based unification for heterogeneous architectures, including Web services, Grid, P2P, Agents, Sensors and Mobile devicesContext-based Adaptive & self-adaptive systems Dynamic Service Discovery - in heterogeneous architecturesDynamic composition, service choreography and collaborative services – in heterogeneous architectures Semantic service-oriented architectures and semantic services (Ref. semantic web services)Service mediation – dealing with mismatchesScalability in service environmentsCultural, Language, Social and Legal Obstacles in Services-Centric Business Models, “software as a service” (ref. UDDI failure !)

ICT

8 Selected Service Engineering challengesModel Driven Engineering and Domain Specific languages for services and business modelingUnified Process modeling, Service composition, choreography, collaboration and workflow modeling Active and Executable Models – for Simulation and EnactmentModel-based “active” Service level agreements (SLAs)Quality of Service (QoS) and Cost of Service (CoS) and NFA (Security, Performance, Reliability, …) Analysis and Quality assessment support for Service modelsSupport for Security, Privacy and Trust for service computingUnification with the Requirements Engineering and Information System Engineering communities

SOA Mini tutorial, CAISE'07, June 13th, 2007, Trondheim, Norway 48

ICT

CAISE SOA sessionsService Oriented Architecture 1 Session Chair Neil Maiden Wednesday, 1330-1500

Discovering Web Services To Specify More Complete System Requirements, by Zachos, Maiden, Zhu, Jones – page 142 On ISOA Intentional Services Oriented Architecture, by Rolland, Kaabi, Kraiem – page 158 WSXplorer: Searching for Desired Web Services, by Hao, Zhang, Cao- page 173

Service Oriented Architecture 2 Session Chair Neil MaidenWednesday, 1530-1700

Conceptual Modeling of Privacy-Aware Web Service Protocols, by Hamadi, Paik, Benatallah – page 233 Policies for Context-Driven Transactional Web Services, by Maamar, Narendra, Benslimane, Subramanian - page 249 On Automated Generation of Web Service Level Agreements, by Cappiello, Comuzzi, Plebani – page 264

Friday, 1330-1500, ISE research from 1977, in 2007, and how it will be in 2037