Title of the Presentation This is the Subtitle

Download Report

Transcript Title of the Presentation This is the Subtitle

From Public Processes to Service
Definitions
A Method for the Model-Driven Derivation of
Service Interfaces
SAP Research Switzerland,
Andrea Fuchsloch, Diploma Student
Agenda
1.
2.
3.
4.
Motivation
Basics of Method-Engineering
Meta-Model
Procedure Model
4.1. Analysis
4.2. Design
4.3. Implementation
5. Summary
© SAP AG 2009. All rights reserved. / Page 2
Public Business Process
= Interorganizational Collaboration
Government
Company A
© SAP AG 2009. All rights reserved. / Page 3
Collaboration
Company B
Purpose of the Thesis
G
?
A
B
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
© SAP AG 2009. All rights reserved. / Page 4
4
Agenda
1.
2.
3.
4.
Motivation
Basics of Method-Engineering
Meta-Model
Procedure Model
4.1. Analysis
4.2. Design
4.3. Implementation
5. Summary
© SAP AG 2009. All rights reserved. / Page 5
Method Engineering
Elements
1
Analysis of
potentialities
2
Procedure
Model
Design and
Choice of
alternatives
3
Planning and
Implementation of
Prototype
4
Continuation
Meta-Model
Elements
of a Method
Design Result
Outcome
Techniques
Roles
Arrange Appointment
© SAP AG 2009. All rights reserved. / Page 6
X
Investigate Vehicle
X
Order Parts
x
Repair Vehicle
x
X
X
X
Method Engineering
Elements and Relationships
is part of
Meta-Model
represents problemoriented view
Design Result /
Outcome
produces /
consumes
predecessor /
successor
Role
participates in
is part of
(Design)
Activity
consists of
Procedure
Model
© SAP AG 2009. All rights reserved. / Page 7
guides
creation of
Technique
supports
Tool
Agenda
1.
2.
3.
4.
Motivation
Basics of Method-Engineering
Meta-Model
Procedure Model
4.1. Analysis
4.2. Design
4.3. Implementation
5. Summary
© SAP AG 2009. All rights reserved. / Page 8
Meta-Model
© SAP AG 2009. All rights reserved. / Page 9
Agenda
1.
2.
3.
4.
Motivation
Basics of Method-Engineering
Meta-Model
Procedure Model
4.1. Analysis
4.2. Design
4.3. Implementation
5. Summary
© SAP AG 2009. All rights reserved. / Page 10
Procedure Model
Analysis
Analysis
1
Modeling of
Use Cases
2
Modeling of
Activities
3
Modeling of
Messages exchange
4
Identification of
Business Objects
5
Specification &
Consolidation of
Business Objects
[one more
Business Process
modeling]
[continue]
Identification of
Business Transactions
7
Specification of
Service Operations
8
Definition &
Consolidation
of Services
Design
Design
6
[one more
Business Process
modeling]
Implementation
© SAP AG 2009. All rights reserved. / Page 11
Implementation
[continue]
9
Implementation of
Data Contract
10
Implementation of
Service Contract
11
Implementation of
Service Interface
12
Implementation
& Deployment
of Web Services
Procedure Model
Analysis
1
Modeling of
Use Cases
Analysis
C
B
A
Modeling of
Activities
2
B
A
3
Modeling of
Messages exchange
1
2
Name
4
Identification of
Business Objects
© SAP AG 2009. All rights reserved. / Page 12
# DataType Type Object
Procedure Model
Design
5
Specification &
Consolidation of
Business Objects
[one more
Business Process
modeling]
[continue]
A
cut
Identification of
Business Transactions
Design
cut
6
B
<<interface>>
Schnittstelle
7
8
Specification of
Service Operations
Definition &
Consolidation
of Services
operation1()
operation2()
[one more
Business Process
modeling]
operation1()
operation2()
[continue]
© SAP AG 2009. All rights reserved. / Page 13
<<interface>>
Schnittstelle1
<<interface>>
Schnittstelle2
operation1()
operation2()
implementation
Procedure Model
Implementation
9
Implementation of
Data Contract
<xsd:schema xmlns:xsd="http
<xsd:element name="
...
</xsd:complexType>
</xsd:schema>
10
Implementation of
Service Contract
<wsdl:definitions name="
<wsdl:types>
...
</wsdl:types>
</wsdl:definitions>
11
Implementation of
Service Interface
├─namespace
│ └──webservice
│
└──new
│
└──Delcaration.java
│
└──BindingImpl.java
12
Implementation
& Deployment
of Web Services
© SAP AG 2009. All rights reserved. / Page 14
for (int i=0; i<10; i++){
if (..) { ...
} else
}
{ ... }
Agenda
1.
2.
3.
4.
Motivation
Basics of Method-Engineering
Meta-Model
Procedure Model
4.1. Analysis
4.2. Design
4.3. Implementation
5. Summary
© SAP AG 2009. All rights reserved. / Page 15
Analysis – 1st Step – Process View
Modeling of Use Cases
gather
foreign trade
statistics
<<includes>>
Federal Office
of Statistics
Export
Declaration
*
<<includes>>
*
Pre-Advice
Notification
Office of Departure
Consignor
Clearing Goods
for Exportation
Office of Exit
© SAP AG 2009. All rights reserved. / Page 16
Analysis – 2nd Step – Process View
Modeling of Activities
Consignor
Office of Departure
send Export
Declaration
receive Export
Declaration
prove acceptance
of export declaration
correct and
request a new
declaration
reject
accept
receive refusal
of acceptance
send refusal
of acceptance
reject
assign Movement
Reference Number
reject export
declaration
send acceptance
and MRN
receive acceptance
and MRN
© SAP AG 2009. All rights reserved. / Page 17
Analysis – 3rd Step – Message View
Modeling of Communication
Consignor
Office of Departure
Office of Exit
Federal Office
of Statistics
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 18
Analysis – 4th Step – Data View
Identification of Business Objects
4.1
Set up Documents Repository
4.2
Analyse Documents Componenets
4.3

Name and Business Rule

Cardinality and Type

Structure or Content
Assemble Document Components
© SAP AG 2009. All rights reserved. / Page 19
Analysis – 4th Step – Data View
Analyse Documents Componenets
© SAP AG 2009. All rights reserved. / Page 20
Analysis – 4th Step – Data View
Assemble Document Components
SAD
No.
Componenet Name
Business Rule
Cardinality
Data Type
1
Type
1
Declaration 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
2
Last Name
Has to be filled in, if no firm name is given
0..1
Name
Inhalt
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
0..1
Country_ Identifier
Inhalt
2
Customs Number
2
Country
(a2) ) Country Code
1
Country_ Identifier
Inhalt
2
Identification Number
(an1..16) identification number of Consignor
1
Identifier
Inhalt
Object
Structure
Declara-tion Type
0..1
Structure
Consignor
Address
© SAP AG 2009. All rights reserved. / Page 21
(a2) Country Code
0..1
Structure
Customs
Number
Agenda
1.
2.
3.
4.
Motivation
Basics of Method-Engineering
Meta-Model
Procedure Model
4.1. Analysis
4.2. Design
4.3. Implementation
5. Summary
© SAP AG 2009. All rights reserved. / Page 22
Design – 5th Step – Data View
Specification of Business Objects
class Logical View
«XSDcomplexType»
ExportDec laration
«XSDcomplexType»
ConsigneeParty
«XSDelement»
+ PostalAddress: Address [0..1]
+ ValidCustomsNumber: CustomsNumber [0..1]
«XSDcomplexType»
ConsignorParty
«XSDelement»
+ PostalAddress: Address [0..1]
+ ValidCustomsNumber: CustomsNumber [0..1]
«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]
«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»
DeclarationType
«XSDelement»
+ FirstSubdivisionDeclarationTypeFirstPartCo de: qdt:DeclarationTypeFirstPartCodeType
+ SecondSubdivisionDeclarationTypeSecondPartCode: qdt:DeclarationTypeSecondPartCodeType
«XSDcomplexType»
Customs Number
«XSDelement»
+ CountryCountryID: qdt:CountryIDType
+ IdentificationNumberCode: udt:CodeType
© SAP AG 2009. All rights reserved. / Page 23
Design – 5th Step – Data View
Consolidation of Business Objects
class Data View
«XSDcomplexType»
DeclarationType
«XSDcomplexType»
DeclarantParty
«XSDelement»
+ FirstSubdivisionDeclarationTypeFirstPartCo de: qdt:DeclarationTypeFirstPartCodeType
+ SecondSubdivisionDeclarationTypeSecondPartCode: qdt:DeclarationTypeSecondPartCodeType
+ ThirdSubdivisionDeclarationTypeThirdPart Code: DeclarationTypeThirdPartCodeType
«XSDelement»
+ PostalAddress: Address [0..1]
+ RemarkText: udt :TextType [0..1]
+ StatusDeclarantStatusCode: qdt :DeclarantStatusCodeType [0..1]
+ ValidCustomsNumber: CustomsNumber [0..1]
«XSDelement»
+ CountryCountryID: CountryIDType
+ WarehouseIdentityIdentifier: IDType
+ WarehouseTypeWarehouseTypeCode: WarehouseTypeCodeType
«XSDelement»
+ PostalAddress: Address [0..1]
+ ValidCustomsNumber: CustomsNumber [0..1]
«XSDcomplexType»
Declar ation
«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: Q uantityType [0..1]
+ TotalItemsNumeri c: NumericType
+ TotalPackagesNumeric: NumericType [0..1]
+ TransactionNatureTransactionNatureCod e: TransactionNatureCodeType [0..1]
«XSDcomplexType»
ConsignorParty
«XSDelement»
+ PostalAddress: Address [0..1]
+ ValidCustomsNumber: CustomsNumber [0..1]
«XSDcomplexType»
PrincipalParty
«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»
Customs Number
«XSDelement»
+ MovementReferen ceNumber: MRN
+ Result: string
«XSDelement»
+ CountryCountryID: qdt:CountryIDType
+ IdentificationNumberCode: udt:CodeType
«XSDelement»
+ MovementReferenc eNumber: IDType
«XSDcomplexType»
Custom Office
«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]
«XSDelement»
+ CountryCountryID: qdt:CountryIDType
+ CustomOfficeIdenti fier: udt:IDType
«XSDcomplexType»
TransportMeans
«XSDelement»
+ IdentityText: ud t:TextType [0..1]
+ NationalityCountryID: q dt:CountryIDType [0..1]
«XSDcomplexType»
Packa ging
«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»
Commodi tyCode
«XSDelement»
+ CombinedNomenclature Code: udt:TextType
+ FirstAdditionalTaric Code: udt:TextType
+ MemberStateCodeText: udt:TextType [0..1]
+ SecondAdditionalTari cCode: udt:TextType
+ Taric: TARICDocumentCode
«XSDcomplexType»
TransportInformation
«XSDcomplexType»
MRN
© SAP AG 2009. All rights reserved. / Page 24
«XSDelement»
+ CommunityProcedureTe xt: TextType [0..1]
+ PreviousProcedureProcedureSecondPartCode: ProcedureSecondPartCodeType
+ RequestedProcedureProcedureFirstPartCode: ProcedureFirstPartCodeType
«XSDcomplexType»
Warehouse
«XSDcomplexType»
ConsigneeParty
«XSDcomplexType»
Control Result
«XSDcomplexType»
CustomsP rocedure
«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»
TransportMode
«XSDelement»
+ TypeTransportModeCode: q dt:TransportModeCodeType
«XSDelement»
+ MarksAndNumbersTe xt: udt:TextType
+ PackageKindPackageCode : qdt:PackageCodeType
+ PackageQuantityNumeric: udt:NumericType
«XSDcomplexType»
ProducedDocument
«XSDelement»
+ DocumentCode: qdt :DocumentCodeType
+ IdentificationNumeri c: udt:NumericType
«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»
AdditionalInformation
«XSDelement»
+ ContentText: udt:TextType
+ EncodingAdditionalInformationCode: qdt:AdditionalInformationCodeType
«XSDcomplexType»
Prev ious Document
«XSDelement»
+ CategorySummaryDeclarationCode: qdt:SummaryDeclarationCodeType
+ DateDate: udt: DateType [0..1]
+ ReferenceIdentif ier: udt:IDType
+ TypePreviousDocumentCode: q dt:PreviousDocumentCodeType
«XSDcomplexType»
Deliv er yTerms
«XSDelement»
+ IncotermDeliveryTermsCode: qdt:DeliveryTermsCodeType
+ PlaceName: udt:NameType
Design – 6th Step – Business Transactions
Identification of Business Transactions
Consignor
Office of Departure
Office of Exit
Federal Office
of Statistics
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 Transactions
Specification of Business Transactions
ExportDeclaration
ReleaseGoodsForExport
© SAP AG 2009. All rights reserved. / Page 26
Design – 7th Step – Service Operations
Identification of relevant Activities
Consignor
Office of Departure
send Export
Declaration
receive Export
Declaration
prove acceptance
of export declaration
correct and
request a new
declaration
reject
accept
receive refusal
of acceptance
send refusal
of acceptance
reject
assign Movement
Reference Number
reject export
declaration
send acceptance
and MRN
receive acceptance
and MRN
© SAP AG 2009. All rights reserved. / Page 27
Design – 7th Step – Service Operations
Classification of relevant Activities
Activities are typecast as:
invoke
receive (sync)
receive (async)
reply (sync)
reply (async)
© SAP AG 2009. All rights reserved. / Page 28
Operations are typecast as:
One-Way
Notification
Request-response
Solicit-response
Design – 7th Step – Service Operations
Specification of In- and Output Parameter
Office of Departure should provide a Service Operation:
submitExportDeclaration
Input-Parameter:
Declaration
Output-Parameter:
ControlResult
«interface»
ExpotServiceOfficeOfDeparture
sult) : void
+
+
+
+
receiveExportControlResults(ControlResult) : void
submitExportDeclaration(Declaration) : string
submitPresentationToCustoms(MRN) : void
submitRequestedDeclarationData(MRN) : Declaration
© SAP AG 2009. All rights reserved. / Page 29
Design – 8th Step – Service Operations
Definition of Services


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


ass Serv ice View
«interface»
ExpotServiceConsignor
+
+
+
receiveExportCompletionNotification(MRN) : void
receiveExportControlResult(ControlResult) : void
receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void
© SAP AG 2009. All rights reserved. / Page 30
«interface»
ExpotServiceOfficeOfDeparture
+
+
+
+
receiveExportControlResults(ControlResult) : void
submitExportDeclaration(Declaration) : string
submitPresentationToCustoms(MRN) : void
submitRequestedDeclarationData(MRN) : Declaration
Design – 8th Step – Service Operations
Definition 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


ass ExportServ ice View
+
+
+
Consignor
Office of Departure
«interface»
ExpotServiceConsignor
«interface»
ExpotServiceOfficeOfDeparture
receiveExportCompletionNotification(MRN) : void
receiveExportControlResult(ControlResult) : void
receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void
© SAP AG 2009. All rights reserved. / Page 31
+
+
+
+
receiveExportControlResults(ControlResult) : void
submitExportDeclaration(Declaration) : string
submitPresentationToCustoms(MRN) : void
submitRequestedDeclarationData(MRN) : Declaration
+
+
+
+
Office of Exit
Federal Office of Statistics
«interface»
OfficeOfExit
«interface»
FederalStatisticalOffice
receiveExportPre-Advice(Declaration) : void
submitExportConfirmation(MRN) : void
submitPresentationToCustoms(MRN) : Declaration
submitQualifiedExportDeclarartion(Declaration) : void
+
receiveExportDeclarationStatistics(Declaration) : void
Design – 8th Step – Service Operations
Consolidation of Services
class ConsView
+
+
+
Consignor
Office of Departure
«interface»
ExpotServiceConsignor
«interface»
ExpotServiceOfficeOfDeparture
receiveExportCompletionNotification(MRN) : void
receiveExportControlResult(ControlResult) : void
receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void
+
+
+
+
«interface»
TransitServiceOfficeOfDeparture
«interface»
TransitServiceConsignor
+
+
+
+
receiveTransitCompletionNotification(MRN) : void
receiveTransitControlResult(ControlResult) : void
receiveTransitDeclarationAcceptanceResult(AcceptanceResult) : void
submitClarificationRequest(ClarificationRequest) : void
+
+
+
+
+
+
+
+
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 32
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
«interface»
Consignor
+
+
+
+
+
+
+
receiveExportControlResults(ControlResult) : void
submitExportDeclaration(Declaration) : string
submitPresentationToCustoms(MRN) : void
submitRequestedDeclarationData(MRN) : Declaration
+
+
+
+
+
+
+
+
+
+
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
Design – 8th Step – Service Landscape
Businesses
Customs
Border Crossing Customs
Businesses
Customs
Border Crossing Customs
Federal Statistical Office
«interface»
Consignor
«interface»
OfficeOfDeparture
«interface»
OfficeOfExit
«interface»
FederalStatisticalOffice
ass BusnissPartnrServ ice View
+
+
+
+
+
+
+
receiveExportCompletionNotification(MRN) : void
receiveExportControlResult(ControlResult) : void
receiveExportDeclarationAcceptanceResult(AcceptanceResult) : void
receiveTransitCompletionNotification(MRN) : void
receiveTransitControlResult(ControlResult) : void
receiveTransitDeclarationAcceptanceResult(AcceptanceResult) : void
submitClarificationRequest(ClarificationRequest) : void
Consignor
«interface»
Consignee
+
Consignee
+
+
+
+
+
+
+
+
+
+
receiveTransitReleaseOfGoodsNotification(MRN) : void
Office of
Departure
«interface»
OfficeOfDestination
+
+
+
© SAP AG 2009. All rights reserved. / Page 33
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
Office of
Destination
receiveClarificationResult(ClarificationResponse) : void
receiveTransitArrivalPre-Advice(Declaration) : void
submitPresentationToCustoms(MRN) : void
+
+
+
+
receiveExportPre-Advice(Declaration) : void
submitExportConfirmation(MRN) : void
submitPresentationToCustoms(MRN) : Declaration
submitQualifiedExportDeclarartion(Declaration) : void
Office of Exit
«interface»
OfficeOfTransit
+
+
+
receiveClarificationResult(ClarificationResponse) : void
receiveTransitPre-Advice(Declaration) : void
submitPresentationToCustoms(MRN) : void
Office of Transit
Federal Statistical Office
+
receiveExportDeclarationStatistics(Declaration) : void
Agenda
1.
2.
3.
4.
Motivation
Basics of Method-Engineering
Meta-Model
Procedure Model
4.1. Analysis
4.2. Design
4.3. Implementation
5. Summary
© SAP AG 2009. All rights reserved. / Page 34
Implementation – 9th Step – Data Contract
Concept of Data Contract
Business Document
Module
0..n
1
Business Object
Module
1
1
1
Unqualified Data Type 1
Module
1
0..n
© SAP AG 2009. All rights reserved. / Page 35
Qualified Data Type
Module
1
Code List
Module
0..n
0..n
Implementation – 9th Step – Data Contract
CodeLists Example
«enumeration»
Package _Code::
PackageCode ContentType
«XSDtopLevelElement»
Package_Code::PackageCode
AE
AM
AP
AT
BG
class Code_Lists
MB
«enumeration»
BL
ISO_ISOTw oletterCountryCode_SecondEdition2006::
BN
ISOTw oletterCountryCodeIdentifierContentType
BF
BP
AD
BR
AE
BA
AF
BZ
AG
BK
AI
BI
AL
BD
AM
BY
AN
BB
AO
BT
AQ
GB
AR
BS
AS
BO
AT
BV
AU
BQ
AW
BC
AX
BX
AZ
J 2009. All rights reserved. / Page 36
© SAPBAG
«XSDtopLevelElement»
ISO_ISOTw oletterCountryCode_SecondEdition2006::
ISOTw oletterCountryCodeIdentifier
Implementation – 9th Step – Data Contract
Unqualified Data Type Example
class UnqualifiedDataType_4p0
decimal
«XSDsimpleType»
deci mal
«XSDextension»
«XSDextension»
«XSDcomplexType»
AmountType
«XSDcomplexType»
Quanti tyType
«XSDattribute»
+ currencyCode: ISO3Alpha CurrencyCodeContentType
«XSDattribute»
+ unitCode: MeasurementUn itCommonCodeContentType
© SAP AG 2009. All rights reserved. / Page 37
Implementation – 9th Step – Data Contract
Business Document Module Example
ass Message Assembly
«XSDcomplexType»
Control Result
«XSDelement»
+ Movement Referen ce Number: MRN
+ Text: string
© SAP AG 2009. All rights reserved. / Page 38
«XSDcomplexType»
MRN
«XSDelement»
+ MovementReferenceNumb erIdentifier: IDType
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 39
Implementation – 10th Step – Service Contract
Implementation of Contract (graphically)
© SAP AG 2009. All rights reserved. / Page 40
Implementation – 10th Step– Service Contract
Implementation of Service Contract
<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>
© SAP AG 2009. All rights reserved. / Page 41
</wsdl:definitions>
Types
Messages
PortType und
Operations
Binding
Port und
Services
Implementation – 11th Step
Implementation of Service Interface
© SAP AG 2009. All rights reserved. / Page 42
Implementation – 12th Step
Coding & Deployment of Web Services
© SAP AG 2009. All rights reserved. / Page 43
Implementation – 12th Step
Coding & Deployment of Web Services
© SAP AG 2009. All rights reserved. / Page 44
Implementation – 12th Step
Coding & Deployment of Web Services
© SAP AG 2009. All rights reserved. / Page 45
Agenda
1.
2.
3.
4.
Motivation
Basics of Method-Engineering
Meta-Model
Procedure Model
4.1. Analysis
4.2. Design
4.3. Implementation
5. Summary
© SAP AG 2009. All rights reserved. / Page 46
Thank you!
© SAP AG 2009. All rights reserved. / Page 47