Introduction to B2B Simon Steinacker Patrick Mangesius SS 2005
Some Definitions z
Endpoint z z z
Back-end application Trading partners Divisions within an enterprise z
z
User interaction
Close relationship between each other
2
Some Definitions z
Hosted Trading Partner z
Company that hosts server z
z
Manage communication with other businesses z
z
hosted Trading partner Remote / non hosted trading partners
Variants: z z z
One Server Multiple Server Multiple hosted trading partners a server 3
Some Definitions z
Data format and events z z z
z
Enable communication of applications with different formats B2B integration server acts as translator Multiple data formats => server must be able to understand them all Received and sent messages are stored inside the server z
Representation is called events 4
Some Definitions z
Transformation z
z
Applications that communicate have different data formats Therefore data must be transformed z
z
Transformation must not change semantics of the business data content Semantic preserving transformation
5
Some Definitions z
Domain value map z z z
z z z
Often values have to be exchanged E.g. shortcuts for expressions (Austria – AUT) => Domain value mapping Huge datamaps Data may change frequently Often realized through a database look up 6
Some Definitions z
B2B protocol z
2 approaches z Server implements one z Application implements the protocol as integration interface
z
There exist many protocols Server must implement all needed for the conversation Possibility to find out which protocoll is supported by the endpoint
z z
7
Some Definitions z
Back-end application system adapters (1/3) z
There must be some kind of gateway which enables communication z
z
Problems with the different functionalities of the different approaches z
z
APIs, persistent queues, database tables, file system directories,…
Heterogeneity
Abstract interface (figure next slide) 8
B2B Integration Architecture
Back-end application system adapters
Interface A
Interface B
Interface C
Interface D
Endpoint A
Endpoint B
Endpoint C
Endpoint D 9
Some Definitions z
Back-end application system adapters (3/3) z z
Do NOT define behavior 2 Types z z
z z
Transactional Nontransactional
Transactional: messages are sent once Nontransactional: implement semantics like Protocols with retry limit, duplicate checks,… 10
Some Definitions z
Business Process z
z
Integration is not only transforming/forwarding data Often complex rules have to be designed z
z
E.g. Shipping example
Communication is not always one way z
E.g. acknowledgements when purchasing
11
Some Definitions z
History / Business Intelligence z
Examples: z z
z z
Error detection/recovery Auditing z
z
Logfiles Which data is sent to which endpoint
E.g. Access logs for certain data (Healthcare)
Analyzing of future trends
12
Integration concepts z
Message z
Stages similar to network layers
z
B2B wire message B2B clear text message Application clear text message Application wire message
z z z
13
Application Area
Endpoint A
B2B Area
Server
Application Area
Endpoint B
14
Integration concepts z
Transformation between the messages z
Two main differences z z
Application supports B2B protocol Application uses a different protocol
15
Network
Enterprise
Application Application wire message
Application
clear text message
B2B
B2B
clear text message
wire message
Copy
Message
Copy
copy operator 16
Network
Enterprise
Application Application wire message
Application
clear text message
B2B
B2B
clear text message
wire message
TF
Message
TF
Transformation 17
Integration concepts z
Event z
Include information z z z
Data Sender Receiver, …
18
Applications talking over the network Network
Enterprise Application
B2B integration technology Wire event
Clear text event
Wire event
Clear text event
TF
Application
B2B
wire message
wire message
Message
TF
Transformation
Event 19
Applications talking direct Enterprise Application
Application
B2B integration technology Wire event
Clear text event
Wire event
Clear text event
TF
Application
Application
wire message
wire message
Message
TF
Transformation
Event 20
Integration concepts z
Transformation / Translation z
Transformation z z z
z
As mentioned transformation is often not only copying E.g. Dataformat YYYY-MM-DD or 2005, March, 23 Transformation scripts
Translation z
Eliminating different represenations between incoming message and event syntax
21
*Patrick*Mangesius* *Term*6* *0215407* *
[email protected]*
Message Syntax
Event Syntax
22
Enterprise Application
Application
B2B integration technology Wire event
Clear text event
Wire event
Clear text event
TF
Application wire message
Application TL
Message
TL
TF
Transformation
wire message
Event 23
Enterprise Application
Application
B2B integration technology Wire event
Clear text event
Wire event
Clear text event
TF
Application wire message
Application TL
Message
TL
TF
Transformation
wire message
Event 24
Integration concepts z
Business event z z
Until now point to point integration Problems: z
z
Transformations increase rapidly with number of participants
Example z z
4 companies purchasing Each different protocol
This means: 12 transformations 25
Purchase order of Endpoint 2
Purchase order of Endpoint 1 TF TF
TF TF TF
TF
TF
TF
TF TF
TF
Purchase order of Endpoint 3
TF
26 Purchase order of Endpoint 4
Purchase order of Endpoint 1
TF
TF
Purchase order of Endpoint 2
TF
TF
Business Event purchase order
TF
TF
Purchase order of Endpoint 3
TF
TF
27 Purchase order of Endpoint 4
Integration concepts z
Business event z
Business event can be used to avoid costly transformations z z
Without we had n*(n-1) = 4*3 = 12 Transformations With there are only 2*n = 2*4 = 8 Transformations
28
Business Process & Endpoint Behavior z
Usually messages exchange between backend app systems and trading partners are logically related.
z
This relation can be expressed by defining behavior.
29
Defining behavior z
One way to define behavior is to define a business process.
z
And through that the complete message and event behavior is defined.
z
The following slides will deal with that…
30
Extended example of 2 endpoints z
2 endpoints exchanging purchase order messages,
z
Purchase order messages have to ack’ed
z
Each message received by the first endpoint (back-end) has to be ack’ed.
z
See figure on the left 31
z
This slide shows the business process in a more concrete way.
z
It relies on the concept of business events.
32
Three Subdivisions … z
The representation on the former slide is informally divided in three subdivisions: z
z z
The upper third concerns the first endpoint (backend application system) The middle third is about the business logic And the lower third deals with messages and events concerning the second endpoint (trading partner) 33
Deficiencies z
While it is certainly possible to define the whole process in one outlet, there arise several disadvantages of this approach: z
Different layers of functionality
z
Cannot be reused
34
A better approach… z
These deficiencies justify the search for a more flexible approach.
Divide and Conquer
35
Divide z
First the original all-in-one process is divided into 3 sub-processes: z
The business logic process (from now on called ‘business process’)
z
One processes for each endpoint (called ‘interface process’)
36
Business Process
z
This process describes the business logic and represents the ‘middle part’ of the previous example
37
Interface Processes
These two interface processes Implement the same behavior as the ‘upper part’ and the ‘lower part’ In the previous example. 38
Conquer z
Now that we have ‘divided’ we need to ‘conquer’.
z
Conquer is meant in the sense of tying the divided components together. z
Since none of the processes from above contained a transformation, this is done in the Conquer part.
39
Process Binding
40
Process Binding (2)
41
Interface Processes can also be tied together directly, if no business logic is necessary in between. 42
Endpoint Attributes z
Endpoints need identifying arguments like: z z
z
Names Unique identifiers
Other data like: z z
Public / Private keys etc.
43
Endpoint Attributes (2) z
Additionally, endpoint type-specific information has to be kept: z z z
z
Credit ranking Payment history Several business addresses
It must be possible to add data and new categories at runtime 44
Endpoint Capabilities z
This section describes the capabilities of an endpoint in terms of B2B integration.
z
For that data has to be stored: z z
Supported B2B protocols Modifications to standards
45
Endpoint agreements z
For security reasons, not all endpoints should be enabled to send messages to each other automatically.
z
For that the construct of Agreements has been introduced. z
If an endpoint wants to communicate with another endpoint, an Endpoint Agreement is necessary between those two endpoints. 46
Integration Technology Architecture
• 4 different layers In the architecture
• Strict Top-Down
48
49
50
51
52
Conclusion z
B2B Integration technology offers great and flexible possibilities to fulfill most industries dreams of flexibility, adaptability and compatibility. Thanks for your attention
53