Gopalan Suresh Raj
Web Cornucopia
Gopalan's Profile
Archives
« November 2009
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
Today
Click me to subscribe Download Open ESB
Syndication
Search

Table of Contents
Tags
bpel choreography ejb esb http integration javacaps javaee javaone jax-ws jbi management openesb orchestration process-oriented rest sca service-oriented soa soap wsdl xml xsd
Links
 
Referrers

Today's Page Hits: 97

Map of Visitors
Locations of visitors to this page
Caveat Emptor
This is my personal weblog. The contents of this Weblog represent my personal opinion which may differ from the official views of my employer, Sun Microsystems, Inc. or any past employers. I do not speak for my employer or any past employers.
View Gopalan Suresh Raj's profile on LinkedIn
« JavaOne 2007 - TS-88... | Main | JBI/SOA Tips: Use... »
Tuesday May 15, 2007
May
15
JBI/SOA Tips: Collaboration Design for 'Wire' Centric Integration

The Wire is cross-platform and heterogeneous in nature. Collaborations take place through the message-based wire. In doing so, we have to ensure that we collaborate with the least amount of overhead. An important consideration in designing for wire-centric integration is to  separate the collaboration design from the individual implementation details. It is important to look into the individual pieces that make up the collaboration and discuss how to handle:

  1. Information Exchange
  2. Evolution
    • Versioning issues in XML Schema: The XML Infoset makes it extremely easy to extend the document design. Add attributes and elements anywhere you want and extend the document design it’s that easy. In most cases, people do not even think of it as extensions.
  3. Compensation
  4. Identity
  5. Access/security

The focus of the collaboration design in wire-centric integrations is the architecture of the collaboration itself - it is not the architecture of the individual components that participate in the collaboration or their implementation details. In a wire-centric integration design, there are no ambiguous messages. Therefore, the best practices for designing global collaborations are to have a consistent collaboration design. To do that, we have to consistently evolve the collaboration in Toto. Messages have to be self-defining in a formal sense to clearly interact with the version of the collaboration that they are dealing with. In a global collaboration, all conversations - whether they are bi-directional or multi-partner - occur within a specific version of the collaboration.

Capturing Collaboration Design

Capture broad use-cases. Have a Formal Schema Design for your Information Model that may evolve over time. The design of the collaboration should be succinct yet complete. It should capture the Collaboration. Remember that WSDL plays only a very small part in all of this since WSDL defines the output of a Collaboration design, rather than a description of the Collaboration.

A Wire Design Separates the Wire From the Applications That Use It

The Collaboration design is a complete design element that captures the full semantic content of the collaboration and stands apart from the applications. Even if you throw away the implementation of the roles, you should still be left with a complete collaboration design that documents well-defined semantics. A third-party should be able to follow everything that’s going on, about all the messages that flow through the system by just looking at the design.

In subsequent web logs, I intend to identify some simple basic best-practices to do good collaboration design for Wire-centric Integration.


Like this write-up? Subscribe to receive  more  like it.


 

Posted at 12:04AM May 15, 2007 by Suresh Gopalan in A Tip a Day  |  Listen to this article Listen to this entry  |  Comments added Comments[0]

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed

Disclaimer: The contents of this Weblog represent my personal opinion which may differ from the official views of my employer, Sun Microsystems, Inc. or any past employers.



View blog top tags

Enter your email address:

Delivered by FeedBurner

[Valid RSS]