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

SAP Research Switzerland, Andrea Fuchsloch, Diploma Student

  • Upload
    vaughan

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

From Public Processes to Service Definitions A Method for the Model-Driven Derivation of Service Interfaces. SAP Research Switzerland, Andrea Fuchsloch, Diploma Student. Agenda. Motivation Basics of Method-Engineering Meta-Model Procedure Model 4.1. Analysis 4.2.Design - PowerPoint PPT Presentation

Citation preview

Page 1: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

SAP Research Switzerland, Andrea Fuchsloch, Diploma Student

Page 2: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

1. Motivation2. Basics of Method-Engineering3. Meta-Model4. Procedure Model

4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 3: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

Public Business Process= Interorganizational Collaboration

Government

Company A Company BCollaboration

CollaborationCollab

orat

ion

Page 4: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

1. Motivation2. Basics of Method-Engineering3. Meta-Model4. Procedure Model

4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 6: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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

custo

mer

mec

hanic

secr

etar

ytra

inee

Page 7: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

1. Motivation2. Basics of Method-Engineering3. Meta-Model4. Procedure Model

4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 9: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

Meta-Model

Page 10: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

1. Motivation2. Basics of Method-Engineering3. Meta-Model4. Procedure Model

4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 11: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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

Ana

lysi

s7

9

Des

ign

Impl

emen

tatio

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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

Procedure ModelAnalysis

Modeling ofMessages exchange

Modeling ofActivities

Identification ofBusiness Objects

Ana

lysi

s

A B CA B C

2

3

4

Modeling ofUse Cases

1

12

BA1

2

BA

Name # DataType Type Object

Page 13: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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

Design

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

cut

A

cut

Page 14: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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

impl

emen

tatio

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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

1. Motivation2. Basics of Method-Engineering3. Meta-Model4. Procedure Model

4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 16: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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

acceptreceive 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

Analysis – 4th Step – Data View Analyse Documents Componenets

Page 21: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

SADNo. Componenet Name Business Rule Cardin-

ality Data 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

1. Motivation2. Basics of Method-Engineering3. Meta-Model4. Procedure Model

4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 23: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

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

class Data View

«XSDcomplexType»Address

«XSDelement»+ CityName: udt: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»+ CombinedNomenclatureCode: 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»+ FirstSubdivisionDeclarationTypeFirstPartCode: qdt:DeclarationTypeFirstPartCodeType+ SecondSubdivisionDeclarationTypeSecondPartCode: qdt:DeclarationTypeSecondPartCodeType+ ThirdSubdivisionDeclarationTypeThirdPartCode: DeclarationTypeThirdPartCodeType

«XSDcomplexType»ConsigneeParty

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

«XSDcomplexType»CustomsNumber

«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»DeliveryTerms

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

«XSDcomplexType»Packaging

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

«XSDcomplexType»TransportMeans

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

«XSDcomplexType»TransportMode

«XSDelement»+ TypeTransportModeCode: qdt: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+ StatisticalValueAmount: udt:AmountType+ SupplementaryUnitNume ric: udt:NumericType+ TariffQuota: NumericType [0..1]+ TradeDescriptionText: udt:TextType+ UsedPackaging: Packaging [0..1]+ ValuationMethod: CodeType [0..1]

«XSDcomplexType»Guara ntee

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

«XSDcomplexType»MRN

«XSDelement»+ MovementReferenceNumber: IDType

«XSDcomplexType»ControlResult

«XSDelement»+ MovementReferenceNumber: MRN+ Result: string

Page 25: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

Design – 6th Step – Business TransactionsSpecification ofBusiness Transactions

ExportDeclaration

ReleaseGoodsForExport

Page 27: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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

acceptreceive 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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+ submitClari ficationRequest(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+ submitClari ficationRequest(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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

© 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

+ receiveClari ficationResult(Clari ficationResponse) : 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(Clari ficationResponse) : void+ receiveTransitPre-Advice(Declaration) : void+ submitPresentationToCustoms(MRN) : void

«interface»FederalStatisticalOffice

+ receiveExportDeclarationStatistics(Declaration) : void

Design – 8th Step – Service Landscape

Page 34: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

1. Motivation2. Basics of Method-Engineering3. Meta-Model4. Procedure Model

4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 35: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

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

Page 39: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

Implementation – 11th Step Implementation of Service Interface

Ich bin ein wundervoller Screenshot

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

Page 41: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

Implementation – 12th Step Coding & Deployment of Web Services

Page 42: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

1. Motivation2. Basics of Method-Engineering3. Meta-Model4. Procedure Model

4.1. Analysis4.2. Design4.3. Implementation

5. Summary

Agenda

Page 43: SAP Research Switzerland,  Andrea Fuchsloch, Diploma Student

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

Thank you!