from public processes to service definitions a method for the model-driven derivation of service...

43
From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch, Diploma Student

Upload: lucas-york

Post on 21-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

From Public Processes to Service DefinitionsA Method for the Model-Driven Derivation of Service Interfaces

SAP Research Switzerland, Andrea Fuchsloch, Diploma Student

Page 2: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 2

1. Motivation

2. Basics of Method-Engineering

3. Meta-Model

4. Procedure Model4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 3: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 3

Public Business Process= Interorganizational Collaboration

Government

Company A Company BCollaboration

CollaborationCol

labo

ratio

n

Page 4: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 4 4

Purpose of the Thesis

BPEL, WS-Security,XML Schema,

WSDL,UDDI,

SOAP, Rest,XML,

HTTP/S

Finding a way for model driven derivation of services, starting from public business processes

? ?G

A B

Page 5: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 5

1. Motivation

2. Basics of Method-Engineering

3. Meta-Model

4. Procedure Model4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 6: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 6

Method EngineeringElements

Elements of a Method

Meta-Model

Techniques

Design ResultOutcome

Procedure Model

Analysis of potentialities

Design and Choice of

alternatives

Planning and Implementation of

Prototype

Continuation

1

2

3

4

XxRepair Vehicle

XxOrder Parts

XXInvestigate Vehicle

XArrange Appointment

Roles

cust

omer

mec

hani

cse

cret

ary

train

ee

Page 7: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 7

Method EngineeringElements and Relationships

Meta-Model

ProcedureModel

Tool

TechniqueRole

consists of supports

participates in

is part ofpredecessor /

successor

(Design)Activity

produces / consumes

guides creation of

is part of

Design Result /Outcome

represents problem-oriented view

Page 8: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 8

1. Motivation

2. Basics of Method-Engineering

3. Meta-Model

4. Procedure Model4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 9: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 9

Meta-Model

Page 10: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 10

1. Motivation

2. Basics of Method-Engineering

3. Meta-Model

4. Procedure Model4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 11: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 11

Procedure Model

Modeling ofMessages exchange

Modeling ofActivities

Identification ofBusiness Objects

Specification & Consolidation of

Business Objects

Identification ofBusiness Transactions

Specification of Service Operations

Definition &Consolidation

of Services

Implementation of Data Contract

Implementation of Service Contract

Implementation of Service Interface

Implementation & Deployment

of Web Services

An

alys

is7

9

Des

ign

Imp

lem

enta

tio

n

2

3

4

5

6

8

10

11

12

Modeling ofUse Cases

1

[one more Business Process modeling]

[continue]

[one more Business Process modeling]

[continue]

Analysis

Design

Implementation

Page 12: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 12

Procedure ModelAnalysis

Modeling ofMessages exchange

Modeling ofActivities

Identification ofBusiness Objects

An

alys

is

A B CA B C

2

3

4

Modeling ofUse Cases

1

1

2

BA

1

2

BA

Name # DataType Type Object

Page 13: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 13

Procedure ModelDesign

Specification & Consolidation of Business Objects

Identification ofBusiness Transactions

Specification of Service Operations

Definition &Consolidation

of Services

7

Desig

n

operation1()operation2()

<<interface>>Schnittstelle1

operation1()operation2()

<<interface>>Schnittstelle1

operation1()operation2()

<<interface>>Schnittstelle2

operation1()operation2()

<<interface>>Schnittstelle2

operation1()operation2()

<<interface>>Schnittstelle

operation1()operation2()

<<interface>>Schnittstelle

5

6

8

[one more Business Process modeling]

[continue]

[one more Business Process modeling]

[continue]

B

cu

t

A

cu

t

Page 14: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 14

Procedure ModelImplementation

Implementation of Data Contract

Implementation of Service Contract

Implementation of Service Interface

Implementation & Deployment

of Web Services

9

imp

lem

enta

tio

n

<xsd:schema xmlns:xsd="http<xsd:element name="...

</xsd:complexType></xsd:schema>

<wsdl:definitions name=" <wsdl:types>

...</wsdl:types>

</wsdl:definitions>

├─namespace│ └──webservice│ └──new│ └──Delcaration.java│ └──BindingImpl.java

for (int i=0; i<10; i++){if (..) { ...

} else { ... }}

10

11

12

Page 15: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 15

1. Motivation

2. Basics of Method-Engineering

3. Meta-Model

4. Procedure Model4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 16: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 16

Export Declaration

Consignor

Office of Departure

Office of Exit

Federal Office of Statistics

Pre-AdviceNotification

gather foreign trade

statistics

Clearing Goods for Exportation

*

*

<<includes>>

<<includes>>

Analysis – 1st Step – Process View Modeling of Use Cases

Page 17: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 17

Office of DepartureConsignor

send Export Declaration

receive Export Declaration

prove acceptance of export declaration

send refusal of acceptance

send acceptance and MRN

reject

accept

receive refusal of acceptance

assign Movement Reference Number

receive acceptance and MRN

reject export declaration

reject

correct and request a new

declaration

Analysis – 2nd Step – Process View Modeling of Activities

Page 18: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 18

Analysis – 3rd Step – Message View Modeling of Communication

Federal Office of StatisticsOffice of ExitConsignor Office of Departure

1 : Export Declaration

2 : Export Acceptance and MRN

3 : Presentation to Customs (MRN)

4 : Acceptance of Declaration

5 : Surrender of Goods for Export

6 : Pre-Advice Notification

7 : information concerning foreign trade statistics

Page 19: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 19

Analysis – 4th Step – Data View Identification of Business Objects

4.1 Set up Documents Repository

4.2 Analyse Documents Componenets Name and Business Rule Cardinality and Type Structure or Content

4.3 Assemble Document Components

Page 20: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 20

Analysis – 4th Step – Data View Analyse Documents Componenets

Page 21: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 21

SADNo.

Componenet Name Business RuleCardin-

alityData Type Type Object

1 Declaration Type   1   Structure

Declara-tion Type

1 First Subdivision EU, EX or CO depends on place of destination 1 Code Inhalt

1 Second Subdivision A, B, C, X, Y, or Z depends on Export procedure 1 Code Inhalt

2 Consignor/Exporter   0..1   StructureConsignor

2 Last Name Has to be filled in, if no firm name is given 0..1 Name Inhalt

Address

2 First Name Has to be filled in, if no firm name is given 0..1 Name Inhalt

2 Firm Has to be filled in, if no first and last name is given

0..1 Name Inhalt

2 Street   0..1 Text Inhalt

2 House Number   0..1 Text Inhalt

2 Postal Code   0..1 Numeric/Text Inhalt

2 City   0..1 Name Inhalt

2 Country (a2) Country Code 0..1 Country_ Identifier Inhalt

2 Customs Number   0..1   Structure

Customs Number

2 Country (a2) ) Country Code 1 Country_ Identifier Inhalt

2 Identification Number (an1..16) identification number of Consignor 1 Identifier Inhalt

Analysis – 4th Step – Data View Assemble Document Components

Page 22: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 22

1. Motivation

2. Basics of Method-Engineering

3. Meta-Model

4. Procedure Model4.1. Analysis

4.2. Design4.3. Implementation

5. Summary

Agenda

Page 23: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 23

Design – 5th Step – Data View Specification of Business Objects

class Logical View

«XSDcomplexType»ConsigneeParty

«XSDelement»+ PostalAddress: Address [0..1]+ ValidCustomsNumber: CustomsNumber [0..1]

«XSDcomplexType»Address

«XSDelement»+ CityName: u dt:NameType+ CountryCountryID: qdt:CountryIDType+ FirmName: udt :NameType [0]+ FirstNameName: udt:NameType [0]+ HouseNumberText : udt:TextType+ PostalCodeText: udt:TextType+ SecondNameName: udt:NameType [0]+ StreetName: udt:NameType

«XSDcomplexType»ConsignorParty

«XSDelement»+ PostalAddress: Address [0..1]+ ValidCustomsNumber: CustomsNumber [0..1]

«XSDcomplexType»Customs Number

«XSDelement»+ CountryCountryID: qdt:CountryIDType+ IdentificationNumberCode: udt:CodeType

«XSDcomplexType»DeclarationType

«XSDelement»+ FirstSubdivisionDeclarationTypeFirstPartCo de: qdt:DeclarationTypeFirstPartCodeType+ SecondSubdivisionDeclarationTypeSecondPartCode: qdt:DeclarationTypeSecondPartCodeType

«XSDcomplexType»ExportDec laration

«XSDelement»+ ApplicableDeclarationType: DeclarationType+ DeclaredGoodsItem: GoodsItem [1..*]+ GoodsLocationName: NameType [0..1]+ IdentifiedConsigneeParty: ConsigneeParty [0..1]+ IdentifiedConsignorParty: ConsignorParty+ IdentifiedDeclarantParty: DeclarantParty+ IdentifiedPrincipalParty: PrincipalParty [0..1]+ IdentifiedWarehouse : Warehouse [0..1]+ LoadingListsNumeric: NumericType [0..1]+ MovementReferenceNumberId entifier: IDType [0..1]+ OfficeOfExit: Cu stomOffice [0..1]+ SealIdentificationIden tifier: IDType [0..1]+ TotalItemsNumeri c: NumericType+ TotalPackagesNumeric: NumericType [0..1]+ TransactionNatureTransactionNatureCod e: TransactionNatureCodeType [0..1]

Page 24: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 24

Design – 5th Step – Data View Consolidation of Business Objects

class Data View

«XSDcomplexType»Address

«XSDelement»+ CityName: u dt:NameType+ CountryCountryID: qdt:CountryIDType+ FirmName: udt :NameType [0]+ FirstNameName: udt:NameType [0]+ HouseNumberText : udt:TextType+ PostalCodeText: udt:TextType+ SecondNameName: udt:NameType [0]+ StreetName: udt:NameType

«XSDcomplexType»AdditionalInformation

«XSDelement»+ ContentText: udt:TextType+ EncodingAdditionalInformationCode: qdt:AdditionalInformationCodeType

«XSDcomplexType»Commodi tyCode

«XSDelement»+ CombinedNomenclature Code: udt:TextType+ FirstAdditionalTaricCode: udt:TextType+ MemberStateCodeText: udt:TextType [0..1]+ SecondAdditionalTari cCode: udt:TextType+ Taric: TARICDocumentCode

«XSDcomplexType»ConsignorParty

«XSDelement»+ PostalAddress: Address [0..1]+ ValidCustomsNumber: CustomsNumber [0..1]

«XSDcomplexType»PrincipalParty

«XSDelement»+ PostalAddress: Address [0..1]+ ValidCustomsNumber: CustomsNumber [0..1]

«XSDcomplexType»DeclarationType

«XSDelement»+ FirstSubdivisionDeclarationTypeFirstPartCo de: qdt:DeclarationTypeFirstPartCodeType+ SecondSubdivisionDeclarationTypeSecondPartCode: qdt:DeclarationTypeSecondPartCodeType+ ThirdSubdivisionDeclarationTypeThirdPartCode: DeclarationTypeThirdPartCodeType

«XSDcomplexType»ConsigneeParty

«XSDelement»+ PostalAddress: Address [0..1]+ ValidCustomsNumber: CustomsNumber [0..1]

«XSDcomplexType»Customs Number

«XSDelement»+ CountryCountryID: qdt:CountryIDType+ IdentificationNumberCode: udt:CodeType

«XSDcomplexType»DeclarantParty

«XSDelement»+ PostalAddress: Address [0..1]+ RemarkText: udt :TextType [0..1]+ StatusDeclarantStatusCode: qdt :DeclarantStatusCodeType [0..1]+ ValidCustomsNumber: CustomsNumber [0..1]

«XSDcomplexType»Warehouse

«XSDelement»+ CountryCountryID: CountryIDType+ WarehouseIdentityIdentifier: IDType+ WarehouseTypeWarehouseTypeCode: WarehouseTypeCodeType

«XSDcomplexType»TransportInformation

«XSDelement»+ AgreedDeliveryTerms: DeliveryTerms [0..1]+ BorderTransportMode: TransportMode [0..1]+ ContainerIndicator: ud t:IndicatorType [0..1]+ CrossingBorderTransportMeans: TransportMeans+ DepartureTransportMeans: TransportMeans [0..1]+ DestinationCountryCoun tryID: CountryIDType+ DestinationRegion: NameType [0..1]+ ExportCountryCountryID: CountryIDType [0..1]+ InlandTransportMode: TransportMode [0..1]

«XSDcomplexType»Prev ious Document

«XSDelement»+ CategorySummaryDeclarationCode: qdt:SummaryDeclarationCodeType+ DateDate: udt:DateType [0..1]+ ReferenceIdentif ier: udt:IDType+ TypePreviousDocumentCode: q dt:PreviousDocumentCodeType

«XSDcomplexType»TaxCalculation

«XSDelement»+ PaymentMethodPaymentMeansCode: PaymentMeansCodeType [0..*]+ TaxAmountPayableNumeric: udt:NumericType [1..n]+ TaxBaseText: udt :TextType [1..n]+ TaxRateApplicableNumeric: udt:NumericType [1..n]+ TaxTypeTypeOfDutiesCode: T ypeOfDutiesCodeType [1..n]+ TotalTaxNumeric: ud t:NumericType [0..1]

«XSDcomplexType»Declaration

«XSDelement»+ ApplicableDeclarationType: DeclarationType+ AssociatedTransportInformation: TransportInformation+ CommericalReferenceIden tifier: IDType [0..1]+ DeclaredGoodsItem: GoodsItem [1..*]+ DeferredPaymentIdenti fier: IDType [0..1]+ DesignatedOfficeOfDest ination: CustomOffice+ DesignatedOfficeOfExit : CustomOffice [0..1]+ DesignatedOfficeOfTransi t: CustomOffice [0..1]+ ExchangeRateNumeric: NumericType [0..1]+ GoodsLocationName: NameType [0..1]+ IdentifiedConsigneeParty: ConsigneeParty [0..1]+ IdentifiedConsignorParty: ConsignorParty+ IdentifiedDeclarantParty: DeclarantParty+ IdentifiedPrincipalParty: PrincipalParty [0..1]+ IdentifiedWarehouse : Warehouse [0..1]+ InvoiceAmountNumeric: NumericType [0..1]+ InvoiceCurrencyCurrencyCode : CurrencyCodeType [0..1]+ IssueDateDate: DateType [0..1]+ IssuePlaceNam e: NameType+ LoadingListsNumeric: NumericType [0..1]+ MovementReferenceNumber: MRN [0..1]+ PlaceOfLoading: NameType [0..1]+ RemarksText: T extType [0..1]+ ResponsiblePersonNam e: NameType [0..1]+ SealIdentificationIden tifier: IDType [0..1]+ TotalGrossMass: QuantityType [0..1]+ TotalItemsNumeri c: NumericType+ TotalPackagesNumeric: NumericType [0..1]+ TransactionNatureTransactionNatureCod e: TransactionNatureCodeType [0..1]

«XSDcomplexType»ProducedDocument

«XSDelement»+ DocumentCode: qdt :DocumentCodeType+ IdentificationNumeri c: udt:NumericType

«XSDcomplexType»CustomsProcedure

«XSDelement»+ CommunityProcedureTe xt: TextType [0..1]+ PreviousProcedureProcedureSecondPartCode: ProcedureSecondPartCodeType+ RequestedProcedureProcedureFirstPartCode: ProcedureFirstPartCodeType

«XSDcomplexType»Deliv eryTerms

«XSDelement»+ IncotermDeliveryTermsCode: qdt:DeliveryTermsCodeType+ PlaceName: udt:NameType

«XSDcomplexType»Packa ging

«XSDelement»+ MarksAndNumbersTe xt: udt:TextType+ PackageKindPackageCode : qdt:PackageCodeType+ PackageQuantityNumeric: udt:NumericType

«XSDcomplexType»TransportMeans

«XSDelement»+ IdentityText: ud t:TextType [0..1]+ NationalityCountryID: q dt:CountryIDType [0..1]

«XSDcomplexType»TransportMode

«XSDelement»+ TypeTransportModeCode: q dt:TransportModeCodeType

«XSDcomplexType»CustomOffice

«XSDelement»+ CountryCountryID: qdt:CountryIDType+ CustomOfficeIdenti fier: udt:IDType

«XSDcomplexType»Goods Item

«XSDelement»+ AppliedCustomsProcedure: CustomsProcedure+ AssociatedAdditionalInformation: AdditionalInformation [0..*]+ AssociatedPreviousDocument: PreviousDocument [1..n]+ AssociatedProducedDocument: AdditionalInformation [1..n]+ ContainerNumberNumeric: udt:NumericType [1..n]+ EffectiveTaxCalculation: TaxCalculation [0..1]+ GrossMassQuantity: ud t:QuantityType [0..1]+ NetMassQuantity: udt:QuantityType+ OriginCountryCountryID: qdt:CountryIDType [0..1]+ OriginRegionCode: udt:CodeType [0..1]+ Price: Amoun tType [0..1]+ QuantityNumeric: ud t:NumericType [0..1]+ SequentialNumberNumeric: udt:NumericType [0..1]+ SpecifiedCommodityCode: CommodityCode+ StatisticalValueAmou nt: udt:AmountType+ SupplementaryUnitNume ric: udt:NumericType+ TariffQuota: Nu mericType [0..1]+ TradeDescriptionTe xt: udt:TextType+ UsedPackaging: Packaging [0..1]+ ValuationMethod: CodeType [0..1]

«XSDcomplexType»Guara ntee

«XSDelement»+ ComprehensiveGuaranteeCertifica teNumeric: NumericType [0..1]+ ExceptionCountry: CountryIDType [1..n]+ GuaranteeCod e: CodeType+ GuaranteeReferenceTe xt: TextType [0..1]+ GuaranteeWaiverCertificateNumeric: NumericType [0..1]+ IndividualGuaranteeVoucherNumeric: NumericType [0..1]+ OfficeOfGuaranteeNam e: NameType [0..1]

«XSDcomplexType»MRN

«XSDelement»+ MovementReferenceNumber: IDType

«XSDcomplexType»ControlResult

«XSDelement»+ MovementReferen ceNumber: MRN+ Result: string

Page 25: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

Federal Office of StatisticsOffice of ExitConsignor Office of Departure

1 : Export Declaration

2 : Export Acceptance and MRN

3 : Presentation to Customs (MRN)

4 : Acceptance of Declaration

5 : Surrender of Goods for Export

6 : Pre-Advice Notification

7 : information concerning foreign trade statistics

© SAP AG 2009. All rights reserved. / Page 25

Design – 6th Step – Business TransactionsIdentification of Business Transactions

Page 26: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 26

Design – 6th Step – Business TransactionsSpecification ofBusiness Transactions

ExportDeclaration

ReleaseGoodsForExport

Page 27: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 27

Office of DepartureConsignor

send Export Declaration

receive Export Declaration

prove acceptance of export declaration

send refusal of acceptance

send acceptance and MRN

reject

accept

receive refusal of acceptance

assign Movement Reference Number

receive acceptance and MRN

reject export declaration

reject

correct and request a new

declaration

Design – 7th Step – Service OperationsIdentification of relevant Activities

Page 28: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 28

Activities are typecast as:invoke

receive (sync)receive (async) reply (sync)reply (async)

Operations are typecast as:One-Way

NotificationRequest-responseSolicit-response

Design – 7th Step – Service OperationsClassification of relevant Activities

Page 29: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 29

Design – 7th Step – Service OperationsSpecification of In- and Output Parameter

Office of Departure should provide a Service Operation:

submitExportDeclaration

Input-Parameter: Declaration

Output-Parameter: ControlResult

class Serv ice View

«interface»ExpotServiceConsignor

+ receiveExportCompletionNotification(MRN) : void+ receiveExportControlResult(ControlResult) : void+ receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void

«interface»ExpotServiceOfficeOfDeparture

+ receiveExportControlResults(ControlResult) : void+ submitExportDeclaration(Declaration) : string+ submitPresentationToCustoms(MRN) : void+ submitRequestedDeclarationData(MRN) : Declaration

Page 30: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 30

Design – 8th Step – Service OperationsDefinition of Services

class Serv ice View

«interface»ExpotServiceConsignor

+ receiveExportCompletionNotification(MRN) : void+ receiveExportControlResult(ControlResult) : void+ receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void

«interface»ExpotServiceOfficeOfDeparture

+ receiveExportControlResults(ControlResult) : void+ submitExportDeclaration(Declaration) : string+ submitPresentationToCustoms(MRN) : void+ submitRequestedDeclarationData(MRN) : Declaration

As a Maximun all identified Service Operations of one role are taken together in one Service.

As Minimum the Service Operations of one Business Transaction should be taken together as a Service

Data Cohesion Logical Cohesion Functional Cohesion

Page 31: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 31

Design – 8th Step – Service OperationsDefinition of Services

As a Maximun all identified Service Operations of one role are taken together as a Service

As Minimum the Service Operations of one Business Transaction should be taken together as a Service

Logical Cohesion Functional Cohesion Data Cohesion

class ExportServ ice View

Federal Office of StatisticsOffice of ExitOffice of DepartureConsignor

«interface»FederalStatisticalOffice

+ receiveExportDeclarationStatistics(Declaration) : void

«interface»ExpotServiceConsignor

+ receiveExportCompletionNotification(MRN) : void+ receiveExportControlResult(ControlResult) : void+ receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void

«interface»ExpotServiceOfficeOfDeparture

+ receiveExportControlResults(ControlResult) : void+ submitExportDeclaration(Declaration) : string+ submitPresentationToCustoms(MRN) : void+ submitRequestedDeclarationData(MRN) : Declaration

«interface»OfficeOfExit

+ receiveExportPre-Advice(Declaration) : void+ submitExportConfirmation(MRN) : void+ submitPresentationToCustoms(MRN) : Declaration+ submitQualifiedExportDeclarartion(Declaration) : void

Page 32: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 32

Design – 8th Step – Service OperationsConsolidation of Services

class ConsView

Office of DepartureConsignor

«interface»ExpotServiceConsignor

+ receiveExportCompletionNotification(MRN) : void+ receiveExportControlResult(ControlResult) : void+ receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void

«interface»ExpotServiceOfficeOfDeparture

+ receiveExportControlResults(ControlResult) : void+ submitExportDeclaration(Declaration) : string+ submitPresentationToCustoms(MRN) : void+ submitRequestedDeclarationData(MRN) : Declaration

«interface»TransitServiceConsignor

+ receiveTransitCompletionNotification(MRN) : void+ receiveTransitControlResult(ControlResult) : void+ receiveTransitDeclarationAcceptanceResult(AcceptanceResult) : void+ submitClarificationRequest(ClarificationRequest) : void

«interface»TransitServiceOfficeOfDeparture

+ receiveClarificationResponse(Declaration) : void+ receiveTransitArrivalNotification(MRN) : void+ receiveTransitReleaseOfGoodsNotification(MRN) : void+ receiveTransitTransitionNotification(MRN) : void+ submitClarificationRequest(ClarificationRequest) : void+ submitPresentationToCustoms(MRN) : void+ submitRequestedDeclarationData(MRN) : Declaration+ submitTransitDeclaration(Declaration) : string

«interface»OfficeOfDeparture

+ receiveClarificationResponse(Declaration) : void+ receiveExportControlResults(ControlResult) : void+ receiveTransitArrivalNotification(MRN) : void+ receiveTransitReleaseOfGoodsNotification(MRN) : void+ receiveTransitTransitionNotification(MRN) : void+ submitClarificationRequest(ClarificationRequest) : void+ submitExportDeclaration(Declaration) : string+ submitPresentationToCustoms(MRN) : void+ submitRequestedDeclarationData(MRN) : Declaration+ submitTransitDeclaration(Declaration) : string

«interface»Consignor

+ receiveExportCompletionNotification(MRN) : void+ receiveExportControlResult(ControlResult) : void+ receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void+ receiveTransitCompletionNotification(MRN) : void+ receiveTransitControlResult(ControlResult) : void+ receiveTransitDeclarationAcceptanceResult(AcceptanceResult) : void+ submitClarificationRequest(ClarificationRequest) : void

Page 33: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 33

class BusnissPartnrServ ice View

Federal Statistical OfficeCustoms Border Crossing CustomsBusinesses

«interface»Consignor

+ receiveExportCompletionNotification(MRN) : void+ receiveExportControlResult(ControlResult) : void+ receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void+ receiveTransitCompletionNotification(MRN) : void+ receiveTransitControlResult(ControlResult) : void+ receiveTransitDeclarationAcceptanceResult(AcceptanceResult) : void+ submitClarificationRequest(ClarificationRequest) : void

«interface»Consignee

+ receiveTransitReleaseOfGoodsNotification(MRN) : void

«interface»OfficeOfDeparture

+ receiveClarificationResponse(Declaration) : void+ receiveExportControlResults(ControlResult) : void+ receiveTransitArrivalNotification(MRN) : void+ receiveTransitReleaseOfGoodsNotification(MRN) : void+ receiveTransitTransitionNotification(MRN) : void+ submitClarificationRequest(ClarificationRequest) : void+ submitExportDeclaration(Declaration) : string+ submitPresentationToCustoms(MRN) : void+ submitRequestedDeclarationData(MRN) : Declaration+ submitTransitDeclaration(Declaration) : string

«interface»OfficeOfDestination

+ receiveClarificationResult(ClarificationResponse) : void+ receiveTransitArrivalPre-Advice(Declaration) : void+ submitPresentationToCustoms(MRN) : void

«interface»OfficeOfExit

+ receiveExportPre-Advice(Declaration) : void+ submitExportConfirmation(MRN) : void+ submitPresentationToCustoms(MRN) : Declaration+ submitQualifiedExportDeclarartion(Declaration) : void

«interface»OfficeOfTransit

+ receiveClarificationResult(ClarificationResponse) : void+ receiveTransitPre-Advice(Declaration) : void+ submitPresentationToCustoms(MRN) : void

«interface»FederalStatisticalOffice

+ receiveExportDeclarationStatistics(Declaration) : void

Design – 8th Step – Service Landscape

Page 34: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 34

1. Motivation

2. Basics of Method-Engineering

3. Meta-Model

4. Procedure Model4.1. Analysis4.2. Design

4.3. Implementation

5. Summary

Agenda

Page 35: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

Implementation – 9th Step – Data ContractConcept of Data Contract

© SAP AG 2009. All rights reserved. / Page 35

Business Object Module

Business Document Module

Code List Module

Qualified Data Type Module

Unqualified Data Type Module

1

1 1

1

0..n 0..n

0..n

0..n

1

1

1

Page 36: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

Implementation – 9th Step – Data Contract (Un)QualifiedDataTypes and CodeLists

© SAP AG 2009. All rights reserved. / Page 36

Ich bin ein Screenshot der UDT, QDT und einer Enumeration

Page 37: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

Implementation – 9th Step – Data Contract Business Document as XSD

<?xml version="1.0"?><!-- ===================================================================== --><!-- ===== Customs Document Module ===== --><!-- ===================================================================== --><!-- Schema agency: ITAIDE (Andrea Fuchsloch) Schema version: 1.0 Schema date: 30. March 2009--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bom="http://www.my.business.object.module" xmlns:cdm="http://www.my.customs.document.module" targetNamespace="http://www.my.customs.document.module">

<!-- ================================================================== --><!-- ===== Import of Business Objects Module ===== --><!-- ================================================================== --><xs:import namespace="http://www.my.business.object.module"

schemaLocation="../BusinessObjectModule.xsd"/><!-- ================================================================== --><!-- ===== Type Definition: ExportDeclarationType ===== --><!-- ================================================================== --><xs:element name="ExportDeclaration" type="cdm:ExportDeclarationType"/><xs:complexType name="ExportDeclarationType">

<xs:sequence><xs:element name="ExportDeclaration "

type="bom:DeclarationType"/></xs:sequence>

</xs:complexType></xs:schema>

© SAP AG 2009. All rights reserved. / Page 37

Page 38: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

Implementation – 10th Step – Service Contract Implementation of Contract (graphically)

© SAP AG 2009. All rights reserved. / Page 38

Page 39: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

Implementation – 10th Step– Service Contract Implementation of Service Contract

© SAP AG 2009. All rights reserved. / Page 39

<wsdl:definitions>

</wsdl:definitions>

<wsdl:types><xs:schema>

<xs:element name="ExportDeclarationRequest"><xs:complexType>

<xs:sequence><xs:element name="Consingor" type="xs:string"/><xs:element name="Consinee" type="xs:string"/><xs:element name="GoodsItem" type="xs:string"/><xs:element name="GoodsNumber" type="xs:int"/>

</xs:sequence></xs:complexType>

</xs:element><xs:element name="ExportDeclarationResponse" type="xs:string"/>

</xs:schema></wsdl:types>

<wsdl:message name="submitExportDeclarationRequest"><wsdl:part name="ExportDeclarationRequest"

element="tns:ExportDeclarationRequest"/></wsdl:message><wsdl:message name="submitExportDeclarationResponse">

<wsdl:part name="ExportDeclarationResponse"element="tns:ExportDeclarationResponse"/>

</wsdl:message>

<wsdl:portType name="OfficeOfDepartureServiceSOAPPortType"><wsdl:operation name="submitExportDeclaration">

<wsdl:input message="tns:submitExportDeclarationRequest"/><wsdl:output message="tns:submitExportDeclarationResponse"/>

</wsdl:operation></wsdl:portType>

<wsdl:binding name="OfficeOfDepartureServiceBinding"type="OfficeOfDepartureServiceSOAPPortType">

<soap:binding style="document"transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="submitExportDeclaration"><wsdl:input>

<soap:body use="literal"/></wsdl:input><wsdl:output>

<soap:body use="literal"/></wsdl:output>

</wsdl:operation></wsdl:binding>

<wsdl:service name="OfficeOfDepartureService"><wsdl:port name="OfficeOfDepartureServicePort"

binding="tns:OfficeOfDepartureServiceBinding"><soap:address location="http://localhost/OfficeOfDepartureService"/>

</wsdl:port></wsdl:service>

Types

Messages

PortType und Operations

Binding

Port und Services

Page 40: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

Implementation – 11th Step Implementation of Service Interface

Ich bin ein wundervoller Screenshot

© SAP AG 2009. All rights reserved. / Page 40

Page 41: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 41

Implementation – 12th Step Coding & Deployment of Web Services

Page 42: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 42

1. Motivation

2. Basics of Method-Engineering

3. Meta-Model

4. Procedure Model4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 43: From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces SAP Research Switzerland, Andrea Fuchsloch,

© SAP AG 2009. All rights reserved. / Page 43

Thank you!