SlideShare a Scribd company logo
1 of 38
Using Domain Specific Language(s) to Simplify Creating SOA Artifacts  SOA Symposium 2010 Guido Schmutz, Technology Manager / Partner Trivadis AG 5.10.2010, Berlin
Introduction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
About Trivadis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts Data are always part of the game.
„ Problem“ ,[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
„ Problem“ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts <wsdl:definitions xmlns:tns=&quot;http://trivadis.com/service/credit-card/v1&quot;    ...   name=&quot;CreditCardValidation-v1&quot;> <wsdl:types> <xsd:schema ...> </wsdl:types> <wsdl:message name=&quot;validateCardRequest&quot;> <wsdl:part name=&quot;request&quot;    element=&quot;tns:validateCreditCardPaymentRequest&quot;/> </wsdl:message> <wsdl:message name=&quot;validateCardResponse&quot;> <wsdl:part name=&quot;reply&quot;    element=&quot;tns:validateCreditCardPaymentResponse&quot;/> </wsdl:message> <wsdl:message name=&quot;invalidCreditCardNumberFault&quot;> <wsdl:part name=&quot;error„ element=&quot;tns:invalidCreditCardNumberFault&quot;/> </wsdl:message> <wsdl:portType name=&quot;CreditCardValidationPT&quot;> <wsdl:operation name=&quot;validateCard&quot;> <wsdl:input message=&quot;tns:validateCardRequest&quot;/> <wsdl:output message=&quot;tns:validateCardResponse&quot;/> <wsdl:fault name=&quot;InvalidCreditCardNumberFault&quot;    message=&quot;tns:invalidCreditCardNumberFault&quot;/> </wsdl:operation> </wsdl:portType> <wsdl:binding ...> <wsdl:service ...> </wsdl:definitions> <xs:schema xmlns:xs=„...&quot;    xmlns:tns=&quot;http://www.trivadis.com/cdm/credit-card/v1&quot;    targetNamespace= „http://www.trivadis.com/cdm/credit-card/v1 “ elementFormDefault=&quot;qualified&quot;    attributeFormDefault=&quot;unqualified&quot; version=&quot;1.0&quot;> <xs:element name=&quot;creditCard&quot; type=&quot;tns:CreditCardT&quot;/> <xs:complexType name=&quot;CreditCardT&quot;> <xs:sequence> <xs:element name=&quot;creditCardKind&quot;    type=&quot;tns:CreditCardKindT&quot;/> <xs:element name=&quot;cardNumber&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;cardholderFirstName&quot;    type=&quot;xs:string&quot; minOccurs=&quot;0&quot;/> <xs:element name=&quot;cardholderLastName&quot;    type=&quot;xs:string&quot;/> <xs:element name=&quot;expirationMonth&quot;    type=&quot;tns:MonthT&quot;/> <xs:element name=&quot;expirationYear&quot;    type=&quot;tns:YearT&quot;/> </xs:sequence> <xs:attribute name=&quot;id&quot; type=&quot;xs:int&quot;/> </xs:complexType> <xs:simpleType name=&quot;CreditCardKindT&quot;> <xs:restriction base=&quot;xs:string&quot;> <xs:enumeration value=&quot;visa&quot;/> <xs:enumeration value=&quot;mastercard&quot;/> <xs:enumeration value=&quot;amexco&quot;/> </xs:restriction> </xs:simpleType> ... /xs:schema>
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts Data are always part of the game.
WSDL and XSD UML  Profile in UML Tools ,[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
CBDI-SAE Meta Model for SOA ,[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
CBDI-SAE UML Profile  for SOA Using Domain Specific Language (s) to Simplify Creating SOA Artifacts Business Type Model Showing Domains Service Implementation Architecture Showing Services and Automation Units Service Deloyment Architecture Showing Deployments http://everware-cbdi.com
SoaML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts 1.0-Beta-2 available:  http://www.omg.org/spec/SoaML/
SoaML - Goals ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
SoaML Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
MDA vs. MDSD ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
MDA vs. MDSD ,[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
But wouldn't it be easier .... use a DSL for WSDL  Using Domain Specific Language (s) to Simplify Creating SOA Artifacts <wsdl:definitions xmlns:tns=&quot;http://trivadis.com/service/credit-card/v1&quot;    ...   name=&quot;CreditCardValidation-v1&quot;> <wsdl:types> <xsd:schema ...> </wsdl:types> <wsdl:message name=&quot;validateCardRequest&quot;> <wsdl:part name=&quot;request&quot;    element=&quot;tns:validateCreditCardPaymentRequest&quot;/> </wsdl:message> <wsdl:message name=&quot;validateCardResponse&quot;> <wsdl:part name=&quot;reply&quot;    element=&quot;tns:validateCreditCardPaymentResponse&quot;/> </wsdl:message> <wsdl:message name=&quot;invalidCreditCardNumberFault&quot;> <wsdl:part name=&quot;error„ element=&quot;tns:invalidCreditCardNumberFault&quot;/> </wsdl:message> <wsdl:portType name=&quot;CreditCardValidationPT&quot;> <wsdl:operation name=&quot;validateCard&quot;> <wsdl:input message=&quot;tns:validateCardRequest&quot;/> <wsdl:output message=&quot;tns:validateCardResponse&quot;/> <wsdl:fault name=&quot;InvalidCreditCardNumberFault&quot;    message=&quot;tns:invalidCreditCardNumberFault&quot;/> </wsdl:operation> </wsdl:portType> <wsdl:binding ...> <wsdl:service ...> </wsdl:definitions> abstract message common { requestNr : String [1:1] } Import common.msgtype namespace service.credit-card(1.0) using cdm.credit-card(1.0) as cc message validateCardRequest extends common { creditCard : cc.CreditCard forAmount : Double } message validateCardResponse { requestNr : String[1:1] reservationNumber : String } fault invalidCreditCardNumber { code : String creditCard : cc.CreditCard } service CreditCardValidation { sync operation validateCard  throws invalidCreditCardNumber input validateCardRequest output validateCardResponse }
... and for the XSD‘s .... Using Domain Specific Language (s) to Simplify Creating SOA Artifacts namespace cdm.credit-card(1.0) entity CreditCard { id : Integer creditCardKind : CreditCardKind  [1:1] cardNumber : String [1:1] cardholderFirstName : String cardholderLastName : String [1:1] expirationMonth : Month [1:1] expirationYear : Year [1:1]  } dataType Month extends Integer  pattern &quot;[0-1][0-9]&quot; dataType Year extends Integer  pattern &quot;[0-9][0-9][0-9][0-9]&quot; dataType CrediCardKind extends String  enum { &quot;visa&quot;, &quot;mastercard&quot;, &quot;amexco&quot; } <xs:schema xmlns:xs=„...&quot;    xmlns:tns=&quot;http://www.trivadis.com/cdm/credit-card/v1&quot;    targetNamespace= „http://www.trivadis.com/cdm/credit-card/v1 “ elementFormDefault=&quot;qualified&quot;    attributeFormDefault=&quot;unqualified&quot; version=&quot;1.0&quot;> <xs:element name=&quot;creditCard&quot; type=&quot;tns:CreditCardT&quot;/> <xs:complexType name=&quot;CreditCardT&quot;> <xs:sequence> <xs:element name=&quot;creditCardKind&quot;    type=&quot;tns:CreditCardKindT&quot;/> <xs:element name=&quot;cardNumber&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;cardholderFirstName&quot;    type=&quot;xs:string&quot; minOccurs=&quot;0&quot;/> <xs:element name=&quot;cardholderLastName&quot;    type=&quot;xs:string&quot;/> <xs:element name=&quot;expirationMonth&quot;    type=&quot;tns:MonthT&quot;/> <xs:element name=&quot;expirationYear&quot;    type=&quot;tns:YearT&quot;/> </xs:sequence> <xs:attribute name=&quot;id&quot; type=&quot;xs:int&quot;/> </xs:complexType> <xs:simpleType name=&quot;CreditCardKindT&quot;> <xs:restriction base=&quot;xs:string&quot;> <xs:enumeration value=&quot;visa&quot;/> <xs:enumeration value=&quot;mastercard&quot;/> <xs:enumeration value=&quot;amexco&quot;/> </xs:restriction> </xs:simpleType> ... /xs:schema>
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts Data are always part of the game.
Domain Specific Language (DSL) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Internal vs. External DSL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts computer(&quot;A&quot;) .processor().cores(2).i386() .disk().size(150) .disk().size(75).speed(7200).sata() .end(); computer  A { processor  i386  with  2  cores disks  { size  150 size  75  speed  7200  type  sata } Processor p = new Processor(2, Processor.Type.i386);  Disk d1 = new Disk(150, Disk.UNKNOWN_SIZE, null);  Disk d2 = new Disk(75, 7200, Disk.Interface.SATA);  return new Computer(p, d1, d2);
Domain Specific Language (DSL) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts Data are always part of the game.
What is Eclipse Xtext ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Highlights of Xtext ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Xtext in Action ,[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts DSL to be supported
Xtext in Action – 1. Create an Xtext Project ,[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Xtext in Action – 2. Build the Grammer ,[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Xtext in Action – 2. Build the Grammer ,[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts (no operator) exactly one ? zero or one * zero or more + one or more feature=... corresponds to setFeature(...) list+=... corresponds to getList().add(...) condition?=... corresponds to setCondition(true)  DomainModel : (elements+=AbstractElement)*; AbstractElement: PackageDeclaration | Type; TypeRef: referenced=[Type] (multi?='*')?; QualifiedName: ID (‚.‘ ID)*;
Xtext in Action – 3. Generate Language Artefacts ,[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Xtext in Action – 4. Run the Generated IDE Plug-in ,[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Xtext in Action – 5. Write a Code Generator ,[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Xtext in Action – 5. Write a Code Generator ,[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Xtext in Action – 5. Write a Code Generator ,[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts Data are always part of the game.
Service DSL Prototype ,[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts Data are always part of the game.
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
Thank you! SOA Symposium 2010   Guido Schmutz, Technology Manager / Partner Trivadis AG 5.10.2010, Berlin

More Related Content

Viewers also liked

de novo drug design
de novo drug designde novo drug design
de novo drug designmojdeh y
 
Programming Without Coding Technology (PWCT) - Get Input From User
Programming Without Coding Technology (PWCT) - Get Input From UserProgramming Without Coding Technology (PWCT) - Get Input From User
Programming Without Coding Technology (PWCT) - Get Input From UserMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Radiogroup control
Programming Without Coding Technology (PWCT) - Radiogroup controlProgramming Without Coding Technology (PWCT) - Radiogroup control
Programming Without Coding Technology (PWCT) - Radiogroup controlMahmoud Samir Fayed
 
خدمات ابنيات
خدمات ابنياتخدمات ابنيات
خدمات ابنياتabniyat4egypt
 
Programming Without Coding Technology (PWCT) - Image control
Programming Without Coding Technology (PWCT) - Image controlProgramming Without Coding Technology (PWCT) - Image control
Programming Without Coding Technology (PWCT) - Image controlMahmoud Samir Fayed
 
Sasaki Associates: Retrospective Pinup Opening Event
Sasaki Associates: Retrospective Pinup Opening EventSasaki Associates: Retrospective Pinup Opening Event
Sasaki Associates: Retrospective Pinup Opening EventSasaki Associates
 
VAVE certification
VAVE certificationVAVE certification
VAVE certificationRajkumar R
 
SC12 S3700 Series launch event gold
SC12 S3700 Series launch event goldSC12 S3700 Series launch event gold
SC12 S3700 Series launch event goldAlan Frost
 

Viewers also liked (10)

de novo drug design
de novo drug designde novo drug design
de novo drug design
 
Programming Without Coding Technology (PWCT) - Get Input From User
Programming Without Coding Technology (PWCT) - Get Input From UserProgramming Without Coding Technology (PWCT) - Get Input From User
Programming Without Coding Technology (PWCT) - Get Input From User
 
Programming Without Coding Technology (PWCT) - Radiogroup control
Programming Without Coding Technology (PWCT) - Radiogroup controlProgramming Without Coding Technology (PWCT) - Radiogroup control
Programming Without Coding Technology (PWCT) - Radiogroup control
 
خدمات ابنيات
خدمات ابنياتخدمات ابنيات
خدمات ابنيات
 
Programming Without Coding Technology (PWCT) - Image control
Programming Without Coding Technology (PWCT) - Image controlProgramming Without Coding Technology (PWCT) - Image control
Programming Without Coding Technology (PWCT) - Image control
 
Sasaki Associates: Retrospective Pinup Opening Event
Sasaki Associates: Retrospective Pinup Opening EventSasaki Associates: Retrospective Pinup Opening Event
Sasaki Associates: Retrospective Pinup Opening Event
 
ROUNDTABLE 2016: BERNARD
ROUNDTABLE 2016: BERNARDROUNDTABLE 2016: BERNARD
ROUNDTABLE 2016: BERNARD
 
VAVE certification
VAVE certificationVAVE certification
VAVE certification
 
bio (3)
bio (3)bio (3)
bio (3)
 
SC12 S3700 Series launch event gold
SC12 S3700 Series launch event goldSC12 S3700 Series launch event gold
SC12 S3700 Series launch event gold
 

Similar to Dsl for-soa-artefacts

Build Message-Based Web Services for SOA
Build Message-Based Web Services for SOABuild Message-Based Web Services for SOA
Build Message-Based Web Services for SOAJeffrey Hasan
 
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSandro Pereira
 
Global Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk Services
Global Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk ServicesGlobal Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk Services
Global Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk ServicesSandro Pereira
 
January 2017 - Deep dive on AWS Lambda and DevOps
January 2017 - Deep dive on AWS Lambda and DevOpsJanuary 2017 - Deep dive on AWS Lambda and DevOps
January 2017 - Deep dive on AWS Lambda and DevOpsDavid McDaniel
 
Building Applications for SQL Server 2008
Building Applications for SQL Server 2008Building Applications for SQL Server 2008
Building Applications for SQL Server 2008Dave Bost
 
D2 domain driven-design
D2 domain driven-designD2 domain driven-design
D2 domain driven-designArnaud Bouchez
 
AWS Chicago user group: AWS Platform for .NET Developers
AWS Chicago user group: AWS Platform for .NET DevelopersAWS Chicago user group: AWS Platform for .NET Developers
AWS Chicago user group: AWS Platform for .NET DevelopersAWS Chicago
 
Alchemy Publisher Presentation
Alchemy Publisher PresentationAlchemy Publisher Presentation
Alchemy Publisher PresentationShamusd
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcdsravinxg
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)siouxhotornot
 
Biztalk Server 2006
Biztalk Server 2006Biztalk Server 2006
Biztalk Server 2006ipaciti
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsSteve Speicher
 
FME World Tour 2015: (EN) FME 2015 in action
FME World Tour 2015: (EN) FME 2015 in actionFME World Tour 2015: (EN) FME 2015 in action
FME World Tour 2015: (EN) FME 2015 in actionGIM_nv
 
Anatomy Of A Driver Presentation 09 15 2008
Anatomy Of A Driver Presentation   09 15 2008Anatomy Of A Driver Presentation   09 15 2008
Anatomy Of A Driver Presentation 09 15 2008ctindale
 
MAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
MAX 2008: Build collaborative applications with Flex LCDS and CairngormMAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
MAX 2008: Build collaborative applications with Flex LCDS and CairngormXavier Agnetti
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathonaaronwso2
 
Contract First Modeling Services Using Uml
Contract First Modeling Services Using UmlContract First Modeling Services Using Uml
Contract First Modeling Services Using UmlRody Middelkoop
 
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...Marius Constantinescu [MVP]
 

Similar to Dsl for-soa-artefacts (20)

Build Message-Based Web Services for SOA
Build Message-Based Web Services for SOABuild Message-Based Web Services for SOA
Build Message-Based Web Services for SOA
 
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
 
Global Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk Services
Global Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk ServicesGlobal Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk Services
Global Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk Services
 
Open Source Soa
Open Source SoaOpen Source Soa
Open Source Soa
 
January 2017 - Deep dive on AWS Lambda and DevOps
January 2017 - Deep dive on AWS Lambda and DevOpsJanuary 2017 - Deep dive on AWS Lambda and DevOps
January 2017 - Deep dive on AWS Lambda and DevOps
 
Building Applications for SQL Server 2008
Building Applications for SQL Server 2008Building Applications for SQL Server 2008
Building Applications for SQL Server 2008
 
D2 domain driven-design
D2 domain driven-designD2 domain driven-design
D2 domain driven-design
 
AWS Chicago user group: AWS Platform for .NET Developers
AWS Chicago user group: AWS Platform for .NET DevelopersAWS Chicago user group: AWS Platform for .NET Developers
AWS Chicago user group: AWS Platform for .NET Developers
 
Alchemy Publisher Presentation
Alchemy Publisher PresentationAlchemy Publisher Presentation
Alchemy Publisher Presentation
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcds
 
Mdd lcds
Mdd lcdsMdd lcds
Mdd lcds
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
 
Biztalk Server 2006
Biztalk Server 2006Biztalk Server 2006
Biztalk Server 2006
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC Integrations
 
FME World Tour 2015: (EN) FME 2015 in action
FME World Tour 2015: (EN) FME 2015 in actionFME World Tour 2015: (EN) FME 2015 in action
FME World Tour 2015: (EN) FME 2015 in action
 
Anatomy Of A Driver Presentation 09 15 2008
Anatomy Of A Driver Presentation   09 15 2008Anatomy Of A Driver Presentation   09 15 2008
Anatomy Of A Driver Presentation 09 15 2008
 
MAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
MAX 2008: Build collaborative applications with Flex LCDS and CairngormMAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
MAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon
 
Contract First Modeling Services Using Uml
Contract First Modeling Services Using UmlContract First Modeling Services Using Uml
Contract First Modeling Services Using Uml
 
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
 

More from Guido Schmutz

30 Minutes to the Analytics Platform with Infrastructure as Code
30 Minutes to the Analytics Platform with Infrastructure as Code30 Minutes to the Analytics Platform with Infrastructure as Code
30 Minutes to the Analytics Platform with Infrastructure as CodeGuido Schmutz
 
Event Broker (Kafka) in a Modern Data Architecture
Event Broker (Kafka) in a Modern Data ArchitectureEvent Broker (Kafka) in a Modern Data Architecture
Event Broker (Kafka) in a Modern Data ArchitectureGuido Schmutz
 
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-FormatsBig Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-FormatsGuido Schmutz
 
ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!Guido Schmutz
 
Kafka as your Data Lake - is it Feasible?
Kafka as your Data Lake - is it Feasible?Kafka as your Data Lake - is it Feasible?
Kafka as your Data Lake - is it Feasible?Guido Schmutz
 
Event Hub (i.e. Kafka) in Modern Data Architecture
Event Hub (i.e. Kafka) in Modern Data ArchitectureEvent Hub (i.e. Kafka) in Modern Data Architecture
Event Hub (i.e. Kafka) in Modern Data ArchitectureGuido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaGuido Schmutz
 
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Event Hub (i.e. Kafka) in Modern Data (Analytics) ArchitectureEvent Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Event Hub (i.e. Kafka) in Modern Data (Analytics) ArchitectureGuido Schmutz
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaGuido Schmutz
 
Location Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache KafkaLocation Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache KafkaGuido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS and Apache KafkaSolutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS and Apache KafkaGuido Schmutz
 
What is Apache Kafka? Why is it so popular? Should I use it?
What is Apache Kafka? Why is it so popular? Should I use it?What is Apache Kafka? Why is it so popular? Should I use it?
What is Apache Kafka? Why is it so popular? Should I use it?Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaGuido Schmutz
 
Location Analytics Real-Time Geofencing using Kafka
Location Analytics Real-Time Geofencing using KafkaLocation Analytics Real-Time Geofencing using Kafka
Location Analytics Real-Time Geofencing using KafkaGuido Schmutz
 
Streaming Visualisation
Streaming VisualisationStreaming Visualisation
Streaming VisualisationGuido Schmutz
 
Kafka as an event store - is it good enough?
Kafka as an event store - is it good enough?Kafka as an event store - is it good enough?
Kafka as an event store - is it good enough?Guido Schmutz
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaGuido Schmutz
 
Fundamentals Big Data and AI Architecture
Fundamentals Big Data and AI ArchitectureFundamentals Big Data and AI Architecture
Fundamentals Big Data and AI ArchitectureGuido Schmutz
 
Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka Guido Schmutz
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming VisualizationGuido Schmutz
 

More from Guido Schmutz (20)

30 Minutes to the Analytics Platform with Infrastructure as Code
30 Minutes to the Analytics Platform with Infrastructure as Code30 Minutes to the Analytics Platform with Infrastructure as Code
30 Minutes to the Analytics Platform with Infrastructure as Code
 
Event Broker (Kafka) in a Modern Data Architecture
Event Broker (Kafka) in a Modern Data ArchitectureEvent Broker (Kafka) in a Modern Data Architecture
Event Broker (Kafka) in a Modern Data Architecture
 
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-FormatsBig Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
 
ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!
 
Kafka as your Data Lake - is it Feasible?
Kafka as your Data Lake - is it Feasible?Kafka as your Data Lake - is it Feasible?
Kafka as your Data Lake - is it Feasible?
 
Event Hub (i.e. Kafka) in Modern Data Architecture
Event Hub (i.e. Kafka) in Modern Data ArchitectureEvent Hub (i.e. Kafka) in Modern Data Architecture
Event Hub (i.e. Kafka) in Modern Data Architecture
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
 
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Event Hub (i.e. Kafka) in Modern Data (Analytics) ArchitectureEvent Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
Location Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache KafkaLocation Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache Kafka
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS and Apache KafkaSolutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
 
What is Apache Kafka? Why is it so popular? Should I use it?
What is Apache Kafka? Why is it so popular? Should I use it?What is Apache Kafka? Why is it so popular? Should I use it?
What is Apache Kafka? Why is it so popular? Should I use it?
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
 
Location Analytics Real-Time Geofencing using Kafka
Location Analytics Real-Time Geofencing using KafkaLocation Analytics Real-Time Geofencing using Kafka
Location Analytics Real-Time Geofencing using Kafka
 
Streaming Visualisation
Streaming VisualisationStreaming Visualisation
Streaming Visualisation
 
Kafka as an event store - is it good enough?
Kafka as an event store - is it good enough?Kafka as an event store - is it good enough?
Kafka as an event store - is it good enough?
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
 
Fundamentals Big Data and AI Architecture
Fundamentals Big Data and AI ArchitectureFundamentals Big Data and AI Architecture
Fundamentals Big Data and AI Architecture
 
Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real-Time Geofencing using Kafka
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Dsl for-soa-artefacts

  • 1. Using Domain Specific Language(s) to Simplify Creating SOA Artifacts SOA Symposium 2010 Guido Schmutz, Technology Manager / Partner Trivadis AG 5.10.2010, Berlin
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. CBDI-SAE UML Profile for SOA Using Domain Specific Language (s) to Simplify Creating SOA Artifacts Business Type Model Showing Domains Service Implementation Architecture Showing Services and Automation Units Service Deloyment Architecture Showing Deployments http://everware-cbdi.com
  • 11.
  • 12.
  • 13. SoaML Using Domain Specific Language (s) to Simplify Creating SOA Artifacts
  • 14.
  • 15.
  • 16. But wouldn't it be easier .... use a DSL for WSDL Using Domain Specific Language (s) to Simplify Creating SOA Artifacts <wsdl:definitions xmlns:tns=&quot;http://trivadis.com/service/credit-card/v1&quot; ... name=&quot;CreditCardValidation-v1&quot;> <wsdl:types> <xsd:schema ...> </wsdl:types> <wsdl:message name=&quot;validateCardRequest&quot;> <wsdl:part name=&quot;request&quot; element=&quot;tns:validateCreditCardPaymentRequest&quot;/> </wsdl:message> <wsdl:message name=&quot;validateCardResponse&quot;> <wsdl:part name=&quot;reply&quot; element=&quot;tns:validateCreditCardPaymentResponse&quot;/> </wsdl:message> <wsdl:message name=&quot;invalidCreditCardNumberFault&quot;> <wsdl:part name=&quot;error„ element=&quot;tns:invalidCreditCardNumberFault&quot;/> </wsdl:message> <wsdl:portType name=&quot;CreditCardValidationPT&quot;> <wsdl:operation name=&quot;validateCard&quot;> <wsdl:input message=&quot;tns:validateCardRequest&quot;/> <wsdl:output message=&quot;tns:validateCardResponse&quot;/> <wsdl:fault name=&quot;InvalidCreditCardNumberFault&quot; message=&quot;tns:invalidCreditCardNumberFault&quot;/> </wsdl:operation> </wsdl:portType> <wsdl:binding ...> <wsdl:service ...> </wsdl:definitions> abstract message common { requestNr : String [1:1] } Import common.msgtype namespace service.credit-card(1.0) using cdm.credit-card(1.0) as cc message validateCardRequest extends common { creditCard : cc.CreditCard forAmount : Double } message validateCardResponse { requestNr : String[1:1] reservationNumber : String } fault invalidCreditCardNumber { code : String creditCard : cc.CreditCard } service CreditCardValidation { sync operation validateCard throws invalidCreditCardNumber input validateCardRequest output validateCardResponse }
  • 17. ... and for the XSD‘s .... Using Domain Specific Language (s) to Simplify Creating SOA Artifacts namespace cdm.credit-card(1.0) entity CreditCard { id : Integer creditCardKind : CreditCardKind [1:1] cardNumber : String [1:1] cardholderFirstName : String cardholderLastName : String [1:1] expirationMonth : Month [1:1] expirationYear : Year [1:1] } dataType Month extends Integer pattern &quot;[0-1][0-9]&quot; dataType Year extends Integer pattern &quot;[0-9][0-9][0-9][0-9]&quot; dataType CrediCardKind extends String enum { &quot;visa&quot;, &quot;mastercard&quot;, &quot;amexco&quot; } <xs:schema xmlns:xs=„...&quot; xmlns:tns=&quot;http://www.trivadis.com/cdm/credit-card/v1&quot; targetNamespace= „http://www.trivadis.com/cdm/credit-card/v1 “ elementFormDefault=&quot;qualified&quot; attributeFormDefault=&quot;unqualified&quot; version=&quot;1.0&quot;> <xs:element name=&quot;creditCard&quot; type=&quot;tns:CreditCardT&quot;/> <xs:complexType name=&quot;CreditCardT&quot;> <xs:sequence> <xs:element name=&quot;creditCardKind&quot; type=&quot;tns:CreditCardKindT&quot;/> <xs:element name=&quot;cardNumber&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;cardholderFirstName&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot;/> <xs:element name=&quot;cardholderLastName&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;expirationMonth&quot; type=&quot;tns:MonthT&quot;/> <xs:element name=&quot;expirationYear&quot; type=&quot;tns:YearT&quot;/> </xs:sequence> <xs:attribute name=&quot;id&quot; type=&quot;xs:int&quot;/> </xs:complexType> <xs:simpleType name=&quot;CreditCardKindT&quot;> <xs:restriction base=&quot;xs:string&quot;> <xs:enumeration value=&quot;visa&quot;/> <xs:enumeration value=&quot;mastercard&quot;/> <xs:enumeration value=&quot;amexco&quot;/> </xs:restriction> </xs:simpleType> ... /xs:schema>
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Thank you! SOA Symposium 2010 Guido Schmutz, Technology Manager / Partner Trivadis AG 5.10.2010, Berlin

Editor's Notes

  1. Hier könnte eine Kopfzeile stehen 06.10.10 Hier könnte eine Fusszeile stehen Ihr müsst nicht alle Punkt aufzählen. Vielleicht der Hinweis, CH-Unternehmen mit 13 Standorten in D-A-CH, Anzahl Mitarbeiter und das wir finanziell unabhängig sind.