NIEM 100 NIEM Executive Briefing TRAINING. NIEM 100 NIEM 100: NIEM General Overview WHY NIEM? 2.
1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters:...
-
Upload
kenya-mounsey -
Category
Documents
-
view
218 -
download
0
Transcript of 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters:...
![Page 1: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/1.jpg)
1 Twitter #NIEMNTE3
Automating Test and ValidationServices
for NIEM ExchangesWorkshop
Presenters:David RR WebberInformation ArchitectOracle Public Sector
Patrick FendtPrincipal TechnologistOracle Public Sector
![Page 2: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/2.jpg)
2 Twitter #NIEMNTE3
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.
![Page 3: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/3.jpg)
3 Twitter #NIEMNTE3
Introduction• A key need in working with NIEM IEPDs, 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.
• Learn how to use open source tooling, XPath rules, and the OASIS CAM templates standard to create automated testing tools.
• The automated validation engine can also be used in production environments to manage live information exchanges.
• Attendees will receive copies of the latest validation engine tools and examples for use in the workshop
![Page 4: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/4.jpg)
4 Twitter #NIEMNTE3
Agenda• Part 1
– The XML Validation Framework– XPath Rules Techniques– Code lists and SQL lookups– Rules use cases
• Part 2– Example CAM templates – CAMV validation demonstration– Results handling techniques– Summary
• Q & A
![Page 5: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/5.jpg)
5 Twitter #NIEMNTE3
XML Validation Framework
Architecture and Deployment
![Page 6: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/6.jpg)
6 Twitter #NIEMNTE3
XML Validation Framework
CAMVXML instance
Template (compiled)
Database Lookup
(optional)
Results XML
Java Handler Errors and Warnings
Structure
Rules
Code Lists
SQL Query
![Page 7: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/7.jpg)
7 Twitter #NIEMNTE3
CAMV Engine
CAMV Java (OneJar)
JDOM XML
JDBC Spring
XPath
API Error Handler
![Page 8: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/8.jpg)
8 Twitter #NIEMNTE3
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• Configurable error levels – error, warning– Java error results object returned– Embedded validation results attributes in XML results
![Page 9: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/9.jpg)
9 Twitter #NIEMNTE3
CAM Editor / CAMV Environment
CAM Editor CAMV
CAM Editor
XSLT Reports
CAM template
XML Test Instance
XML Validation Result
![Page 10: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/10.jpg)
10 Twitter #NIEMNTE3
XML TestInstances
CAMV / ANT Script Environment
ANT
CAMV XML ValidationResults
XSLT
Reports
CAM template
CAMV Control Script XML
22
11
![Page 11: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/11.jpg)
11 Twitter #NIEMNTE3
CAMV Test Control Script XML<camvTestSuite>
<testCase><Example-Test-v19-3>
<cxxfile>Test-Template-v19.cxx</cxxfile><xmlfile>Test-Instance-v19-3.xml</xmlfile><output>Test-Results-v19-3-out.xml</output><debug>true</debug><inlineErrors>true</inlineErrors><parameters>
<abc>Param1</abc><cde>Param2</cde>
</parameters></Example-Test-v19-3>
</testCase></camvTestSuite>
Validation Template
Test XML instance
Results output
Test case name
![Page 12: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/12.jpg)
12 Twitter #NIEMNTE3
Linux GTK ANT Configuration• Linux distributions (e.g. Ubuntu) has ANT pre-installed
in /usr/share/ant/lib• Download Ant-contrib from – http://ant-contrib.sourceforge.net/
• Copy ant-contrib jar file to /lib directory inside ANT installation
![Page 13: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/13.jpg)
13 Twitter #NIEMNTE3
Mac OS ANT Configuration• Mac OS X 1.7+ “Lion” comes pre-installed - use
command : ant –version and it will self-configure• Mac OS X 1.6 and earlier – need to install “Xcode”
development software first• Download Ant-contrib from – http://ant-contrib.sourceforge.net/
• Copy ant-contrib jar file to /lib directory inside ANT installation
![Page 14: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/14.jpg)
14 Twitter #NIEMNTE3
ANT – Windows configuration• Download ANT from – http://ant.apache.org
• Download Ant-contrib from – http://ant-contrib.sourceforge.net/
• Copy ant-contrib jar file to /lib directory inside ANT installation
• Set the ANT_HOME environment variable to the directory where you installed ANT
• Add %ANT_HOME%/bin folder to executable path
![Page 15: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/15.jpg)
15 Twitter #NIEMNTE3
Windows System Path Settings
22
11
33
![Page 16: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/16.jpg)
16 Twitter #NIEMNTE3
Running CAMV with ANT• Go to CAMV location on Sourceforge– http://www.cameditor.org/#CAMV_Testing
• Download CAMV release JAR and Test example ZIP• Unpack test example from ZIP and put CAMV jar into
folder• Go to the command line (run cmd)– Switch to folder where CAMV test suite is located– ANT –f camv-test.xml runAll– Output is in folder called camvTest\results
![Page 17: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/17.jpg)
17 Twitter #NIEMNTE3
Reviewing Validation Results HTML
![Page 18: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/18.jpg)
18 Twitter #NIEMNTE3
XPath Rules Techniques
Quick Syntax PrimerControlling Scope, Context, Evaluation
Dynamic Structure ComponentsUseful XPath Resources
![Page 19: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/19.jpg)
19 Twitter #NIEMNTE3
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/*
• CAMV uses the XPath v2.0 Java library• In CAM templates XPath is used extensively to provide
rules and content details for XML structure components
![Page 20: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/20.jpg)
20 Twitter #NIEMNTE3
XPath FunctionsXPath 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) Yes
not(arg) Yes
exists(item,item,...) Yes
count((item,item,...))
/bookstore/book[price>35]/title
![Page 21: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/21.jpg)
21 Twitter #NIEMNTE3
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)
![Page 22: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/22.jpg)
22 Twitter #NIEMNTE3
CAM templates and XPath expressions• Within a CAM template XPath expressions are found in
the <as:BusinessUseContext> section of the template.
![Page 23: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/23.jpg)
23 Twitter #NIEMNTE3
Rules Use Cases
Typical Business NeedsQuick Examples
![Page 24: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/24.jpg)
24 Twitter #NIEMNTE3
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
![Page 25: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/25.jpg)
25 Twitter #NIEMNTE3
Some more examplesBusiness 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
![Page 26: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/26.jpg)
26 Twitter #NIEMNTE3
Useful XPath Resources• Michael Sorens article on using CAM from DEVX.com– http://www.devx.com/xml/Article/41150
• Martin Roberts – tutorial on writing CAM rules– http://merryflame.co.uk/jcam/site/tutorials/CAMTemplateBasics.htm
• XPath tutorial resources– Search on XPath tutorial– Books available
• Tools – XPath expression constructors
![Page 27: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/27.jpg)
27 Twitter #NIEMNTE3
Code Lists and SQL Lookups
Introduction to CAM code listsAdvantages
Tools and Hints
![Page 28: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/28.jpg)
28 Twitter #NIEMNTE3
Code lists• CAM lookup() function allows referencing to external
XML lists of values• Can replace use of restrictValues() static lists• Coming soon - 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
![Page 29: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/29.jpg)
29 Twitter #NIEMNTE3
CAM Code list XML format
Textual valueCode value
Code list name
![Page 30: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/30.jpg)
30 Twitter #NIEMNTE3
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
![Page 31: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/31.jpg)
31 Twitter #NIEMNTE3
Code lists examples• Load lookup list XML into CAM editor• Assign lookup() rule to XML component
• Coming soon - for SQL lookups – need to define connectivity to database and the SQL query to perform
![Page 32: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/32.jpg)
32 Twitter #NIEMNTE3
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
![Page 33: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/33.jpg)
33 Twitter #NIEMNTE3
Part 2– Example CAM templates – CAMV validation demonstration– Results handling techniques– Summary
![Page 34: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/34.jpg)
34 Twitter #NIEMNTE3
Example CAM Templates
Examples ReviewedQuick walk through of important details
![Page 35: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/35.jpg)
35 Twitter #NIEMNTE3
Experimental SAR 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
![Page 36: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/36.jpg)
36 Twitter #NIEMNTE3
CAM Templates Overview• Consists of 4 functional sections:
•Header declares properties and parameters for the CAM process to reference
•AssemblyStructure captures the business information exchange structures
•BusinessUseContext provides the rules to apply during validation
•Extension points to the annotations and external lookup tables
![Page 37: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/37.jpg)
37 Twitter #NIEMNTE3
Experimental SAR Overview
* SAR – Suspicious Activity Report
Areas of Interest:-Drugs-Fraud-Gangs-Internet-Pornography-Property-Community-Weapons/Chemicals-Prescriptions-Travel/Immigration-Terrorism
![Page 38: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/38.jpg)
38 Twitter #NIEMNTE3
CAMV Validation Demonstration
Illustrative examples – pass, fail, warningsDefault structure handling
Data type and Content checkingCross-field validation rules
![Page 39: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/39.jpg)
39 Twitter #NIEMNTE3
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
![Page 40: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/40.jpg)
40 Twitter #NIEMNTE3
Default Structure HandlingBy default all structure components are required and string content
Content Masks
Structure control
![Page 41: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/41.jpg)
41 Twitter #NIEMNTE3
Demonstration
![Page 42: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/42.jpg)
42 Twitter #NIEMNTE3
ANT script configuration
Directory
Control file
![Page 43: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/43.jpg)
43 Twitter #NIEMNTE3
Results Handling Techniques
XSLT script post-processingXML Diff considerations
Regression Testing with CAMVMiddleware Integration
![Page 44: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/44.jpg)
44 Twitter #NIEMNTE3
Default XSLT rendering of results
HTML output
Finds CAM validation results attributes
Formats and outputs error details
![Page 45: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/45.jpg)
45 Twitter #NIEMNTE3
Post-Processing Tips and Tricks• XSLT post-processing not only for HTML reporting– Create response error messaging directly from CAMV
output– Create receipt notification directly from CAMV output
• Can use simple DIFF to compare generic HTML report output to detect regression test changes
• Rule based checking better than strict result content testing
• Java API and Spring supports direct integration of CAMV
![Page 46: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/46.jpg)
46 Twitter #NIEMNTE3
Summary
ReviewNext Steps
Future enhancementsResources and Links
![Page 47: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/47.jpg)
47 Twitter #NIEMNTE3
Review and Value Proposition• Testing and verification of NIEM exchange XML
examples• SQL database lookups and flexible code lists handling• Business rule checking• Post-processing options and reporting with XSLT scripts• Regression testing with batch processing• Flexible deployment of XML validation framework• Integration via Spring API to middleware
![Page 48: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/48.jpg)
48 Twitter #NIEMNTE3
What are we working on?• Improvements– “CAM for web services” – currently exchange-centric– Enhancing ANT capabilities and soapUI integration
• New features– Dictionary integration with Domain Update Tool– Evaluation tools for dictionaries and components– Enhancing XML example generation with synthetic data
![Page 49: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/49.jpg)
49 Twitter #NIEMNTE3
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– Optional sysout log
![Page 50: 1 Twitter #NIEMNTE3 Automating Test and Validation Services for NIEM Exchanges Workshop Presenters: David RR Webber Information Architect Oracle Public.](https://reader035.fdocuments.net/reader035/viewer/2022062515/56649c935503460f9494fcb0/html5/thumbnails/50.jpg)
50 Twitter #NIEMNTE3
Q & A
Download the CAM editor toolkit from:
http://www.cameditor.org
Resource Center linkhttp://www.cameditor.org/#CAMV_Testing