IBM researchers have published a BI-ICS specification which supports a formal declaration of business information conformance through an extensible XML vocabulary. The developers believe that standardization of the BI-ICS specification would help increase business interoperability and define a foundation for future related specifications. BI-ICS "provides the ability to declare that business information is conformant with type systems and processes. It intrinsically supports the declaration of a sequential conformance model with specific W3C XML Schema instances, MIME types, and XSLT transforms based on Schematron assertions. BI-ICS is extensible for extended support of alternate type systems, process mechanisms, and conformance models."
The BI-ICS document does not specify actual usage contexts, but "many uses are possible for many types of information. Formally stating information conformance using ICS also allows for trading partners to advertise the information constraint requirements needed for conducting electronic business, by embedding an BI-ICS into partner agreements, registries, web site publishing, etc. A BI-ICS formalism may also be utilized within interaction middleware runtimes to check information conformance prior to application dispatch, or exchanged at runtime to express the information constraints for conducting electronic business with a specific partner.
A corresponding tool "Business Integration - Information Conformance Statements for Java (BI-ICS4J)" is available from IBM alphaWorks. BI-ICS4J contains a conformance engine supporting W3C XML Schema and Schematron assertions. A conformance statement may be created by hand or by a tool such as the visual ICSManipulator in BI-ICS4J; the statement specifies a set of 'conformances' and a location URL of each conformance resource mechanism. "Typically, a conformance statement may declare a model of increased constraints, starting with industry-level schema such as a purchase order, and specify additional constraints required by a specific business. The conformance statement is processed by BI-ICS4J against an instance of business information in order to check conformance, and a yes/no result is yielded."
Overview: Motivation for BI-ICS
"Industry trends within the XML-oriented business space indicate that regardless of the advancements in technology that XML brings, challenges in business information modeling that have existed for decades continue. A predominant problem area is centered on the real-world need to accommodate different levels of conformance for such information. The BI-ICS specification addresses the need for business partners to declare information conformance to well-known type systems and processes in order to facilitate different constraints that vary depending on how the information is used..."
"Several current trends in industry-level standards groups are relevant to the vertical, or business-level perspective. In fact, some continuing trends are not new, reflecting difficult problems which have been in existence since EDI standards emerged. One specific trend is that of "loosely-defined" industry XML standards, where the cardinality structure of the formal adherence mechanisms, such as DTD or W3C XML Schema, is minimally defined. This is common practice in industry-level standards consortiums such as The Open Travel Alliance (OTA), HR-XML, MedBiquitous, and many others... This can result in XML document specifications in which many business structures are formally specified as being optional. The business reasoning for this is almost always justified, as the different participating business partners currently have, and will continue to have, different information requirements. This is especially true with standards that are oriented toward message interchanges; however, the end result is usually significantly diminished interoperability expectations at the business level when such standards are used alone..."
To further aggravate this situation, many industry-level standards organizations define business documents independent of defining specific uses for the information -- again for justified business reasons. Defining business information documents outside of a usage context may in itself be a logical approach when considering delegation of the actual usage onto underlying infrastructure. In this case, the approach becomes consistent with infrastructures such as Web services, where the actual usage of the information is in practice represented as WSDL (see Resources) operation names. This usually results in multiple usages for a common business schema. For example, a single schema containing member information for an organization, including member identifiers, may be used for both creating and retrieving information about a member -- with significantly different information required for each operation. The schema would define large amounts of information. Such information may not only be optional, but may not even be relevant for a particular use of it, such as in the retrieve operation where only the member identifier would be required..."
"These situations, while justified in practice, emphasize the need for alternate, or additional, information constraints for a given use of common information schemas. The ability to formally specify, or make a statement about, increased information constraints beyond open industry standards at a partner-to-partner level is both pragmatic and a desirable aspect of business integration, and can increase interoperability at the business information level..."
"As an alternative, some industry groups take responsibility to define usage contexts (sometimes called verbs) along with the relevant (potentially all) business information (sometimes called nouns) in order to facilitate an increase in interoperability. The Open Application Group (OAGIS) is an advanced organization that takes the approach of using an architected payload schema design. It supports a multistage validation mechanism based in Schematron assertions to accommodate increased information constraints. However useful or advanced this approach is, it is not yet enough to declare, or make a statement about, what partners need to insure a high degree of business-level interoperability. The OAGIS approach is arguably the most advanced in the industry, but it does not define a formal mechanism that allows for the declaration of comprehensive information conformance. The BI-ICS specification provides this ability..." [adapted from the IBM developerWorks article]
From the BI-ICS4J Summary
BI-ICS4J is an XML vocabulary and Java implementation for declaring comprehensive business information conformance. It provides Java support for the Business Integration - Information Conformance Statement (BI-ICS) XML specifcation, which defines an XML vocabulary for declaring a model of comprehensive constraints on information.
A conformance statement declares type systems and/or processes, such as W3C XML Schema, MIME, Schematron assertions, etc., for specifying the total constraint model required for information to be considered valid. Formally specifying the complete model for information constraints increases business-level interoperability during business-to-business (B2B) interactions. BI-ICS4J provides visual tools for statement manipulation and run-time support for checking conformance in support of the BI-ICS specification.
A BI-ICS document instance may be defined by hand or by a tool such as the visual ICSManipulator in BI-ICS4J. The conformance statement specifies a set of "conformances" and a location URL of each conformance resource mechanism. The conformance statement is then processed against an instance of business information in order to check conformance, and a yes/no result is yielded.
BI-ICS4J contains a "conformance engine" supporting W3C XML Schema and Schematron assertions. Typically, a conformance statement may declare a model of increased constraints, starting with industry-level schema such as a purchase order, and specify additional constraints required by a specific business. Conformance statements may then be advertised, published, agreed upon, etc.
Principal references:
- "Business Integration -- Information Conformance Statements (BI-ICS). An XML Specification for Declaring Business Information Conformance." By Scott Hinkelman (Senior Software Engineer, IBM). From IBM developerWorks. January 19, 2004. Article also in PDF format.
- Specification. Business Integration - Information Conformance Statements (BI-ICS). Version 1.0. January, 2004. By Scott Hinkelman (IBM). [cache]
- "BI-ICS (Business Integration - Information Conformance Statements) and the Evolution Toward Raising the 'vertical.org' Standards Bar." By Scott Hinkelman (Senior Software Engineer, IBM Software Group / Emerging Technologies). Presented Wednesday, March 17, 2004 to the XML Working Group. See also the .PPT format.
- BI-ICS4J from IBM alphaWorks
- BI-ICS4J requirements. Java tools required by the implementation include Sun J2 SDK 1.4.2.01 and Sun JWSDP 1.3. BI-ICS4J also requires Apache Xalan 2.5.1 and Xerces 2.4.0.
- Contact: Scott Hinkelman (Senior Software Engineer, IBM Software Group)
- The Schematron
- "Schematron: XML Structure Validation Language Using Patterns in Trees" - Local references.