CAMV rules validation engine for XML

Slides:



Advertisements
Similar presentations
1.
Advertisements

Visual Scripting of XML
NIEM and Content Policy briefing David Webber - Public Sector NIEM Team, April 2013 NIEM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
Future of NIEM Tools Delivery Public Sector NIEM Team, July 2012 Futureof NIEM Tools.
IEEE P1622 Meeting, Oct 2011 IEEE P1622 Meeting October 24-25, 2011 Guide to using OASIS EML v7.0 for UOCAVA Implementations David RR Webber Information.
1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.
Understanding the Landscape and Opportunities David Webber, Information Architect, Oracle Public Sector Briefing for Japan METI Team on NIEM, Open Data.
NIEM, CAM and the 7 “D’s” David Webber - Public Sector NIEM Team, November 2011 NIEM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
Semantics and Information Exchanges Overview – Public Sector NIEM Team, June 2011 CAM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
David Webber, NIEM Team, Oracle Public Sector NIEM Test Model Data Deploy Requirements Build Exchange Generate Dictionary Exchange Development Taking a.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2 Hidden Gems of APEX David Gale Software Engineer Oracle Application Express November,
NIEM Team, Oracle Public Sector Technology Introduction – September 2011 CAMV Test Model Data Deploy Requirements Build Exchange Generate Dictionary Exchange.
XML Exchange Development CAM Technology Tutorial – Public Sector NIEM Team, June 2011 CAM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
LEARN. NETWORK. DISCOVER. | #QADexplore Implementing Business Process Management: Steps to Success WCUG – November 18, 2014.
1 1 Roadmap to an IEPD What do developers need to do?
QAD Solutions for Configurable Products Frank Feustel, Director, Product Management, QAD Inc. Jim Smith, QAD Improvement Leader, R. W. Beckett Corporation.
Open Data API delivery “Open-XDX” David Webber, Information Architect, Oracle Public Sector Open Data Exchange.
NIEM Team, Oracle Public Sector Technology Introduction – September 2011 CAMV Test Model Data Deploy Requirements Build Exchange Generate Dictionary Exchange.
Open Data API delivery “Open-XDX” David Webber, Information Architect, Oracle Public Sector Open Data Exchange October, 2012.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
UNIT-V The MVC architecture and Struts Framework.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Application Express 4.1 New Features Hilary Farrell, Principal Member of Technical Staff, Oracle.
David Webber, NIEM Team, Oracle Public Sector NIEM Test Model Data Deploy Requirements Build Exchange Generate Dictionary Exchange Development Taking a.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Quick Tutorial – Part 1 Using Oracle BPM with Open Data Web Services David Webber.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Reporting from Contract.
James Cabral, David Webber, Farrukh Najmi, July 2012.
Oracle E-Business Suite Order Management: Presenting the HTML and Mobile User Experience Durgaprasad Bodapati Director, Product Management Bhavana Sharma.
Copyright OASIS, 2005 / 2007 CAM Technology Introduction David Webber Chair OASIS CAM TC Presentation February 9 th, 2007 Bethesda MD.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
NIEM, CAM and the 8 “D’s” David Webber - Public Sector NIEM Team, December 2011 NIEM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
NIEM Blue Team Presentation April 20, 2010 Phil Letowt, Mini Kanwal, Ken Sall, David Webber ICE OCIO / Task ASAS ICE Information Exchange Reuse with NIEM.
9/11 - Tens Years On Overview – Public Sector NIEM Team, October 2011 NIEM Test Model Data Deploy Requirements Build Exchange Generate Dictionary XML Exchange.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Quick Tutorial – Part 2 Open Data Web Services for Oracle BPM August, 2013 Forms.
David Webber, NIEM Team, Oracle Public Sector Rapid NIEM XML Exchange Design, Semantics and UML Models NIEM Test Model Data Deploy Requirements Build Exchange.
Release 11i Workshops Dallas, TX Raleigh, NC Denver, CO Atlanta, GA Detroit, MI Tim Sharpe Oracle E-Business Suite Release 11i Discoverer.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Contract Management.
1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector.
Public Sector NIEM Team, December 2011 NIEM Test Model Data Deploy Requirements Build Exchange Generate Dictionary XML Exchange Development National Information.
Document Validation for PEPPOL Philip Helger Austrian Federal Computing Centre February 11 th 2010 Version 1.0.
Development Process and Testing Tools for Content Standards OASIS Symposium: The Meaning of Interoperability May 9, 2006 Simon Frechette, NIST.
Using XML for Business and Life May 2006 David RR Webber Technology and Standards in Higher Education.
Oracle Data Integrator Procedures, Advanced Workflows.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit Really Cool Demo Stuff – 2015 Edition!!!!! For demo content, please.
1 1 CAM Toolkit for NIEM IEPD Development Phil Letowt – DHS/ICE David Webber – ICE Data Architect.
NIEM WHAT IS IT REALLY?. XML ORB: VIEWS & INSIGHTS David Webber XML savant blog: XMLOrb CAMeditor.org.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
1Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
RIA and Web2.0 Development with no Coding Juan Camilo Ruiz Senior Product Manager Development Tools.
Dictionary based interchanges for iSURF -An Interoperability Service Utility for Collaborative Supply Chain Planning across Multiple Domains David Webber.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
CEN/ISSS eBIF GTIB Project Meeting, Brussels Mar , 2009 CEN/ISSS eBIF GTIB Project Meeting, Brussels 1 CEN/ISSS eBIF Global eBusiness Interoperability.
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Silverstein Group Presenter Moshe Silverstein A Content Assembly Mechanism Technology Overview Context & Integration A Content Assembly Mechanism Technology.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
TECHVERZE Oracle BI Publisher Online Training. Introduction to Oracle BI Publisher Oracle BI Publisher is the reporting solution to deliver, author, and.
2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
Building Enterprise Applications Using Visual Studio®
My Oracle Support (The next generation Metalink experience) lynn
Database Driven Websites
JD Edwards Support and Oracle Cloud Infrastructure: A Successful Path to Oracle Cloud
Presentation transcript:

CAMV rules validation engine for XML Framework CAMV rules validation engine for XML David Webber, Information Architect, Oracle Public Sector

Disclaimer Notice The following is intended to outline Oracle general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Safe Harbor Statement 2

Agenda Concepts and Technology Rules Primer with XPath Advanced Rules Techniques Code table and SQL lookups Apache ANT test suite automation tool Test, Evaluation, And Measurement (TEAM) Summary and Resources

Concepts AND Technology Concepts and Overview Running CAMV interactively CAMV batch test suites Use Cases Concepts AND Technology

Conceptual Overview XML Validation Framework Design Test Deploy Data Delivery CAMV CAM Editor Application DB XML XML SQL / XML FMW CAMV Web RULES Device Browser Server Visual Editor SQL Browser Dictionaries Drag and Drop Generate Data Validate Data Send Data CAMV Web Services FMW / BPM 5

XML Validation Framework Benefits CAMV component designed to deliver flexible and context aware XML validation services Accelerates information sharing adoption and deployment (compatible with the NIEM approach) Supports extended communities and XML diversity Allows reference / conformance test suite development Uses XML configuration templates + code-less methods Integrates into Oracle Fusion Middleware foundation Uses OASIS Content Assembly Mechanism (CAM) open public standard for validation templates and rules

CAM Validation Components Structure Rules Code Lists SQL Query CAMV XML instance Template (compiled) Database Lookup (optional) Results XML Java Handler Errors and Warnings

CAMV Validation Engine Standalone XML validator using XPath rules Context aware and declarative rules approach External and local parameter definitions Integrated with CAM editor menus for interactive testing External code list and SQL table lookup support Configurable error levels – error, warning Java error results object returned Embedded validation results attributes in XML results Can use XSLT for post-validation result handling Callable via Spring framework or Java API

CAMV – Template Controlled Processing Information Exchange Application Services Control template contains information of the exchange structure design and rules of data handling and value ranges Input XML Template Agile Deploy Structure CAMV Rules Configuration Share PMIX data Load to State databases Perform data cleansing Endeca Information Discover Server Analyze results in Case Management Annotations Parameters Process Valid XML

Running Validation Rules Tests Fault tolerant validation engine allows testing of XML instances against actual exchange rules. Critical to ensure that the exchange validates actual live production example scenarios correctly Allows deployed solution to directly match documented exchange details (e.g. NIEM IEPD) – no coding delta Errors can be reviewed interactively in exchange visual interface Post-processing of validation results allows unit regression tests to be created with reporting of errors, warnings and information level notes

Application Template and XML Sample Editor Interactive Rule Validation Information Exchange Application Template and XML Sample CAM Editor 3 1 Content Rules Interactive Validation Step 1 – Load CAM template into editor Step 2 – Run CAMV template validation engine Review results interactively in structure viewer Refine / adjust rules, re-validate, compare Validation Results 2

CAM Editor / CAMV Environment XML Test Instance Reports XSLT XML Validation Result CAM Editor CAMV CAM template CAM Editor

Reviewing Validation Results HTML Results of XSLT error script applied to sample validation output

Quick guide and jump start kit available for ANT processing CAMV Batch Run Example Quick guide and jump start kit available for ANT processing

XPath Rules Techniques Quick Syntax Primer Controlling Scope, Context, Evaluation Dynamic Structure Components CAM Editor Rule Wizards XPath Rules Techniques

CAMV uses the XPath v2.0 Java library XPath Syntax Primer XPath is a simple assertion language where expressions reference components hierarchically within an XML instance structure – e.g. /animals/canines/domestic/dogs/poodle[1] /animals/canines/domestic/* /animals/canines/domestic/ancestor::breed/@type CAMV uses the XPath v2.0 Java library In CAM templates XPath is used to express usage rules and content details of the XML structure and its components (e.g. optional, repeatable, date, number, Boolean, decimal and so on)

XPath Functions XPath Function sampler logical concat(string,string,…) substring(string,start,len) string-length(string) normalize-space(string) upper-case(string) contains(string1,string2) Yes starts-with(string1,string2) not(arg) or(arg) and(arg) exists(item,item,...) count((item,item,...)) /bookstore/book[price>35]/title

CAM XPath Extensions (most used) Structure Functions Content Functions makeOptional(xpath…) setNumberMask(xpath,arg) makeRepeatable(xpath…) setStringMask(xpath,arg) makeMandatory(xpath…) restrictValues(xpath,args) excludeTree(xpath…) setDateMask(xpath,arg) makeNillable(xpath…) datatype(xpath,arg) setChoice(xpath…) setLength(xpath,arg) setLimit(xpath…) lookup(xpath,args) setValue(xpath,arg) printMessage(xpath,arg) setNumberRange(xpath,args) setDefault (xpath,arg)

CAM templates and XPath expressions Within a CAM template XPath expressions are found in the <as:BusinessUseContext> section of the template.

Default Structure Handling By default all structure components are required and string content Content Masks Structure control

Controlling Scope and Context Condition controls if and when the content rule action applies Condition can control structure as well; optional, mandatory, exclude Condition can reference different component(s) for contextual rule actions

Expressing Business Rules Examples Business Rule: Items with color attributes don't need a tray number—the color is sufficient for picking the item: <as:constraint condition="exists(//Item/@color)" action="makeOptional(//Item/TrayNumber)" /> Business Rule: If order weight exceeds 25 kg, purchase order must specify a freight carrier: <as:constraint condition="//Item/@weight > 25" action="makeMandatory(//Item/FreightHandler)"> Using XPath axis referencing (when things are not adjacent in hierarchy): <as:constraint condition="exists(ancestor::Item/@color)" action="makeOptional(//Item/TrayNumber)" /> * Excerpted from Michael Sorens DEVX CAM article examples -http://www.devx.com/xml/Article/41150

Example Cross Component Rules Business Rule: Providing warning if PurgeDate is earlier than PurgeReviewDate <as:constraint condition="//sbl:PrivacyDetails/sbl:PrivacyPurgeDate < //sbl:PrivacyDetails/sbl:PrivacyPurgeReviewDate" action="printMessage(//sbl:PrivacyDetails/sbl:PrivacyPurgeReviewDate,Warning: Review date not before purge date)"> <as:annotation/> </as:constraint> Business Rule: Location must contain an address or a highway or coordinate set <as:constraint condition="not(./nc:LocationAddress) and(not(./nc:LocationHighway)) and(not(./nc:LocationTwoDimensionalGeographicCoordinate))" action="printMessage(//j:TargetLocation/sbl:Location,Missing Location information)"> <as:annotation> <as:documentation type="documentation">Example of advanced rule</as:documentation> </as:annotation> </as:constraint>

CAM Editor rule XPath entry wizard 1 restrictValues() XPath reference 2 Allowed values

CAM Editor New Rule XPath entry wizard XPath rule scope check boxes Allowed values entry

Code lists and sql lookup Introduction to CAM code lists Advantages Tools and Hints Code lists and sql lookup

Can replace use of restrictValues() static lists Code lists CAM lookup() function allows referencing to external XML lists of values Can replace use of restrictValues() static lists CAM lookup() function can reference SQL table for dynamic value checking Where to get code lists? Import XSD enumeration schema into CAM lookup lists Convert UBL Genericode into CAM lookup lists Dump from database into lookup list XML format (cool use for SQL to XML feature of CAM database designer)

CAM Code list XML format Code list name Code value Textual value

Load lookup list XML into CAM editor Code lists examples Load lookup list XML into CAM editor Assign lookup() rule to XML component For SQL lookups – need to define connectivity to database and the SQL query to perform (example SQL lookup available from http://www.cameditor.org)

Combining Rules and Code lists Real power of code lists and CAM – ability to select code list values based on XPath rule criteria to handle different partner configurations, versioning and cross-table validations e.g. Ford / Mustang | Chevy / Corvette Message version id = 1.6 – use code list XYZ-1-6

Lookups can be to external XML file instances Code Lists Summary Lookups can be to external XML file instances Simple XML format for optimized performance and readability Dynamic runtime control via XPath rules to select lists to be applied Lookup can reference SQL statement for database content checking e.g. part numbers, customer id, order number

CAMV Summary CAMV Java Validation Engine (OneJar) Java API and Spring API support Integration with JAX-WS Templates provide flexible rule validation Codelists and SQL lookups ANT batch test suites CAMV Summary

CAM Project Resource Site SNAPSHOT OF PROJECT ACTIVITIES 50,000 CAMeditor.org page visits in one year 130+ countries have downloaded tools; 30% of visitors are from U.S. 450+ downloads weekly 20,000 yearly downloads 1,000 Macintosh 1,000 Linux 100 student views of online video training resources weekly 6 languages now available www.cameditor.org ‹#›