slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
BICS V2.0 Business Information Conformance Statements ….d eclare YOUR exact information constraints for B2B PowerPoint Presentation
Download Presentation
BICS V2.0 Business Information Conformance Statements ….d eclare YOUR exact information constraints for B2B

Loading in 2 Seconds...

play fullscreen
1 / 31

BICS V2.0 Business Information Conformance Statements ….d eclare YOUR exact information constraints for B2B - PowerPoint PPT Presentation


  • 239 Views
  • Uploaded on

BICS V2.0 Business Information Conformance Statements ….d eclare YOUR exact information constraints for B2B Scott Hinkelman Senior Software Engineer About this Tutorial ALL ABOUT BICS – a presentation about IBM’s BICS specification A BICS DEMO – a demonstration of BICS

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'BICS V2.0 Business Information Conformance Statements ….d eclare YOUR exact information constraints for B2B' - adamdaniel


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
slide1

BICS V2.0Business Information Conformance Statements….declare YOUR exact information constraints for B2B

Scott Hinkelman

Senior Software Engineer

about this tutorial
About this Tutorial
  • ALL ABOUT BICS – a presentation about IBM’s BICS specification
  • A BICS DEMO – a demonstration of BICS
  • BICS FUTURE AND DISCUSSION – a round table discussion of BICS, interest, and input for it’s future

BICS V2.0

all about bics
All About BICS

BICS V2.0

what is bics
What is BICS

“Business Information Conformance Statements”

A specification to state exact constraints on business information.

BICS V2.0

motivations
Motivations
  • The recognition that increased B2B interoperability at the business information layers results from custom information constraints
    • Most businesses can not use industry-level standards out of the box
    • Customization of the industry-level standards is typically required
    • This is a natural result from industry-level consortium’s relaxed/loosely-defined specifications
      • It is more difficult to reach exact requirements for specifications compared to working within infrastructure-level consortiums
        • Some consortiums now explicitly design toward relaxation
  • The absence of, and need for, a single comprehensive constraint declaration specification
    • Any kind of data format
    • Any kind of constraint mechanism
    • Multiple constraint mechanisms

BICS V2.0

2 industry b2b constraint trends and reality
2 Industry B2B Constraint Trends and Reality
  • Industry-level B2B standards consortiums typically are Relaxed
    • A typical vertical.org defines standards with mass optionality
      • Difficult to get all members to agree on required fields
    • Results in “kitchen-sink” standards
      • Every possible element but none required
      • Something everyone can agree to
      • Significantly impacts business-level interoperability
    • Nothing new – since EDI days
    • Some groups (OAGIS) explicitly align to this methodology
      • And augment standards with custom partner-specific constraints
    • BICS is founded in this Reality
  • The need for multilevel B2B constraints
    • Businesses define additional constraints beyond a vertical.org’s
    • Vertical.org standards out of the box need profiled – likely per business
    • Maybe hack the vertical.org schema, maybe a second schema, maybe another mechanism
    • BICS is founded in this need

BICS V2.0

what bics provides
What BICS Provides
  • A framework for defining Information Constraint Mechanisms
    • Businesses exchange all kinds of information over various infrastructures
      • A constraint mechanism is information-centric
      • A constraint mechanism is infrastructure agnostic
      • Constraint mechanisms can be defined for any format of information – XML, binary, etc
      • Constraint mechanisms for information keep coming
        • DTD, XML Schemas, RELAX, etc
  • A Constraint Mechanism Processing Model
    • How the constraint mechanisms are to be processed
      • Sequentially, any order, etc

BICS V2.0

some capabilities using bics
Some Capabilities using BICS
  • A Business can advertise that it supports a specific industry-level standard, but with additional constraints required for its business
    • Standard Schema X with these additional constraints in Schema Y
  • Many constraint mechanisms alone are insufficient for defining comprehensive constraints. An Industry consortium can use BICS to specify a comprehensive standard by using more than one constraint mechanism.
    • Schema X with XPath assertions Y
  • A Business can advertise that it will accept either of two types of information
    • Perhaps a .jpg or .gif
  • ………

BICS V2.0

relationship to previous specification
Relationship to Previous Specification
  • BI-ICS V1.0 – initial specification
    • IBM-only specification
    • Published on IBM DeveloperWorks 1/2004
    • Supporting IBM AlphaWorks toolkit released – BI-ICS4J
    • Presented and discussed at several industry-level consortiums with positive feedback
  • BICS 2.0
    • IBM-only specification
    • Renamed (Simplified to just “BICS”)
    • Complete replacement
    • Same fundamental functionality as BI-ICS 1.0
    • Simplified
    • Now in framework form
      • Separate specifications
        • Core framework
        • Specific constraint mechanisms

BICS V2.0

the bics 2 0 specifications
The BICS 2.0 Specifications
  • BICS 2.0 (the core framework)
    • Constraint Processing Model
    • Abstract Constraint Mechanism
  • W3C XML Schema Constraint Mechanism 1.0
  • Schematron Constraint Mechanism 1.0
  • MIME Constraint Mechanism 1.0
  • [other constraint mechanisms are possible]

BICS V2.0

bics use any mechanisms to state your constraints
BICS – Use Any Mechanisms to State Your Constraints

BICS provides declaring information constraints using pervasive mechanisms, or whatever emerges

XSD type system

BICS

MIME type system

Schematron

assertions

(Whatever mechanism)

BICS V2.0

bics 2 0 is simple

A BICS document contains an constraint processing model.

  • The constraint processing model contains one or more constraint mechanisms, and an indicator that specifies how to process the constraint mechanisms (sequentially, etc).
  • The constraint mechanism type in the core BICS framework is abstract, and is the primary extension point for defining concrete constraint mechanisms.
  • The processing of a constraint mechanism results in pass/fail, and the overall pass/fail processing of the BICS document is determined by how the constraint mechanisms are considered within the processing model.
BICS 2.0 is Simple

Constraint

Mechanism

Constraint Processing

Model

abstract

Concrete

Example: W3C XML Schema

BICS V2.0

defining a concrete constraint mechanism
Defining a Concrete Constraint Mechanism
  • A Constraint Mechanism can represent anything that can have an implementation for checking/constraining information
  • Expressed in W3C XML Schema
  • Build an XML Schema which provides a concrete extension of the BICS InformationConstraintMechanismType.
  • Add data specific to the constraint mechanism

<xs:complexType name="TreeDepthType">

<xs:complexContent>

<xs:extension base="bics:InformationConstraintMechanismType">

<xs:sequence>

<xs:element name="MaxDepth" type="xs:nonNegativeInteger" minOccurs="0"/>

BICS V2.0

using a concrete constraint mechanism in a bics instance document
Using a Concrete Constraint Mechanism in a BICS Instance Document
  • A BICS instance document is the Conformance Statement
  • Declare namespace for the concrete Constraint Mechanism
  • Specify an instance of mechanism type within the BICS processing model

<InformationConformanceStatement xmlns=“……“ xmlns:tdcm=“….“ xmlns:xsi=“…." xsi:schemaLocation=“….”>

<Name>….</Name>

<Description>……</Description>

<InformationConstraintProcessingModel modelType="sequence">

<InformationConstraint xsi:type="tdcm:TreeDepthType">

<Name>…..</Name>

<TypeName>Tree Depth Constraint Mechanism</TypeName>

<Description>….</Description>

<tdcm:MaxDepth>4</tdcm:MaxDepth><xs:complexType name="TreeDepthType">

BICS V2.0

constraint processing models
Constraint Processing Models
  • A BICS instance document contains an Information Constraint Processing Model
  • Contains 1 or more Information Constraints
  • Specifies a Model:
    • Sequential: all must be processed successfully, order matters
    • All: all must be processed successfully, order does not matter
    • Any: at least one must be processed successfully, order does not matter

<InformationConstraintProcessingModel modelType="sequence">

<InformationConstraint xsi:type=“………….">

...................

<InformationConstraint xsi:type=“………….">

...................

BICS V2.0

example 1
Example 1
  • Two Schemas processed sequentially
    • First schema owned by a standards organization
    • Second schema specifies additional constraints
  • Could be advertised as: “We support schema 1 from standards body X and have additional constraints”

BICS V2.0

example 117
Example 1….

<InformationConformanceStatement xmlns="http://ibm.com/xml/namespaces/businessinformationconformancestatement" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:w3ccm="http://ibm.com/xml/namespaces/w3cxmlschemainformationconstraint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ibm.com/xml/namespaces/businessinformationconformancestatement

./businessinformationconformancestatement.xsd http://ibm.com/xml/namespaces/w3cxmlschemainformationconstraint

./w3cmechanism.xsd">

<Description>This conformance statement defines two W3C XML Schema constraint mechanisms by referencing a URLs.</Description>

<InformationConstraintProcessingModel modelType="sequence">

<InformationConstraint xsi:type="w3ccm:W3CXMLSchemaInformationConstraintMechanismType">

<Name>Industry standard schema reference</Name>

<TypeName>W3C XML Schema</TypeName>

<Description>This constraint mechanism, a W3C XML Schema for member information, and is located at the URL below.</Description> <ProcessableConstraintURL>http://members.org/constraintmechanisms/w3cxmlschema/member.xsd</ProcessableConstraintURL>

</InformationConstraint>

<InformationConstraint xsi:type="w3ccm:W3CXMLSchemaInformationConstraintMechanismType">

<Name>Additional Constraints</Name>

<TypeName>W3C XML Schema</TypeName>

<Description>This constraint mechanism, a W3C XML Schema has increased constraint types for member information, and is located at the URL below.</Description>

<ProcessableConstraintURL>http://company.com/constraintmechanisms/w3cxmlschema/modified-member.xsd</ProcessableConstraintURL>

</InformationConstraint>

</InformationConstraintProcessingModel>

</InformationConformanceStatement>

BICS V2.0

example 2
Example 2
  • Two MIME types specified – information to be processed as an “any”
    • First MIME type is a . Jpg image type
    • Second MIME type is a .gif image type
  • Interpreted as: “Information is conformant if either a .jpg or .gif

BICS V2.0

example 219
Example 2….

<InformationConformanceStatement xmlns="http://ibm.com/xml/namespaces/businessinformationconformancestatement" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://ibm.com/xml/namespaces/mimeinformationconstraint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ibm.com/xml/namespaces/businessinformationconformancestatement

./businessinformationconformancestatement.xsd http://ibm.com/xml/namespaces/mimeinformationconstraint

./mimemechanism.xsd">

<InformationConstraintProcessingModel modelType="any">

<InformationConstraint xsi:type="mime:MIMEInformationConstraintMechanismType">

<Name>jpg image constraint</Name>

<TypeName>MIME Constraint Mechanism</TypeName>

<Description>This constraint, a MIME type, indicates jpg information.</Description>

<mime:MIMEType>image/.jpg</mime:MIMEType>

</InformationConstraint>

<InformationConstraint xsi:type="mime:MIMEInformationConstraintMechanismType">

<Name>gif image constraint</Name>

<TypeName>MIME Constraint Mechanism</TypeName>

<mime:MIMEType>image/.gif</mime:MIMEType>

</InformationConstraint>

</InformationConstraintProcessingModel>

</InformationConformanceStatement>

BICS V2.0

points and possibilities
Points and Possibilities
  • BICS essentially provides and indirection between information and what constraints mechanisms are needed for syntax/structural conformance
  • BICS does not address semantics, just syntax/structure
    • Interesting to explore BICS supporting semantics
  • In a B2B environment, performance could be a concern using BICS
    • Not every B2B environment
    • Keep in mind separation of what is declared in BICS from what form it could take at runtime
      • “BICS complier”
  • Interesting to explore BICS as an extension to J2EE deployment descriptors
  • Interesting to explore BICS as an Axis handler

BICS V2.0

xml business content a classic view of schema based constraint processing

Application checks additional syntax 

More syntax/structure checking (and semantic)

Application Must Also Check Syntax 

XML Business Content – A Classic View of Schema-Based Constraint Processing

Application

Schema Validation

(syntax/structure checking)

Parser

Content

Instance

XML Schema

BICS V2.0

xml business content bics based constraint processing

Applications do not check syntax or structure 

Conformance Engine

Conformance

Statement

1

2

Application

Schema

Validation

XSL Processor

Example: Two Constraint Mechanisms, Sequence Conformance Model

XML Business Content –BICS – Based Constraint Processing

Content

Instance

BICS V2.0

conceptual product deployment

Deployment

Descriptor

Business Service Logic

Conformance

Descriptor

  • App involvement style

Conformance

Statement

Container

Conformance

Engine

Application Server

  • Extend Deployment descriptor Ref Conformance Statement + “Application Involvement Style”
  • Conformance Engine function inside container
  • Container executes the engine prior to application handoff
Conceptual Product Deployment

BICS V2.0

slide24

Event Objects

Go / Cancel

  • Application receives Event Objects from Engine
    • Container’s Conformance Engine processes Conformance Statement
    • Application receives Event Objects
      • Think SAX Events
  • Application receives Go/Cancel from Container’s Engine
  • Other Involvement Styles – for DOM, DataBinding (JAXB, XMLBeans), etc

Event-Style Application Involvement

Business Service Logic

Container

Conformance

Engine

Application Server

BICS V2.0

bics value in an on demand world
BICS Value in an On Demand World
  • A business can declare/advertise precise and comprehensive B2B constraints
    • based on profiled industry-level content standards if needed
    • any format of data
  • A business can still advertise support for a industry standard
  • Elimination of structural conformance checking in application logic
    • Application server runtime can provide comprehensive payload checking
    • Process a Conformance Statement prior to application logic handoff
      • The function of the IBM AlphaWorks Conformance Engine
    • Simplifies the B2B application programming model

BICS V2.0

ibm s alphaworks proof of concept
IBM’s AlphaWorks Proof of Concept
  • Will be Updated to support for BICS 2.0
    • A ‘Conformance Engine’ that interprets the conformance statement and calls appropriate ‘Conformance Enforcer’ objects
    • A GUI ‘Manipulator’ for building/editing an BICS and checking conformance against a file of information
    • Oriented toward function not performance
    • Built on Java 1.5, Apache XML Beans, Xerces, Xalan
    • Plug-in framework for increasing constraint mechanisms
      • Made possible by BICS 2.0 XML Framework

BICS V2.0

conformance engine interface
Conformance Engine interface

//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

}

BICS V2.0

1 0 links
1.0 Links

Introduction Article from BI-ICS 1.0

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

BI-ICS 1.0 Spec

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

IBM AlphaWorks Java implementation for BI-ICS 1.0

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

BICS V2.0

a bics demo
A BICS Demo

BICS V2.0