niem team, oracle public sector technology introduction – september 2011 camv test model data...
TRANSCRIPT
<Insert Picture Here>
NIEM Team, Oracle Public Sector
Technology Introduction – September 2011
CAMVTest Model Data
Deploy Requirements
Build Exchange
GenerateDictionary
Exchange Development
XML Validationfor NIEM An Executive Briefing
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
The following is not 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.
Disclaimer Notice
Slide 2
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
XML Validation Introduction
• A key need in working with XML information exchanges, is
developing examples and matching templates including rules,
context, and roles for correctly managing information exchange
content between partners. The W3C Schema by themselves are
not sufficient.
• Open sharable test suites are essential part of production quality
exchange development – proven to save implementers time and
resources
• A flexible XML Validation Framework is essential – in live
production system the unexpected is the norm. Having a
dynamic rule-based approach allows rapid tailoring that smoothly
keeps applications operational.
• Documentation that allows verification by business analysts can
ensure the production system matches policy needs.Slide 3
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAMVEngine
Exchange Delivery Lifecycle
Monitor
Deploy
Design
Author
Test
Component Dictionary
CAM
Template
Compiled
XML Exchange
Templates
XSD Schema
XML Samples
XMI / UML Models
Production
Log Results
Template
Updates
Documentation
Drag and Drop Visual Editor
CAM Editor
XML Exchange Validation
XML Exchange
Design
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
XML Validation Framework
CAMVXML
exchange instance
Template (compiled)
Database Lookup
(optional)
Results XML
Java Handler Errors and Warnings
Structure
Rules
Code Lists
SQL Query
Slide 5
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAMV - The Best XML Validation Available• Cross-field validation rules• Dynamic structure components• Error and warning level reporting• XPath V2.0 rules for extended business logic• Extensible rule templates with schema-aware validations• Clear business documentation for policy analyst verification• Code lists and SQL table lookups with conditional rules• Open source with open platform deployment• Public open standards based from W3C and OASIS• High performance thread safe execution engine• Dynamic template driven deployment framework• Spring API compatible for middleware integration• Ant scripting for test suite implementations• Flexible result rendering, routing and reporting
Slide 6
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
What is new in CAM toolkit release V2.1?
• SQL table lookups and visual configuration wizard
• Improved code lists handling visual wizards
• Enhanced Ant scripting for easier test suite development
• CAMV enhancements
• Spring API enabled for middleware integration
• Improved engine validation performance
• Better memory management
• Validation results reporting cleaner and more consistent
Slide 7
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Key Points for NIEM implementers
• Accelerate IEPD partner implementation with test suites
• Go directly from IEPD to deployment for XML validation
• SQL table lookups integrate directly into validation
• Improve your code lists handling and sharing
• Open standards and open source based solution enables
community shared resources
• Cross-platform deployment
• Directly supports NIEM Exchange Delivery Lifecycle
Slide 8
<Insert Picture Here>
Summary
ReviewNext StepsFuture enhancementsResources and Links
CAMVTest Model Data
Deploy Requirements
Build Exchange
GenerateDictionary
Exchange Development
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Value Proposition
• Testing and verification of your exchange XML examples
• SQL database lookups and flexible code lists handling
• Extended business rule checking
• Flexible validation outcomes with warnings not just errors
• Regression testing with batch processing scripts
• Flexible deployment of XML validation framework
• Integration via Spring API to middleware
• Easily sharable with your implementation partners
• The best available XML exchange validation tools
Slide 10
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
What are we working on?
• Improvements• “CAM for web services” – extending from exchange-centric• Enhancing ANT capabilities with soapUI integration
• New features• Exchange dictionary management enhancements• Evaluation tools for dictionaries and components• Enhancing XML example generation with synthetic data
Slide 11
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Links and References
MAIN SITE - http://cameditor.org
NIEM MATERIALS -Oracle NIEM website
http://www.oracle.com/goto/niem Oracle XMLOrb blog site
http://blogs.oracle.com/xmlorb
Slide 12
<Insert Picture Here>
XML Validation Framework
Approach, Architecture and Deployment
CAMVTest Model Data
Deploy Requirements
Build Exchange
GenerateDictionary
Exchange Development
Part 2 – Technology Overview
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Standard Pattern for Business Rules
• Claim – An English statement of a business rule that conveys its meaning.
Example: A Chapter MUST have a Title.• Test – A formal statement of a business rule
that can be parsed and processed by machine.Example: <Assert test="count(para) >=1">
• Diagnostic – An English statement that identifies and explains what happened or was found when a Test fails.
Example: Chapter "X" does not have a Title.• Outcome – Error, Warning, Pass
Slide 14
CAM rules template approach fully supports these criteria
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAM - 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
Slide 15
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAMV Engine
CAMV Java (OneJar)
JDOM XML
JDBC Spring
XPath
API Error Handler
Slide 16
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAMV Validation Engine
• Standalone XML validator using XPath rules
• Context aware and declarative rules approach
• Integrated with CAM editor menus for instant testing
• External code list and SQL table lookup support
• Callable via Spring framework or Java API; thread safe
and server container deployable
• Configurable error levels – error, warning• Java error results object returned• Embedded validation results attributes in XML results
Slide 17
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAM Editor / CAMV Environment
CAM Editor CAMV
CAM Editor
XSLT Reports
CAM template
Single XML Test Instance
XML Validation Result
Slide 18
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAMV Spring Framework
Middleware
CAMV
Post-Validation Actions
CAM template(s)
XML ExchangeDelivery stream
XML Validation Result Memory
Object
Slide 19
Thread safe container based deployment architecture
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAMV / ANT Script Environment
XML TestInstances
ANT
CAMV XML ValidationResults
XSLT
Reports
CAM template(s)
CAMV Control Script XML
22
11
Slide 20
<Insert Picture Here>
Technology Snap Shot
Example CAM templates Running CAMV validationsResults handling techniquesSummary
CAMVTest Model Data
Deploy Requirements
Build Exchange
GenerateDictionary
Exchange Development
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Available Test Suite Examples
• Two test example templates and XML instances:• Baseline SAR with just structure and content usage rules,
schema parlance “cardinality, facets and enumerations”• Baseline SAR advanced – logical business rules added to
check consistency of information and structure components
• Each test set contains examples that pass and those that fail depending on the template validation applied
* SAR – Suspicious Activity Report NIEM exchange
Experimental SAR Examples
OASIS EML V7 – UOCAVA Testing• Set of test examples for Election Management:
• Both individual test cases and folder based multiple examples• Each test uses different template and validation scenario
* EML – Election Markup Language Standard
Slide 22
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Experimental SAR Overview
* SAR – Suspicious Activity Report
Areas of Interest:
- Drugs
- Fraud
- Gangs
- Internet
- Pornography
- Prostitution
- Property
- Community
- Weapons/Chemicals
- Prescriptions
- Travel/Immigration
- Terrorism
Slide 23
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Visual Template Rules Wizard Tools
Slide 24
<Insert Picture Here>
Running CAMV Validation
Illustrative examples – pass, fail, warningsDefault structure handlingData type and Content checkingCross-field validation rulesSQL database lookup
CAMVTest Model Data
Deploy Requirements
Build Exchange
GenerateDictionary
Exchange Development
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Example Advanced Rules
<as:constraintcondition="//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: Providing warning if PurgeDate is earlier than PurgeReviewDate
<as:constraintcondition="not(./nc:LocationAddress) and(not(./nc:LocationHighway)) and(not(./nc:LocationTwoDimensionalGeographicCoordinate))"action="printMessage(//j:TargetLocation/sbl:Location,Empty Location information)"><as:annotation><as:documentation type="documentation">Example of advanced rule</as:documentation></as:annotation></as:constraint>
Business Rule: Location must contain an address or a highway or coordinate set
Slide 26
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Running CAMV details
Batch Command Line Execution Window Viewing Same Template in Visual Editor
From within the Test Suite folder on the command line execute > Ant runALL
Slide 27
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Sample SAR Validation Results HTML
Slide 28
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Sample SQLDB Test Run
• Start the database instance
• From within the Test Suite folder on the command line execute > Ant runALL
Slide 29
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
DB lookup test results rendered as HTML
SQL DB lookup result
Slide 30
<Insert Picture Here>
CAM Editor Visual Tools
SQL lookup entry wizardRun CAMV validation wizardVisual entry of SQL connection detailsVisual review of validation results
CAMVTest Model Data
Deploy Requirements
Build Exchange
GenerateDictionary
Exchange Development
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAM template SQL lookup rule definition
This is the myLists.cam example template
Slide 32
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAM template SQL lookup rule wizard
Slide 33
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Test from CAM Editor validation Run Wizard
jdbc:derby://localhost:1527/firstdb
11
22
33
44
Pick test case XML file
Choose JDBC driver
Confirm driver name
Replace default connection with actual JDBC string
NOTE: this is the same information as contained in the dbProp.props file
Slide 34
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Sample Visual Test Results
SQL lookup result displayed
Slide 35
<Insert Picture Here>
Summary
ReviewResources and Links
CAMVTest Model Data
Deploy Requirements
Build Exchange
GenerateDictionary
Exchange Development
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
CAMV Summary
• Open source, open public standards based, cross-platform deployment written using Java
• Uses Java APIs, Spring API, JDOM, etc.• Validation features:
• XPath V2.0 support• Looks ups• 20 built-in functions
• Reporting• Embedded CAMERROR, CAMWARN tags• Spring API and results set handler• Optional sysout test result log
Slide 37
Copyright ©2011, Oracle. All rights reserved. Oracle Draft Materials – Limited Circulation
Links and References
DOWNLOADS - http://cameditor.org/ #CAMV_Testing
NIEM MATERIALS -Oracle NIEM website
http://www.oracle.com/goto/niem Oracle XMLOrb blog site
http://blogs.oracle.com/xmlorb
Slide 38