Steve hanson suman kalia smh@uk ibm com kalia@ca ibm com
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

Steve Hanson Suman Kalia [email protected] [email protected] PowerPoint PPT Presentation


  • 119 Views
  • Uploaded on
  • Presentation posted in: General

Describing non-XML data using XML Schema in IBM WebSphere Business Integration Brokers. Steve Hanson Suman Kalia [email protected] [email protected] Agenda. Broker Overview Message Parsing Message Modeling

Download Presentation

Steve Hanson Suman Kalia [email protected] [email protected]

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Steve hanson suman kalia smh@uk ibm com kalia@ca ibm com

Describing non-XML data using XML Schema in IBM WebSphere Business Integration Brokers

Steve Hanson Suman Kalia

[email protected] [email protected]


Agenda

Agenda

  • Broker Overview

  • Message Parsing

  • Message Modeling

  • The Message Model

  • XML Schema Annotations

  • Background History

  • Further Reading


Broker overview

Broker Overview

WebSphere Business Integration Message Broker (WBI-MB) enables information packaged as messages to flow between different business applications, ranging from large legacy systems through to unmanned devices.A message may be transformed on its way through the broker by a message flow.


Message parsing

Message Parsing

<Person age=’32’ height=‘172’>

<Name>Joe Bloggs</Name>

</Person>

Element

Person

Element age

Element height

Element Name

struct {

int height;

int age;

char Name[48];

} Person;

172 32 Joe Bloggs

On input, the broker receives a message bitstream and parses it into a logical message tree (similar to an SDO datagraph). On output, the broker serializes a message tree into a message bitstream. The parser and serializer understand the structure of the message because it has been modeled by the user in a message set.


Message modeling

Message Modeling

A message set contains one or more message models. A message model is created using an Eclipse-based toolkit, either by an importer or by hand using a specialized editor. When complete, the message set is generated into a dictionary form for use by the message broker runtime. It may also be generated into other formats for consumption by other applications.


The message model

The Message Model

  • A message model comprises a Logical Model and one or more Physical Models

  • The Logical Model is XML Schema with some minor extensions

    • Describes the logical structure of the message

  • The Physical Model uses the OMG Common Application Metamodel (CAM)

    • CAMincludes COBOL, C, PL/1, TypeDescriptor, TDLang models

    • Specifically, Physical Model extends CAM TypeDescriptor

    • Describes the physical layout of the message ‘on the wire’

    • A Physical Model has a name

  • A message model is serialized in a .mxsd file

    • This is an XML Schema .xsd file

    • With additional constructs for the Physical Model

  • The constructs used arexsd:appinfo style xsd:annotations

    • Values of Physical Model properties

    • Names of model objects to enable reconstitution of model

  • Physical Model is sparse for scalability

    • Typically only non-default property values are serialized


Exa mple annotation xsd string

Example Annotation – xsd:string

Identifies owner

of appinfo

Name of

Physical model

Enables model

to be reconstituted

Mix of TD & our

own properties

<xsd:element name="Location" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="WMQI_APPINFO">

<cwfInclRepmessageSetDefaultRep="C_wire_format">

<cwfSimpleRepaccessor="readWrite"

addrUnit="byte" alignment="byte" attributeInBit="false"

bigEndian="false" characterSize="1" contentSize="32"

encodingNull="NullPadFill" encodingNullValue=""

lengthUnits="Bytes" lengthEncoding="fixedLength"

offset="0" paddingCharacter="SPACE" size="32"

stringJustification="rightJustify"

typeName="MRCWFStringRep"width="32"/>

</cwfInclRep>

</xsd:appinfo>

</xsd:annotation>

</xsd:element>


Exa mple annotation xsd int

Example Annotation – xsd:int

Identifies owner

of appinfo

Name of

Physical model

Enables model

to be reconstituted

Mix of TD & our

own properties

<xsd:element name=“Duration" type="xsd:int">

<xsd:annotation>

<xsd:appinfo source="WMQI_APPINFO">

<cwfInclRepmessageSetDefaultRep="C_wire_format">

<cwfSimpleRepaccessor="readWrite"

addrUnit="byte" alignment="word" attributeInBit="false"

base="2" baseInAddr="8" baseUnits="3

baseWidth="1" bigEndian="false"

contentSize="4" offset="320"

signCoding="twosComplement" signed="true" size="4"

typeName="MRCWFIntegerRep"width="4"/>

</cwfInclRep>

</xsd:appinfo>

</xsd:annotation>

</xsd:element>


Background history

Background History

  • Development work on broker started in 1998

  • Original logical & physical message models were proprietary

  • First release of broker (MQSI V2) in 1Q 2000

  • Work started in 2000 on new standards based message model

  • First shipped in broker (WBI-MB V5) in 2Q 2003


Further reading

Further Reading

  • Message Broker Toolkit on-line help

    • http://www-306.ibm.com/software/integration/wbimessagebroker/library/

  • OMG “UML for Enterprise Application Integration”

    • Includes CAM

    • http://www.omg.org/cgi-bin/doc?formal/2004-03-26


  • Login