# Presentation: 923042

## BI-ICSBusiness Integration - Information Conformance Statements And the evolution toward raising the “vertical.org” standards barScott Hinkelman, Senior Software EngineerSoftware Group / Emerging Technologiessrh@us.ibm.com

## What is BI-ICS

- Business Integration –
- Information Conformance Statements (“ICS”)
- An initial component of *the evolution* of infrastructure standards toward the business layers

## What is the Evolution

- Continued focus on interaction specifications and standards
- Increases the focus on business-level issues
- Web services (WS-*) is successful enterprise infrastructure: secure, reliable, transactional
- But not business oriented
- “crawling up the stack” off of the infrastructure
- Help close the gap between infrastructure and vertical content
- Motivated from the perspective of vertical XML industry consortiums

## Current Web Services Infrastructure Stack

- Service Composition

- Transports

- Messaging

- Description/
- Discovery

- Quality of
- Experience
- (QoX)

- HTTP/HTTPS

- SMTP

- RMI / IIOP

- WSDL

- SOAP

- WS-Addressing

**WS-Renewable References**

- WS-Metadata Exchange

- WS-Policy

- WS-Service Group

- WS-Resource Properties

- JMS

- WS-Security

- WS-Reliable Messaging

- WS-Transaction

- WS-Resource Lifetime

- WS-Base Faults

- WS-Notification

- BPEL4WS

- UDDI

- WSRP

## Evolution Principals

- Focused, composable specifications
- Consistent with the WS-* approach
- Facilitate re-use and incremental adoption
- Avoid lengthy monolithic unapproachable specifications
- Vertical industry agnostic
- Focus on cross-industry pain points
- No industry content
- Not defining a purchase order, address, travel information, etc
- Consistent with WS-*
- Specifications to show a “WS-* binding”
- Not dependent on WS-* technology
- 	Consistent with desire of typical verticals to remain infrastructure agnostic

## Evolution Target Space

- Vertical-specific Content

- Service Composition

- Transports

- Messaging

- Description/
- Discovery

- Quality of
- Experience
- (QoX)

- HTTP/HTTPS

- SMTP

- RMI / IIOP

- WSDL

- SOAP

- WS-Addressing

**WS-Renewable References**

- WS-Metadata Exchange

- WS-Policy

- WS-Service Group

- WS-Resource Properties

- JMS

- WS-Security

- WS-Reliable Messaging

- WS-Transaction

- WS-Resource Lifetime

- WS-Base Faults

- WS-Notification

- BPEL4WS

**[****TARGET****]**

- BI-ICS

- Common Industry Content

- Industry-specific Content

- Industry-specific Content

- Infrastructure

- Business

- UDDI

- WSRP

## Key Approach Points

- Important to partner with business-level companies, ISVs, and industry vertical organizations to promote specification/standards
- XML centric
- Consistent with “vertical .org’s”
- Cognizant of the emerging OMG MDA work

## Key Evolution Spaces

- Business Interoperability

- Business Usage Discipline

- Business Payload Composition

- Business Contracts

**BI-ICS**

## About BI-ICS

- _The initial step of the evolution_
- _A specification_ - XML vocabulary for a statement about information conformance
- “Information is stated to be conformant with this type system”
- XML Schema type system, MIME type, some other type system
- “Information is stated to be conformant with a process”
- A Schematron schema process, some other process
- Extensible Conformance Model
- Sequence: example-> this schema, then this schema. Or this schema then this transform, etc.
- Extensible vocabulary
- Any emerging constraint mechanism
- Businesses exchange all kinds of information, not just XML
- BI-ICS facilitates declaring conformance for all kinds of information
- Simple, powerful
- _Java implementation proof of concept_

## BI-ICS – Use Any Mechanism to Declare your Constraints

- XSD type system

-     BI-ICS provides declaring information constraints using pervasive mechanisms or whatever emerges

- MIME type system

- Schematron
- assertions

- (Whatever mechanism)

**BI-ICS**

## BI-ICS Motivation

*    **>The wide-spread issues with *_*business level*_* interoperability within industry-level XML standards consortiums*
- Addresses common issues facing many industry-level XML consortiums (optional fields, etc)
- The opportunity to increase interoperability at the business level for consortium members

## BI-ICS Example 1

- <InformationConformanceStatement>
-   <Description>This Conformance statement......</Description>
-   <ConformanceModel>
-     <ConformanceAny>
-       <Conformance name="jpg">
-         <Description>jpg images are ok for processing.</Description>
-         <TypeSystem>
-            <MIMETypeSystem>image/jpg</MIMETypeSystem>
-          </TypeSystem>
-        </Conformance>
-        <Conformance name="gif">
-          <Description>gif images are ok fro processing.</Description>
-          <TypeSystem>
-            <MIMETypeSystem>image/gif</MIMETypeSystem>
-          </TypeSystem>
-        </Conformance>
-      </ConformanceAny>
-    </ConformanceModel>
- </InformationConformanceStatement>

- “The information is considered conformant if of type jpg or gif”

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## BI-ICS Example 2

- <InformationConformanceStatement ....>
-   <Description>This Conformance statement ....>
-     <ConformanceModel>
-       <ConformanceSequence>
-         <Conformance name="industry standard schema">
-          <Description> This schema is an industry standard </Description>
-            <TypeSystem>
-              <W3CXMLSchemaTypeSystem eiiNamespaceName="http://www.w3.org/2001/XMLSchema">
-                <InstanceLocation>./member.xsd</InstanceLocation>
-              </W3CXMLSchemaTypeSystem>
-            </TypeSystem>
-          </Conformance>
-          <Conformance name="further constrained schema">
-           <Description> This schema is a modified schema.... <Description>
-            <TypeSystem>
-              <W3CXMLSchemaTypeSystem eiiNamespaceName="http://www.w3.org/2001/XMLSchema">
-                <InstanceLocation>./member_EducationRequired.xsd</InstanceLocation>
-              </W3CXMLSchemaTypeSystem>
-            </TypeSystem>
-          </Conformance>
-        </ConformanceSequence>
-      </ConformanceModel>
- </InformationConformanceStatement>

- “The information is considered conformant if of the industry standard schema type and then also my further constrained schema type”

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## BI-ICS Example 3

- <InformationConformanceStatement ....>
-     <Description>This Conformance statement ....</Description>
-      <ConformanceModel>
-        <ConformanceSequence>
-          <Conformance name="industry standard schema">
-           <Description> This schema is an industry standard with minimum constraints defined. </Description>
-            <TypeSystem>
-              <W3CXMLSchemaTypeSystem eiiNamespaceName="http://www.w3.org/2001/XMLSchema">
-                <InstanceLocation>./member.xsd</InstanceLocation>
-              </W3CXMLSchemaTypeSystem>
-            </TypeSystem>
-          </Conformance>
-          <Conformance name="Schematron assertions">
-           <Description> This Schematron schema defines assertions for further constraints </Description>
-            <Process>
-              <SchematronSchema version="1.5">
-                <InstanceLocation>./educationrequiredassertion.xml</InstanceLocation>
-              </SchematronSchema>
-            </Process>
-          </Conformance>
-        </ConformanceSequence>
-      </ConformanceModel>
- </InformationConformanceStatement>

- “The information is considered conformant if of the industry standard schema type and then also my Schematron assertions”

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## What is the Industry Value

- Elimination of conformance checking in application logic
- Facilitates comprehensive runtime checking of information in application servers prior to application logic handoff
- Facilitates an On Demand business
- A business can declare/advertise comprehensive information constraints for conducting B2B business
- 	- based on profiled industry-level content standards

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## IBM’s BI-ICS4J on AlphaWorks

- BI-ICS4J implementation contains
- A ‘**Conformance Engine**’  that interprets the conformance statement and calls appropriate ‘Conformance Enforcer’ objects
- A ‘**Manipulator**’ for building/editing an ICS and checking conformance
- Examples
- Based on Physician Profile standard from MedBiquitous.org
- 	Almost all content in XML Schema xsd is optional
- Example: at least 1 EducationInfo element is required
- 	This is optional in the MedBiquitous standard Schema
- Examples have 2 BI-ICS Conformance Statements to support this requirement
- 	By using 2 XML Schemas
- MedBiquitous standard schema, and a further restricted version of it
- 	By using 1 XML Schema and 1 XSL Transform (via Schematron)
- MedBiquitous standard schema, and a Schematron assertion rule

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## BI-ICS4J....

- It is a proof of concept for the BI-ICS specification
- Builds on
- Xerces
- Xalan
- JAXB
- Schematron XSLT reference implementation
- Function, not performance
- Shows how the BI-ICS specification is useful in industry

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## Conformance Engine

- //establish a Conformance Engine
- ConformanceEngine ce= new ConformanceEngine();
- //check informance conformance.
- ConformanceResult cr= ce.enforceStatement(ICS, businessinfo);
- //Note: typical use is through the engine’s stream interface
- //Check if information is conformant
- if(cr.getResult()==ConformanceResult.RESULT_YES){
-      //info is conformant
- }
- if(cr.getResult()==ConformanceResult.RESULT_NO){
-      //info is not conformant
- }
- if(cr.getResult()==ConformanceResult.RESULT_UNKNOWN){
-      //info conformance not known
- }

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## Visual Manipulator

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## Visual Manipulator....

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## Visual Manipulator....

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## BI-ICS Plans

- Published spec/article/proof-of-concept on IBM DeveloperWorks / AlphaWorks January 04
- Currently soliciting feedback from industry-level .org’s and member companies
- Is this useful?
- Feedback
- A spec update likely
- Potentially with interested parties
- Interested in evolving the spec?
- Would you actively support a standardization process to finalize BI-ICS?

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.

## Introduction Article

http://www-106.ibm.com/developerworks/xml/library/x-biics/

BI-ICS Spec

ftp://www6.software.ibm.com/software/developer/library/x-biics/BI-ICSSpec_v1.html

IBM AlphaWorks implementation

http://www.alphaworks.ibm.com/tech/biics4j 

- http://www-106.ibm.com/developerworks/xml/library/x-biics/
- _BI-ICS Spec_
- ftp://www6.software.ibm.com/software/developer/library/x-biics/BI-ICSSpec_v1.html
- _IBM AlphaWorks implementation_
- http://www.alphaworks.ibm.com/tech/biics4j

- Links

**Notes:**
The presentation covers:
a definition of what is XML Messaging
a description of how XML Messaging came to be developed
a brief description of the fundamentals of XML Messaging, and finally
a description of where XML Messaging is now.