Dsl for Soa Artefacts

  • View
    188

  • Download
    2

Embed Size (px)

Transcript

Using Domain Specific Language(s) to Simplify Creating SOA Artifacts

SOA Symposium 2010

Guido Schmutz, Technology Manager / Partner Trivadis AG 5.10.2010, Berlin

Basel

Baden

Bern

Lausanne

Zrich

Dsseldorf

Frankfurt/M.

Freiburg i. Br.

Hamburg

Mnchen

Stuttgart

Wien

Introduction Guido SchmutzWorking for Trivadis for more than 13 years

Oracle ACE Director for Fusion Middleware and SOA Co-Author of different books Consultant, Trainer Software Architect for Java, Oracle, SOA and EDA More than 20 years of software development experience Contact: guido.schmutz@trivadis.com Blog: http://guidoschmutz.wordpress.com/

leading and independent IT service company operating in Germany, Austria and Switzerland

Using Domain Specific Language (s) to Simplify Creating SOA Artifacts

2010

About Trivadis Swiss IT consulting company13 locations in Switzerland, Germany and Austria ~ 540 employees

Key figures 2009Services for more than 650 clients in over 1'600 projects Over 150 service level agreements More than 5'000 training participants Research and development budget: CHF 6.0 Mio. / EUR 3.6 Mio.

3

2010

Agenda Introduction Alternative ways to design service contract Domain Specific Languages (DSL)Data are always part of the game.

Eclipse Xtext Prototype Implementations Summary

Using Domain Specific Language (s) to Simplify Creating SOA Artifacts

2010

Problem Most SOA platforms do not make a contract-first service design easyCreation of WSDL and XSD is too much effort

There is build-in support in the IDE to graphically implement WSDL and XSDPlatform specific, no standard for look-and-feel

Using Domain Specific Language (s) to Simplify Creating SOA Artifacts

2010

Problem Lot of repetitionVery talkative More options than (often) necessary => RPC/literal

How to ensure Design guidelines

WS-I compliance Asynchronous Interface Service versioning

Ensure naming conventions

Name of messages Name of port types Name of bindings

... /xs:schema> 2010

So what are the other options?Using Domain Specific Language (s) to Simplify Creating SOA Artifacts

Agenda Introduction Alternative ways to design service contract Domain Specific Languages (DSL)Data are always part of the game.

Eclipse Xtext Prototype Implementations Summary

Using Domain Specific Language (s) to Simplify Creating SOA Artifacts

2010

WSDL and XSD UML Profile in UML Tools Enterprise Architect has a special profile for WSDL and XSD modelling

Using Domain Specific Language (s) to Simplify Creating SOA Artifacts

2010

CBDI-SAE Meta Model for SOA The CBDI-SAE Meta Model for SOA is a 'class model' of the concepts contained in the CBDI Service Architecture & EngineeringTM (CBDI-SAETM) Reference Framework. CBDI-SAE Meta Model for SOA, which is realized via the CBDI-SAE UML Profile for SOAWhich is compliant with SoaML - for which also a SoaML Profile exists.

http://everware-cbdi.com

Using Domain Specific Language (s) to Simplify Creating SOA Artifacts

2010

u si n e ss yp e Cus tome r

{i d }

* *

co n ta i n s * u si n e ss yp e In oic e Ite m

e u i ed e havio S ipmentsC F D C

Ware ouses e u i e d e havio echnical Inte face e u i ed e havio n dpoi nt :Custom e s Depl oyed U :Custom e s n dpoi nt Im pl em entati on Depl oy

echnical Inte face AccountsD C

m ani fest

CustomersI

utomation Unit Customers e u i ed e havio e u i ed e havio D U D T S D U D T S

utomation Unit AccountsI

Depl oy i nstanceOf

Depl oy

Node Technolog M odel::r01 : Router

AB B

@ 9

A

@

9

9

@

Usin Domain9

pecific Lan ua e (s) to implify C eatin

Com m uni cati on

a th

Com m uni cati on

a th

New Accounts

Service Implementation Architecture howin e vices and utomation UnitsO tifacts 2010

D

C

I

(from Technol ogy Model )

(from Technol ogy Model )

utomation Unit Customer elationshipsQ I

Inv oicing

utomation Unit Accounting System

D

C

e v i ce Instance cust02 :Customers

echnical Inte face

G

executi on n vi o nm ent... : OAP Engine

executi on n vi o nm ent... :EJB Container

Depl oy

ransactions

D

C

e rv er

e rv er i nstanceOf

e v i ce Instance cust01 :Customers

AddressFormatter

Underlying

D

C

Node Technolog M odel::alpha : un

Node Technolog M odel::beta : un

echnical Inte face

echnical Inte face

D

U

D T S

utomation Unit Prov iderXI

e u i ed e havio D U D T S

e u i ed e havio

echnical Inte face

D

U

D T S

Utility

e u i ed e havio

D

U

D

T S

echnical Inte faceD F

D

U

D

T S

u tom ati on Uni t Implementation M odel:: Customers

e u i ed e havio e u i ed e havio

Business Type Model howin Domains

utomation Unit S ipping j ectsEP F I

echnical Inte face

I

D

D

U

D

D

T S

U

C

D

D

T S

Su c ontractorsE

e u i ed e havio

D

U

D T S

echnical Inte faceD C

e ui ed

utomation Unit Inv oices u si n e ss yp e Ha za rdous S ipme nt u si n e ss yp e FoodS ipme nt

e u i e d e havio D U D T S

D

+ p a ce l yp e : st i n + d e fi n i ti o n : st i n + p o ce d u e : st i n e+ co n st i n ts: sti n havio a

3

C

e u i ed e havio D U D T S

e u i ed e havio D U D T S

u si n e ss yp e Ha ndling Proc e dure

U

D T S

D

U

D

T S

H

Core

usiness

7 7 6

Service Deloyment Architecture howin Deployments

inance

$

+ * + + + + d e fi n e s p o ce d u e s fo + echnical Inte * * + + Inv oices

ta : {i d } d e sti n a ti o n d d e ss we i h t d i me n si o n sp e ci a l e e d s d e sti n a faceti o n In st u cti o n s ch a e co n te n tDe sc i p ti o n

p a i d fo

y

+ + +

n u m e : {i d } d e sc i p ti o n ch a e

%

e u i ed e havio D U D T S

*

+ +

sh o t a me a d d e ss

cu e n tl y h o l d s

u si n e ss yp e S ipme nt

77

RRR

EP I

7 7 6

"

I

utomation U Schedule PickupRRR I

utomation Unit c tor Su c ontra Loc a tion Pickup and Deliv er

sto e s utomation U tain Payment

u si n e ss

yp e

cu e n tl y

o i i n fo

{i d }

&

cu e n tl y co n ve yi n

Obtain Payment

$

Schedule Pickup

77 6

7 7 6 C

+ + +

n u m e : {i d } d e sc i p ti o n typ e Co d e

echnical Inte face

7 7 6

D

C

echnical Inte faceD C

D !

holds sh echnical Inte face i p me n ts at * Pickup and Deliv er

+ + + + +

n u m e : {i d } i ssu e Da te to ta l mo u n t sta tu s d i sco u n t i ve n

e co d e d i n

(

Process

%

77 6

{i d }

http://eve wa e-c di com

u si n e ss yp e Wa re ous e Pos ition

+ + +

sh o t a me : {i d } a d d e ss u i d a n ce

u si n e ss yp e In oic e

+ + + + +

se u e n ce a mo u n t i sDe i t e fe e n ce d a te

'

+ + + +

d a te : {i d } n u m e : {i d } o u te Co d e i s ch e d u l e d

7 7 6

*

77

U

D T S

e ui

D

U

D

T S

e u i ed e havio D U D T S

e u i ed e havio

*

u si n e ss yp e J ourne y

u si n e ss yp e Pic k Up Point

77

*

*

i n e sp o n se to

D #

$

+ + + ed +

n a me : {i d } a d d e ss p e fo ma n ce a ti n e haviou n t o u cco

h o u se s

8

yp e Su c ontra c tor

vi si te d o n

{i d } ma e s

*

e co d e d i n

co n ta i n s

* yp e ntry : {i d }

u si n e ss Ac c ount

7 7 6

Parcels System n e ss u si"

{i d }

*

e u e sts

+ +

d a te : {i d } a mo u n t: {i d }

(

Application

*

sh i p s f o m

u si n e ss yp e Pa yme nt

{i d }

+ + + +

n a me : {i d } n u m e : {i d } a d d e ss ca p a ci ty

i s a se fo

e ce i ve s

+ * + + + +

e i st a ti o n ma n u fa ctu e mo d e l ca p a ci ty fl e e t

: {i d }

+ + + +

n u m e : {i d } n a me o p e n i n Da te a l a n ce

8

1

upplie s4

u si n e ss yp e Wa re ous e

2

hippin

u si n e ss yp e Ve ic le

77 6

{i d }

0

0 0

! ! ! ) $

+ + + + + + + +

n u m e : {i d } n a me illin d d e ss l a st e a h i p me n ts a l u e l a stQt h i p me n ts a l u e th i sQt h i p me n ts a l u e co n ta ct a me co n ta ct a me

54

C DIfo O