”modellbasert systemutvikling” ”modelbased system development”€¦ · ”modellbasert...

40
1 Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen Berre [email protected] or [email protected] Telecom and Informatics 2 INF5120 - Lecture plan - 2012 Part I: SSI Service Innovation and Agile Service/Software Engineering Part II: SSMDE Model Driven Engineering Part III Model Driven Interoperability and ADM 1: 16/1: Introduction to Model Based System Development (INF5120) 2: 23/1: SIE I: Enterprise Architecture, Role modeling-Collaboration and Value Networks Verna Allee (VNA) 3: 30/1: SIE II:: Business Process Modeling with BPMN 2.0 and Business Model Innovation - Peter Lindgren (BMI) 4: 6/2: SIE III: AT ONE User-oriented design with Use cases and user stories 5: 13/2: SIE IV: Service modeling with SoaML Service modeling - Design, patterns 6: 20/2: SIE V: Precise Modeing in UML with OCL and Design with DCI - Design, patterns 7: 27/2: MDE I: Software Process Model Frameworks Essence/SEMAT, SPEM, EPF and ISO 24744 Shihong Huang/Brian Elvesæter/Arne J. Berre 8: 5/3: MDE II: Metamodels, Domain specific languages and UML profiles (Franck Fleurey, Brian Elvesæter) 9: 12/3: MDE III: Metamodeling, MDLE and DSL Tools (EMF, GMF, ATL, Kermeta) (Franck Fleurey) 10: 19/3: MDE IV: Model transformations - MOFScript, QVT DSLs with examples (Franck Fleurey) 11: 26/3: MDE V: Method Engineering and CORAS UML profile-: DSL example (Arne J. Berre) 2/4, 9/4: EASTER 12: 16/4: MDE VI: User Interface Modeling WebRatio-WEBML, ESITO-Genova, OMG IFML (AJB, Knut Sagli) 13: 23/4: MDI I: SOA technologies, MDE for SOA (Accenture/NAV) (AJB, Ismar Slomic, Øystein Gisnås ) 14: 30/4: MDI II: Information Models, Semantics and Model Driven Interoperability (AJB, Dumitru Roman) 15: 7/5: MDI III: Model Driven Interoperability , ADM and MDA/Migration to SOA/SaaS/Cloud 16: 13/5: Conclusion and Summary for INF5120 - Preparation of Exam Exam: Monday June 4th, 2011, 1430-1830 (4 hours)

Upload: others

Post on 25-May-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

1

Telecom and Informatics 1

INF5120

”Modellbasert Systemutvikling”

”Modelbased System development”

Lecture 13: 23.04.2012 Arne-Jørgen Berre

[email protected] or [email protected]

Telecom and Informatics 2

INF5120 - Lecture plan - 2012

Part I: SSI – Service Innovation and Agile Service/Software Engineering

Part II: SSMDE – Model Driven Engineering

Part III – Model Driven Interoperability and ADM

1: 16/1: Introduction to Model Based System Development (INF5120)

2: 23/1: SIE I: Enterprise Architecture, Role modeling-Collaboration and Value Networks – Verna Allee (VNA)

3: 30/1: SIE II:: Business Process Modeling with BPMN 2.0 and Business Model Innovation - Peter Lindgren (BMI)

4: 6/2: SIE III: AT ONE –User-oriented design – with Use cases and user stories

5: 13/2: SIE IV: Service modeling with SoaML – Service modeling - Design, patterns

6: 20/2: SIE V: Precise Modeing in UML with OCL and Design with DCI - Design, patterns

7: 27/2: MDE I: Software Process Model Frameworks – Essence/SEMAT, SPEM, EPF and ISO 24744 –Shihong Huang/Brian Elvesæter/Arne J. Berre

8: 5/3: MDE II: Metamodels, Domain specific languages and UML profiles (Franck Fleurey, Brian Elvesæter)

9: 12/3: MDE III: Metamodeling, MDLE and DSL Tools (EMF, GMF, ATL, Kermeta) (Franck Fleurey)

10: 19/3: MDE IV: Model transformations - MOFScript, QVT DSLs with examples (Franck Fleurey)

11: 26/3: MDE V: Method Engineering and CORAS UML profile-: DSL example (Arne J. Berre)

2/4, 9/4: EASTER

12: 16/4: MDE VI: User Interface Modeling – WebRatio-WEBML, ESITO-Genova, OMG IFML (AJB, Knut Sagli)

13: 23/4: MDI I: SOA technologies, MDE for SOA (Accenture/NAV) (AJB, Ismar Slomic, Øystein Gisnås )

14: 30/4: MDI II: Information Models, Semantics and Model Driven Interoperability (AJB, Dumitru Roman)

15: 7/5: MDI III: Model Driven Interoperability , ADM and MDA/Migration to SOA/SaaS/Cloud

16: 13/5: Conclusion and Summary for INF5120 - Preparation of Exam

Exam: Monday June 4th, 2011, 1430-1830 (4 hours)

Page 2: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

2

Telecom and Informatics 3

INF5120 – Oblig/Exercise plan - 2012

1: 16/1: None

2: 23/1: Guest lecture: Value Networks – Verna Allee (VNA)

3: 30/1: Guest lecture: Business Model Innovation - Peter Lindgren (BMI) – Establish groups

4: 6/2: AT ONE initial exercise – overall approach for Oblig 1 – “myServiceFellow”

5: 13/2: Group presentation

6: 20/2: Group presentation

7: 27/2: Group presentation

8: 5/3: MDE Tools – introduction – Oblig 2 intro

9: 12/3: MDE Tools II - EMF

10: 21/3: MDE Transformation tools - Delivery of Oblig 1

11: 26/3: Walk through of Oblig 1

2/4, 9/4: EASTER

12: 16/4: Discussion on Oblig 2 – part 1 and 2

13: 23/4: Discussion on Oblig 2 - part 2 and 3

14: 30/4: Discussion on Oblig 2 - part 3

14: 7/5: Oblig 2 delivery (!)

15: 7/5: Oblig 2 summary

16: 13/5: Conclusion and Summary for INF5120 - Preparation of Exam

Exam: Monday June 4th, 2011, 1430-1830 (4 hours)

ICT

Outline

Service-oriented architecture (SOA)

EA and MDD for SOA & SOA platforms

Web services architecture

UDDI, SOA, XS, WSDL, BPEL

SOA Design Patterns

MDE and SOA in practice (Accenture and NAV)

AICIT (Accenture Innovation Center for IBM Technology)

NAV – “The Pension program project”

Ismar Slomic, Øystein Gisnås

Page 3: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

3

ICT

OMG Modeling languages and

Zachman Framework

5

Data

(What)

Function

(How)

Network

(Where)

People

(Who)

Time

(When)

Motivation

(Why)

Scope

(Contexts)

Business

(Concepts)

System

(Logic)

Technology

(Physics)

Component

(Assemblies)

List of things

important

to business

List of processes

that the business

performs

List of locations

which the business

operates

List of organizations

important to the

business

List of events/cycles

important to the

business

List of business

goals/strategies

Semantic Model

Business

Process

Model

Business

Logistics

System

Workflow

Model

Master

Schedule

Business

Plan

Logical Data ModelApplication

Architecture

Distributed

System

Architecture

Human

Interface

Architecture

Process

Structure

Business Rule

Model

Physical Data Model System DesignTechnology

Architecture

Presentation

Architecture

Control

Structure

Rule

Design

Data Definition ProgramNetwork

Architecture

Security

Architecture

Timing

Definition

Rule

Definition

Operation

(Instances)Data Function Network Organization Schedule Strategy

BMM

SBVR

VDM OSMSBVR

DTFV

BPMN

UMLIMM

(CWM)

CMPM

SoaML

ODM

UML

SoaML

BPMN

ICT 6

CIM-PIM-PSM Reference Matrix

Page 4: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

4

ICT

Context and Goals

Interactions

Interface

Channels

Roles

Actors

Resources

Functions

Tasks

Executors

Processes

Orchestra- tion

Workflows

Information

Data

Stores and

Messages

EFA

Extra

Functional

Aspects

QoS

SLA

Monitoring,

adaptation

Inte

raction

Requirements

Function

Coord

ination

Info

rmation

Qualit

y

Design

Implementation

Infrastructure

Str

uctu

re

Role

Models UML

Class

Ontologies

Goal oriented

Use cases/stories

UI

IFML

WebML

OCL

collaboration

with

INF5120

Modeling

languages

Model Driven Architecture/MDE

SoaML BPMN

ICT 8

PIM-K

CIM-K

Ontologies Bus.Process Bus.Rules Goals NFA/Qualities Org

BPDM, SBVR,

EDOC,UPMS,

PIM4SOA, ODM

PSM-K

BPMN, POP*, ARIS,

ArchiMate,

GERAM, GRAI, Zachman,

UEML, B.Rules. ..

Technologies/Realisation-K

UML profiles and

metamodels for BPEL, WSDL, XML,

XPDL,

OWL-S, WSML, WSDL-S

Technology

Reliastion

Code

Information Process Services Rules NFA UI

Data Wflow/Comp Interfaces Rules NFA UI

XML, BPEL/XPDL, WSDL, SWRL, Security, AJAX

OWL, OWL-S/WSML WSDL-S, Induction, … QoS

Legacy and New systems/services, ERPs/ESAs

Page 5: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

5

ICT

Service-oriented architecture

(SOA)

ICT

Different kinds of architectures

Business

architecture

Integration

architecture

Conceptual

architecture

Architecture

framework

Logical

architecture

Knowledge

architecture

Information

architecture

Realisation

architecture Functional

architecture

ICT

architecture

Web services

architecture

Enterprise

architecture

Service-

oriented

architecture

Page 6: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

6

ICT

EA – SOA – WSA

Enterprise architecture (EA) is the practice of applying a method for describing a current and/or future structure and behaviour for an organization's processes, information systems, personnel and organizational sub-units, so that they align with the organization's core goals and strategic direction.

Holistic view of the enterprise and all its important assets.

Service-oriented architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. [OASIS 2006]

Architectural style for designing (technical) systems.

Web services architecture (WSA) intends to provide a common definition for understanding Web services. A Web services architecture involves many layered and interrelated technologies. [W3C 2004]

A set of enabling Web technologies for implementing software systems.

ICT

Describing coherence

Mark Lankhorst et al., "Enterprise Architecture at Work: Modelling, Communication and Analysis", Springer, 2005, ISBN: 978-3-540-24371-7.

Process architecture

Application architecture Technical architecture

Information architecture Product architecture

?

?

?

?

?

Page 7: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

7

ICT

Basic service-oriented model

Service provider

Provides software applications for specific needs as services.

Service requester

A 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

OASIS Reference Model for

Service Oriented Architecture 1.0

OASIS http://www.oasis-open.org/home/index.php

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 by architects developing specific service-oriented architectures

in training and explaining SOA.

Reference model not directly tied to any standards, technologies or other concrete implementation details

Provide a common semantics that can be used unambiguously across and between different implementations.

The reference model focuses on the field of software architecture.

Page 8: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

8

ICT

What is an SOA

Service-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 world

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

Page 9: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

9

ICT

Execution context

ICT

MDD for SOA & SOA platforms

Page 10: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

10

ICT

Mo

dellin

g a

pp

roach

fo

r S

OA

Semantic

Space

Service - Oriented Architecture Model

Web Service Execution Artefacts

Agent Execution Artefacts

BPEL Execution Artefacts

P2P Execution Artefacts

Web Service Specification Model

Agent Specification Model

BPEL Specification Model

P2P Specification Model

Model Transformation

UML Profile for Web Services

UML Profile for Agents

UML Profile for BPEL

UML Profile for P2P

Model Transformation

Architecture Specification

Execution Infrastructure

Registry Repository

Service Wrappers (Enterprise A)

Evaluation & Negotiation of Available Functionality

Enhanced Service Interconnection Bus

Cross - org.

Intra - org.

Existing Enterprise Applications

Public

Infrastructure Services

Service Wrappers

(Enterprise X)

Service Wrappers

(Enterprise Y)

Internal

Infrastructure Services

Process

Execution

Platform

(BPEL)

Goal - oriented

Adaptive

Execution

Platform

(Agents)

Goal - oriented

Adaptive

Execution

Platform

(Agents)

Active

Model

Platform

( AKMii )

Active

Model

Platform

( AKMii )

Legend

Message -

Oriented

Platform

( MQSeries )

Message -

Oriented

Platform

( MQSeries )

Server - side

Component

Platform

(.NET, J2EE)

Server - side

Component

Platform

(.NET, J2EE)

Composed

WebService

Platform

( WebServices )

Business Process/Agent

Active (Business) Model

Web/Server Component

Middleware Process/Agent

Middleware Component

Adaptive Distr ibuted

Resource Mgt Platform

(P2P)

Deployment

UML Profile for SOA

(SoaML)

Refe

ren

ce O

nto

log

y

annotated with

Model to Model Transformation

Model to Text Transformation

OWL Ontology

annotated with

annotated with

Enterprise Model

Enterprise Model

• BMM • BPMN • …

Model to Model Transformation

Business Requirements

Analysis

annotated with

ICT

SOA

Metamodel

Web Services

Metamodel

Agent Metamodel

(AgentMM)

P2P

Metamodel

Grid

Metamodel

PIM

P

SM

s

Symbols

Metamodel

Concept

Relationship

Correspondence

Mo

del tr

an

sfo

rmati

on

s

CIM

“EA”

Metamodel

Page 11: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

11

ICT

ICT

SOA platform consolidation

Data and information integration ➪ Information Fabric

EII: Enterprise information integration

ETL: Extract, transform and load

Application integration ➪ Integration Suite

EAI: Enterprise application integration

B2Bg: Business-to-business gateway

ESB: Enterprise service bus

Applications and Processes ➪ Business Process Management Suite

BPM: Business process management

B2Bi: Business-to-business integration

Enterprise workplace ➪ Interaction Platform

Page 12: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

12

ICT

ICT

Goal: Composite applications

Components: EAI, BPM, B2B, B2Bi

Extensions: Adapter, collaboration, analysis, reporting, development,

monitoring, contracts, SOA standards, …

Integration suite services

Page 13: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

13

ICT

Information fabric services

Goal: Holistic view of data (information virtualisation)

Components: DBMS, EII + ETL + replication

Extensions: Distributed meta-data repository, distributed data access,

integrated data management

ICT

Business process management suite

& interaction services

Goal: Continuous process improvement

Components: BPM human-centric: people-intensive processes

Integration-centric: system-intensive processes

Page 14: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

14

ICT

Architecture of Web-based solutions

Web

Tier

Business

Tier

Persistent

Entities

EJB Session

Beans

JSP / JSF

Pages

JavaBeans(optional)

Client

TierDynamic HTML

Pages

Application

Client

Enterprise Information

System (EIS)

TierDatabase

Database

Server

Java EE

Server

Client

Machine

BPEL

Processes

Web Services Web ServicesWeb Services

ICT

Web services architecture

Page 15: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

15

ICT

What is a Web service?

The term “Web services” is confusing.

There are many things that are referred to as “Web

services”.

Adding to the confusion is the term “services” which is

interpreted differently by different people.

ICT

Web service

Web is short for

World Wide Web.

Work performed or offered by a

software system (possibly including

human resources as well.)

Software services performed or offered on the Web,

using open Internet standards and technologies.

What is a Web service?

Page 16: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

16

ICT

Transports

Messaging

Description

Composable

Service

Assurance

Service

Composition

HTTP HTTPS SMTP

XML SOAP WS-Addressing

XSD WSDL UDDI WS-PolicyWS-Metadata

Exchange

WS-SecurityWeb Service Reliable

Messaging (WS-RM)WS-Transactions

WS-BPEL

Web services stack

Technology

stack

Conceptual

stack

ICT

Web services – a conceptual view

Underlying Protocols

Messaging Encoding

Business Entities

Web Service Interfaces

HTTP/WEB

VANs FTP

SMTP/EMAIL MQ-Series

SOAP

EDI “Binary”

Raw XML ebXML

BPEL

___________

___________

___________

___________

___________

_____

EGO-Centric

Workflow

Process

Description

WSDL

___________

___________

___________

___________

___________

_____

(Syntactic)

Web Service

Interface

Description

Bindings and

Endpoint

Descriptions

WS-CHOR

___________

___________

___________

___________

___________

_____

Interaction

Sequencing

(Co)Constraints

XSD

___________

___________

___________

___________

___________

_____

XML Message

Schema

Definition

Page 17: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

17

ICT

Web Services Architecture

BPEL

ICT

Model-driven Web Services –

Two alternatives

Web Service (XML, Textual)

Model-to-model PIM

(SoaML models)

transformation

PSM

(WS UML Profile)

Model-to-text Model-to-text

1

2

1

1. Transformation in two steps via UML profile

ATL

MOFScript MOFScript

2. Transformation in one step

Transformation choices: • fixed • config file • user is prompted

Page 18: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

18

ICT

Web service metamodels

Registry

<<Metamodel>>

+ UDDI.

Endpoint Description

<<Metamodel>>

+ WS-MetadataExchange.

+ WS-Policy.

+ WS-PolicyAttachement.

Service Interface

Description

<<Metamodel>>

+ WSDL 1.1.

+ WSDL 2.0.

Reliability

<<Metamodel>>

+ WS-ReliableMessaging.

Coordination

<<Metamodel>>

+ WS-Coordination.

Eventing

<<Metamodel>>

+ WS-BaseNotification.

+ WS-BrokeredNotification.

+ WS-Eventing.

+ WS-Topics.

Resource Access and

Management

<<Metamodel>>

+ WS-Enumeration.

+ WS-Resource.

+ WS-ResourceLifetime.

+ WS-ResourceProperty.

+ WS-Transfer.

Transport

<<Metamodel>>

+ HTTP.

Messaging

<<Metamodel>>

+ SOAP.

+ WS-Addressing.

XML

<<Metamodel>>

+ XML Core / XSD.

+ XML Encryption.

+ XML Signature.

+ XPATH.

Security

<<Metamodel>>

+ WS-Security.

eContract

<<Metamodel>>

+ ATHENA eContract Extensions.

Composition

<<Metamodel>>

+ ACE-GIS Composition Extensions.

+ WS-BPEL.

+ WS-CDL.

Registry

<<Metamodel>>

+ UDDI.

Endpoint Description

<<Metamodel>>

+ WS-MetadataExchange.

+ WS-Policy.

+ WS-PolicyAttachement.

Service Interface

Description

<<Metamodel>>

+ WSDL 1.1.

+ WSDL 2.0.

Reliability

<<Metamodel>>

+ WS-ReliableMessaging.

Coordination

<<Metamodel>>

+ WS-Coordination.

Eventing

<<Metamodel>>

+ WS-BaseNotification.

+ WS-BrokeredNotification.

+ WS-Eventing.

+ WS-Topics.

Resource Access and

Management

<<Metamodel>>

+ WS-Enumeration.

+ WS-Resource.

+ WS-ResourceLifetime.

+ WS-ResourceProperty.

+ WS-Transfer.

Transport

<<Metamodel>>

+ HTTP.

Messaging

<<Metamodel>>

+ SOAP.

+ WS-Addressing.

XML

<<Metamodel>>

+ XML Core / XSD.

+ XML Encryption.

+ XML Signature.

+ XPATH.

Security

<<Metamodel>>

+ WS-Security.

eContract

<<Metamodel>>

+ ATHENA eContract Extensions.

Composition

<<Metamodel>>

+ ACE-GIS Composition Extensions.

+ WS-BPEL.

+ WS-CDL.

ICT

Universal Description, Discovery

and Integration (UDDI)

Page 19: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

19

ICT

UDDI Registry

UDDI Business Registry

3. UBR assigns a programmatically unique

identifier to each service and business

registration

Marketplaces, search

engines, and business apps

query the registry to

discover services at other

companies

4.

Service Type

Registrations

SW companies, standards

bodies, and programmers

populate the registry with

descriptions of different types

of services

1.

Business

Registrations Businesses

populate

the registry with

descriptions of

the services they

support

2.

Business uses this

data to facilitate easier

integration with each

other over the Web

5.

Universal Description, Discovery and Integration

ICT

Simple Object Access Protocol

(SOAP) and RESTful Services

Page 20: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

20

ICT

Use of SOAP

network protocol

SOAP

application -service

requester

network protocol

SOAP

serviceprovider

request(soap request message)

respons(soap response message)

1 4 23

ICT

SOAP envelope

Page 21: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

21

ICT

XML Schema Definition (XSD)

ICT

XML Schema Definition (XSD)

Description

An XML schema describes the structure of an XML document.

XSD is a comprehensive data modelling language for XML

documents.

The one XML schema specification that has received the broadest

industry support.

The XML schema definition language is also referred to as XML

Schema Definition (XSD).

XML schema is an XML-based alternative to DTD. It

replaces/superseedes DTD.

- W3C, "XML Schema Part 0: Primer Second Edition", World Wide Web

Consortium (W3C), W3C Recommendation, 28 October 2004.

http://www.w3.org/TR/xmlschema-0/

Page 22: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

22

ICT

XSD: XML text editor

Can also be built using simple text editors

XML editors gives contextual support, e.g. like auto-completion, suggestions for

elements, etc., as well as validation of the XML document.

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name=“XMLRequest">

<xs:complexType>

</xs:complexType>

</xs:element>

</xs:schema>

ICT

XSD: UML profile for XSD

UML representation of XML schema.

Useful in a UML-centric development method if the modelling environment

supports generation/import of XSD documents.

Page 23: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

23

ICT

XSD metamodel

ICT

XSD metamodel (simplified)

Page 24: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

24

ICT

UML profile for XSD (1) Stereotype UML

construct

Tagged value Description

<<any>> Class,

Property

The stereotyped class or attribute will be

relaced by an 'any' or 'anyAttribute' element.

The tagged values are copied into the

corresponding attributes of the generated

element

namespace As defined in XML Schema specification

processContents As defined in XML Schema specification

values="skip | lax | strict"

default="strict"

<<attribute>> Property Assigned to UML attribute or association end.

Indicates item is to be generated as an attribute

within complexType and not as an element

default As defined in XML Schema specification

fixed As defined in XML Schema specification

form Overrides the attributeFormDefault for this

schema

values="qualified | unqualified"

use As defined in XML Schema specification

values="prohibited | optional | required"

default="optional"

<<choice>> Class Elements marked with this stereotype represent

a Choice model group conatined within a

complexType definition

<<complexType>> Class ComplexType definition generated in XML

Schema

memberNames Overrides the package-level default for naming

complexType definitions

values="qualified | unqualified"

mixed Determines whether this element may contain

mixed element and character content.

values="true | false"

default="false"

modelGroup Overrides the package-level default model

group

values="all | sequence | choice"

<<element>> Property Assigned to UML attribute or association end.

Indicates item is to be generated as element

within complexType and not as attribute

anonymousRole The class type will be directly embedded within

the complexType definition. Omit attribute or

role type wrapper

values="true | false"

default="false"

anonymousType The class type will be anonymous for XML

documents generated by the schema

values="true | false"

default="false"

form Overrides the elementFormDefault for this

schema

values="qualified | unqualified"

position If assigned, indicates position in the sequence

model group

<<facet>> Property A facet is a single defining aspect of a value

space. Generally speaking, each facet

characterizes a value space along independent

ICT

UML profile for XSD (2)

Stereotype UML

construct

Tagged value Description

<<any>> Class,

Property

The stereotyped class or attribute will be

relaced by an 'any' or 'anyAttribute' element.

The tagged values are copied into the

corresponding attributes of the generated

element

namespace As defined in XML Schema specification

processContents As defined in XML Schema specification

values="skip | lax | strict"

default="strict"

<<attribute>> Property Assigned to UML attribute or association end.

Indicates item is to be generated as an attribute

within complexType and not as an element

default As defined in XML Schema specification

fixed As defined in XML Schema specification

form Overrides the attributeFormDefault for this

schema

values="qualified | unqualified"

use As defined in XML Schema specification

values="prohibited | optional | required"

default="optional"

<<choice>> Class Elements marked with this stereotype represent

a Choice model group conatined within a

complexType definition

<<complexType>> Class ComplexType definition generated in XML

Schema

memberNames Overrides the package-level default for naming

complexType definitions

values="qualified | unqualified"

mixed Determines whether this element may contain

mixed element and character content.

values="true | false"

default="false"

modelGroup Overrides the package-level default model

group

values="all | sequence | choice"

<<element>> Property Assigned to UML attribute or association end.

Indicates item is to be generated as element

within complexType and not as attribute

anonymousRole The class type will be directly embedded within

the complexType definition. Omit attribute or

role type wrapper

values="true | false"

default="false"

anonymousType The class type will be anonymous for XML

documents generated by the schema

values="true | false"

default="false"

form Overrides the elementFormDefault for this

schema

values="qualified | unqualified"

position If assigned, indicates position in the sequence

model group

<<facet>> Property A facet is a single defining aspect of a value

space. Generally speaking, each facet

characterizes a value space along independent

Page 25: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

25

ICT

UML profile for XSD (3) UML representation Text representation

ICT

Web Services Description

Language (WSDL)

Page 26: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

26

ICT

Web Services Description Language

(WSDL)

Purpose

Web services need to be defined in a consistent manner so that

they can be discovered by and interfaced with other services and

applications.

The Web Services Description Language is a W3C specification

providing the foremost language for the description of Web service

definitions.

- W3C, "Web Services Description Language (WSDL) Version 2.0 Part

1: Core Language", World Wide Web Consortium (W3C), W3C

Working Draft, 3 August 2004. http://www.w3.org/TR/2004/WD-

wsdl20-20040803/

ICT

WSDL: Description

XML-based language for describing functional properties of Web services.

A service consists of a collection of message exchange end points.

An end point contains an abstract description of a service interface and implementation binding.

The abstract description of a service contains:

(i) definitions of messages which are consumed and generated by the service

(ii) signatures of service operations.

The implementation binding provides a means to map abstract operations to concrete service implementations.

It essentially contains information about the location of a binding and the communication protocol to use (e.g., SOAP over HTTP) for exchanging messages

Page 27: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

27

ICT

WSDL: Conceptual view

Underlying Protocols

Messaging Encoding

Business Entities

Web Service Interfaces

HTTP/WEB

VANs FTP

SMTP/EMAIL MQ-Series

SOAP

EDI “Binary”

Raw XML ebXML

WSDL

___________

___________

___________

___________

___________

_____

(Syntactic)

Web Service

Interface

Description

Bindings and

Endpoint

Descriptions

ICT

WSDL: Conceptual model

WS

Provider

WS

Client

WS Interface

Ports

Operations

Name,

Abstract Message Parts Schema

Message Exchange Pattern

Porttype

Operation

Concrete Message Encoding

Concrete Messaging Protocol

(Reusable) Binding

Concrete Endpoint Address

Operations Invoked through Ports

Page 28: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

28

ICT

WSDL: Message exchange patterns

WS

Provider

WS

Client Time

Request-Response

Solicit-Response

One-Way

Notification

ICT

WSDL 1.1 metamodel

WSDL Document WSDL Component

0..1 0..1

Port

+ Name

Operation

+ Name

Part

+ Name

+ Type

+ Element

Service

+ Name

1..* 1..*

Binding

+ Name

1

1

1

1

Port Type

+ Name

1 1 1 1

Message

+ Name

1..*

0..1

1..*

+input

0..1 0..1

+output

0..1 0..1 +fault 0..1

0..* 0..*

Import

+ NameSpace

+ Location

Include

+ Location

Element

+ Name

+ BaseType

+ MinOccurs

+ MaxOccurs

Definition

+ Name

+ TargetNameSpace 0..* 0..*

0..* 0..* 0..* 0..*

0..* 0..*

0..* 0..*

Schema

+ TargetNameSpace Types

0..1 0..1

A collection of

related

endpoints

A single

endpoint

defined as a

combination of

a binding and a

network

address

A concrete

protocol and

data format

specification

for a particular

port type

An abstract set

of operations

supported by

one or more

endpoints

An abstract,

typed definition

of the data

being

communicated

An abstract,

description of

an action

supported by

the service

A container

for data

type

definitions

Page 29: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

29

ICT

Changes in WSDL 2.0

Removal of Operation overloading

PortType renamed to Interface

Interface inheritance

Port renamed Endpoint

Extended repertoire of Message Exchange Patterns.

ICT

WSDL 2.0 metamodel

Definitions Interface Fault

+ name : wsdls_NCName

+ target namespace : wsdls_anyURI

Interface Operation

+ name : wsdls_NCName

+ target namespace : wsdls_anyURI

+ message exchange pattern : wsdls_anyURI

+ style [0..*] : wsdls_anyURI

+ safety : wsdls_boolean

Message Reference

+ message label : wsdls_NCName

+ direction : wsdls_token

+ message content model : wsdls_token

0..*

+message references

0..*

Fault Reference

+ message label : wsdls_NCName

+ direction : wsdls_token

1 +fault reference 1

0..* +fault references 0..*

Interface

+ name : wsdls_NCName

+ target namespace : wsdls_anyURI 0..*

+interfaces

0..*

0..*

+extended interfaces

0..*

0..*

+faults

0..*

0..* +operations 0..*

Binding Fault

1

+fault reference

1

Binding Operation

1

+operation reference

1

Binding Message Reference

+ message label : wsdls_NCName

+ direction : wsdls_token

0..*

+message references

0..*

Service

+ name : wsdls_NCName

+ target namespace : wsdls_anyURI

0..* +services 0..*

1

+interface

1 Binding

+ name : wsdls_NCName

+ target namespace : wsdls_anyURI

+ type : wsdls_anyURI

0..*

+bindings

0..*

0..1 +interface

0..1

0..*

+faults

0..*

0..*

+operations

0..*

Property

+ name : wsdls_anyURI

+ required : wsdls_boolean

0..* +properties

0..*

0..* +properties

0..* 0..*

+properties 0..*

0..* +properties 0..*

0..*

+properties

0..*

0..*

+properties

0..*

0..*

+properties

0..*

0..*

+properties

0..*

0..*

+properties

0..* 0..* +properties

0..*

Feature

+ name : wsdls_anyURI

+ required : wsdls_boolean

0..* +features

0..*

0..*

+features

0..*

0..*

+features

0..* 0..*

+features

0..*

0..*

+features

0..*

0..*

+features

0..*

0..*

+features

0..*

0..*

+features

0..*

0..*

+features

0..*

0..*

+features

0..*

Endpoint

+ name : wsdls_NCName

+ address : wsdls_anyURI 1..*

+endpoints

1..*

1

+binding

1

0..* +properties 0..*

0..* +features

0..*

Page 30: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

30

ICT

UML profile for WSDL (1) Stereotype UML

construct

Tagged value Description

<<binding>> Class A concrete protocol and data format specification for a

particular port type. A concrete protocol and data format

specification for a particular port type. A <<binding>>

class represents a binding component of the WSDL

metamodel.

binding Binding type

default=”soap:binding”

style The style attribute indicates whether the operation is a

remote procedure call (RPC) or a document-oriented

operation.

default=”rpc”

transport The transport attribute specifies the type of binding to be

used.

default=”http://schemas.xmlsoap.org/soap/http”

<<definition>> Class A <<definition>> class represents a definition component

of the WSDL metamodel.

targetNameSpace TargetNameSpace is an URI (Uniform Resource

Identifier). It is mandatory and identifies the namespace

which it will belong all of the component names.

<<element>> Class An <<element>> class represents an element of the XML

Schema.

baseType The base type

maxOccurs The maximum number of occurrences

minOccurs The minimum number of occurrences

name The name of the element

<<fault>> Association An <<fault>> association represents a relationship

between an operation and a message in the WSDL

metamodel.

<<import>> Class An <<import>> class represents an import component of

the WSDL metamodel.

location Location is an URI. It is optional and indicates the

location of some information for the namespace.

namespace Namespace is an URI (Uniform Resource Identifier). It is

mandatory and indicates that the containing WSDL

document can contain references to the WSDL definitions

in that namespace.

<<input>> Association An <<input>> association represents a relationship

between an operation and a message the WSDL

metamodel.

<<message>> Class An abstract, typed definition of the data being

communicated. A <<message>> class represents a

message component of the WSDL metamodel.

<<operation>> Class An abstract, description of an action supported by the

service. An <<operation>> class represents an operation

component of the WSDL metamodel.

<<output>> Association An <<output>> association represents a relationship

between an operation and a message the WSDL

metamodel.

<<part>> Class A <<part>> class represents a part component of the

WSDL metamodel.

type Type is a base type XSD. It is optionally and must be

defined when the part component uses a base type but not

when the part component uses an element of the XML

Schema.

<<partElement>> Association A <<partElement>> association represents a relationship

between a part component of the WSDL metamodel and

ICT

UML profile for WSDL (2)

Stereotype UML

construct

Tagged value Description

<<binding>> Class A concrete protocol and data format specification for a

particular port type. A concrete protocol and data format

specification for a particular port type. A <<binding>>

class represents a binding component of the WSDL

metamodel.

binding Binding type

default=”soap:binding”

style The style attribute indicates whether the operation is a

remote procedure call (RPC) or a document-oriented

operation.

default=”rpc”

transport The transport attribute specifies the type of binding to be

used.

default=”http://schemas.xmlsoap.org/soap/http”

<<definition>> Class A <<definition>> class represents a definition component

of the WSDL metamodel.

targetNameSpace TargetNameSpace is an URI (Uniform Resource

Identifier). It is mandatory and identifies the namespace

which it will belong all of the component names.

<<element>> Class An <<element>> class represents an element of the XML

Schema.

baseType The base type

maxOccurs The maximum number of occurrences

minOccurs The minimum number of occurrences

name The name of the element

<<fault>> Association An <<fault>> association represents a relationship

between an operation and a message in the WSDL

metamodel.

<<import>> Class An <<import>> class represents an import component of

the WSDL metamodel.

location Location is an URI. It is optional and indicates the

location of some information for the namespace.

namespace Namespace is an URI (Uniform Resource Identifier). It is

mandatory and indicates that the containing WSDL

document can contain references to the WSDL definitions

in that namespace.

<<input>> Association An <<input>> association represents a relationship

between an operation and a message the WSDL

metamodel.

<<message>> Class An abstract, typed definition of the data being

communicated. A <<message>> class represents a

message component of the WSDL metamodel.

<<operation>> Class An abstract, description of an action supported by the

service. An <<operation>> class represents an operation

component of the WSDL metamodel.

<<output>> Association An <<output>> association represents a relationship

between an operation and a message the WSDL

metamodel.

<<part>> Class A <<part>> class represents a part component of the

WSDL metamodel.

type Type is a base type XSD. It is optionally and must be

defined when the part component uses a base type but not

when the part component uses an element of the XML

Schema.

<<partElement>> Association A <<partElement>> association represents a relationship

between a part component of the WSDL metamodel and

Page 31: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

31

ICT

UML profile for WSDL (3)

UML representation Text representation

ICT

Web Services Business Process

Execution Language (WS-BPEL)

- Direct relationship to BPMN

Page 32: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

32

ICT

Web Services Business Process

Execution Language (WS-BPEL)

Description

WS-BPEL (or BPEL for short) is a language based on XML that allows for

controlling the process flow of a set of collaborating Web services.

It can be seen as a (business) extension to the Web services paradigm.

Partner interaction is based on the notion of peer-to-peer interaction

between Web services.

BPEL introduces concepts to express the peer-to-peer conversational

relationships between services.

Partner links specify the services that a business process interacts with

and is introduced as a WSDL extension element.

- T. Andrews, F. Curbera, H. Dholakia, Y. Goland, J. Klein, F. Leymann, K. Liu, D.

Roller, D. Smith, S. Thatte, I. Trickovic, and S. Weerawarana, "Business

Process Execution Language for Web Services Version 1.1", May 2003.

ftp://www6.software.ibm.com/software/developer/library/ws-bpel.pdf

ICT

BPEL language

XML notation

Interaction with other Web services:

<receive>. Wait for an incoming message. Typically at the process start

<invoke>. Call another Web service

<reply>. Send a response message from the entire BPEL service

Control flow

<sequence>. Sequential control flow

<flow>. Parallel control flow

<switch>. Conditional branching

<while>. Loop

Data flow

<variable>. Defines the data objects involved

<assign>. Copy a data object from one variable to another possibly w/

data transformation

Page 33: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

33

ICT

Web service composition

BPEL is a Web service composition language.

It defines how to compose other Web services so to

accomplish a more complex task.

A BPEL engine is capable of executing the composite

service described by BPEL.

The outcome will be a composite BPEL-defined Web

service which itself can be regarded as a Web service.

ICT

WSDL port type XML syntax

<portType name="purchaseOrderPT">

<operation name="sendPurchaseOrder">

<input message="pos:POMessage"/>

<output message="pos:InvMessage"/>

<fault name="cannotCompleteOrder"

message="pos:orderFaultType"/>

</operation>

</portType>

Page 34: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

34

ICT

Partner link types

ICT

Purchase order WSDL

<message name="POMessage">

<part name="customerInfo" type="sns:customerInfo"/>

<part name="purchaseOrder" type="sns:purchaseOrder"/>

</message>

<message name="InvMessage">

<part name="IVC" type="sns:Invoice"/>

</message>

<message name="orderFaultType">

<part name="problemInfo" type="xsd:string"/>

</message>

<message name="shippingRequestMessage">

<part name="customerInfo" type="sns:customerInfo"/>

</message>

<message name="shippingInfoMessage">

<part name="shippingInfo" type="sns:shippingInfo"/>

</message>

<message name="scheduleMessage">

<part name="schedule" type="sns:scheduleInfo"/>

</message>

Page 35: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

35

ICT

BPEL Process

<process name="purchaseOrderProcess"

xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">

<partnerLinks>

<partnerLink name="purchasing"

partnerLinkType="lns:purchasingLT"

myRole="purchaseService"/>

<partnerLink name="invoicing"

partnerLinkType="lns:invoicingLT"

myRole="invoiceRequester"

partnerRole="invoiceService"/>

<partnerLink name="shipping"

partnerLinkType="lns:shippingLT"

myRole="shippingRequester"

partnerRole="shippingService"/>

<partnerLink name="scheduling"

partnerLinkType="lns:schedulingLT"

partnerRole="schedulingService"/>

</partnerLinks>

ICT

BPEL process

<sequence>

<receive partnerLink="purchasing"

portType="lns:purchaseOrderPT"

operation="sendPurchaseOrder"

variable="PO"/>

<flow>

<links>

<link name="ship-to-invoice"/>

<link name="ship-to-scheduling"/>

</links>

<sequence>

<assign>

<copy>

<from variable="PO" part="customerInfo"/>

<to variable="shippingRequest" part="customerInfo"/>

</copy>

</assign>

...

Page 36: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

36

ICT

BPEL process

<invoke partnerLink="shipping"

portType="lns:shippingPT"

operation="requestShipping"

inputVariable="shippingRequest"

outputVariable="shippingInfo">

<source linkName="ship-to-invoice"/>

</invoke>

<receive partnerLink="shipping"

portType="lns:shippingCallbackPT"

operation="sendSchedule"

variable="shippingSchedule">

<source linkName="ship-to-scheduling"/>

</receive>

...

ICT

SensorWeb

Web based access and modeling of Sensors

Relate to Oblig2 and sensor models ?

See www.opengis.org

Page 37: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

37

ICT

References

ICT

References

[ATHENA] ATHENA, "ATHENA Home Page", ATHENA IP. http://www.athena-ip.org/

[DnD] DnD, "Faggruppen for applikasjonsintegrasjon – metoder og arkitektur", Den norske dataforening (DnD). http://www.dnd.no/

[Elvesæter, et al. 2005] B. Elvesæter, R. K. Rolfsen, F. Lillehagen, and D. Karlsen, "Integrated Enterprise Service Architecture", in Proc. of the 12th ISPE International Conference on Concurrent Engineering (CE 2005), Fort Worth, Texas, USA, 2005, M. Sobolewski and P. Ghodous (Eds.), International Society for Productivity Enhancement, Inc., NY, USA, pp. 129-134.

[INTEROP] INTEROP, "INTEROP Home Page", INTEROP NoE. http://www.interop-noe.org/

[NESSI] NESSI, "Networked European Software & Services Iniative (NESSI)". http://www.nessi-europe.eu/Nessi/

[OASIS 2006] OASIS, "Reference Model for Service Oriented Architecture 1.0", OASIS, OASIS Standard, 12 October 2006. http://docs.oasis-open.org/soa-rm/v1.0/soa-rm.pdf

[W3C 2004] W3C, "Web Services Architecture", World Wide Web Consortium (W3C), W3C Working Group Note, 11 February 2004. http://www.w3.org/TR/ws-arch/

Page 38: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

38

ICT

Principles of Service Design

Design principles

Standardised Service Contracts

Service Loose Coupling

Service Abstraction

Service Reusability

Service Autonomy

Service Statelessness

Service Discoverability

Service Composability

ICT

Page 39: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

39

ICT

Service-Orientation and Object-

Orientation (T. Erl)

Service-Orientation and Object-Orientation Part I:

A Comparison of Goals and Concepts

http://www.soamag.com/I15/0208-4.asp

Service-Orientation and Object-Orientation Part II:

A Comparison of Design Principles

http://www.soamag.com/I16/0308-4.asp

ICT

Page 40: ”Modellbasert Systemutvikling” ”Modelbased System development”€¦ · ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 13: 23.04.2012 Arne-Jørgen

40

ICT

SOA Design Patterns (Erl)

http://www.soapatterns.org

ICT

Vendor-agnostic context pattern