230 likes | 375 Views
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 –
E N D
BI-ICSBusiness Integration - Information Conformance StatementsAnd the evolution toward raising the “vertical.org” standards barScott Hinkelman, Senior Software EngineerSoftware Group / Emerging Technologiessrh@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 WSRP BPEL4WS WS-Notification WS-Service Group Quality of Experience (QoX) WS-Reliable Messaging WS-Transaction WS-Security WS-Resource Lifetime Description/ Discovery UDDI WS-Base Faults WS-Resource Properties WS-Metadata Exchange WS-Policy WSDL Messaging WS-Renewable References WS-Addressing SOAP Transports JMS RMI / IIOP SMTP HTTP/HTTPS
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
Industry-specific Content Industry-specific Content Evolution Target Space Business Common Industry Content Vertical-specific Content [TARGET] BI-ICS Service Composition WSRP BPEL4WS WS-Notification WS-Service Group Quality of Experience (QoX) WS-Reliable Messaging WS-Transaction WS-Security WS-Resource Lifetime Infrastructure Description/ Discovery UDDI WS-Resource Properties WS-Base Faults WS-Policy WSDL WS-Metadata Exchange Messaging WS-Addressing SOAP WS-Renewable References Transports JMS RMI / IIOP HTTP/HTTPS SMTP
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 BI-ICS Business Interoperability Business Usage Discipline Business Contracts Business Payload Composition
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 BI-ICS provides declaring information constraints using pervasive mechanisms or whatever emerges XSD type system BI-ICS MIME type system Schematron assertions (Whatever mechanism)
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”
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”
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”
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
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
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
//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 } Conformance Engine
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?
Links 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