From Public Processes to Service DefinitionsA Method for the Model-Driven Derivation of Service Interfaces
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
© SAP AG 2009. All rights reserved. / Page 3
Public Business Process= Interorganizational Collaboration
Government
Company A Company BCollaboration
CollaborationCollab
orat
ion
© 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
© 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
© 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
© 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
© 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
© SAP AG 2009. All rights reserved. / Page 9
Meta-Model
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© SAP AG 2009. All rights reserved. / Page 20
Analysis – 4th Step – Data View Analyse Documents Componenets
© 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
© 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
© 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]
© 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
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
© SAP AG 2009. All rights reserved. / Page 26
Design – 6th Step – Business TransactionsSpecification ofBusiness Transactions
ExportDeclaration
ReleaseGoodsForExport
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
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
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
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
Implementation – 10th Step – Service Contract Implementation of Contract (graphically)
© SAP AG 2009. All rights reserved. / Page 38
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
Implementation – 11th Step Implementation of Service Interface
Ich bin ein wundervoller Screenshot
© SAP AG 2009. All rights reserved. / Page 40
© SAP AG 2009. All rights reserved. / Page 41
Implementation – 12th Step Coding & Deployment of Web Services
© 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
© SAP AG 2009. All rights reserved. / Page 43
Thank you!