XSD and jCAM tutorial - Leveraging Open Standards - XSD ingesting - Interoperability for SOA / WSDL - Exchange Management David RR Webber Chair OASIS CAM.

Slides:



Advertisements
Similar presentations
XML III. Learning Objectives Formatting XML Documents: Overview Using Cascading Style Sheets to format XML documents Using XSL to format XML documents.
Advertisements

DOCUMENT TYPES. Digital Documents Converting documents to an electronic format will preserve those documents, but how would such a process be organized?
1 XSLT – eXtensible Stylesheet Language Transformations Modified Slides from Dr. Sagiv.
An Introduction to XML Based on the W3C XML Recommendations.
Quick Guide to CAM Blueprints
1 1 Accelerated NIEM IEPD Development Process, Procedures and Techniques.
Ch. 5 Web Page Design – Templates and Style Sheets Mr. Ursone.
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.
Publishing Workflow for InDesign Import/Export of XML
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Exchange Interoperability Tutorial - Interoperability Mechanisms - Exchange Management - Leveraging Open Standards - XSD ingesting David RR Webber Chair.
XML Exchange Development CAM Technology Tutorial – Public Sector NIEM Team, June 2011 CAM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
Open Standard Voting Localization with CAM - Localization Mechanisms - Publishing Localizations - Leveraging Open Standards - XSD ingesting David RR Webber.
Exploring Microsoft® Office Grauer and Barber 1 Committed to Shaping the Next Generation of IT Experts. Robert Grauer and Maryann Barber Using.
1 1 Roadmap to an IEPD What do developers need to do?
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
Standards for Technology in Automotive Retail STAR Workbench 1.0 Michelle Vidanes & Dave Carver STAR XML Data Architects, Certified Scrum Masters.
With Alex Conger – President of Webmajik.com FrontPage 2002 Level I (Intro & Training) FrontPage 2002 Level I (Intro & Training)
Open Standard Voting Localization with CAM - Localization Mechanisms - Publishing Localizations - Leveraging Open Standards - XSD ingesting David RR Webber.
Chapter 12 Creating and Using XML Documents HTML5 AND CSS Seventh Edition.
TrendReader Standard 2 This generation of TrendReader Standard software utilizes the more familiar Windows format (“tree”) views of functions and file.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 2: Working with Webpage Files.
@Ms. Masihi.  Adobe Creative Suite is comprised of several separate applications – Bridge, Version Cue, Photoshop, Fireworks, Flash, InDesign, Illustrator,
Copyright © Texas Education Agency, All rights reserved. 1 Web Technologies Website Development with Dreamweaver.
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.
James Cabral, David Webber, Farrukh Najmi, July 2012.
Copyright OASIS, 2005 / 2007 CAM Technology Introduction David Webber Chair OASIS CAM TC Presentation February 9 th, 2007 Bethesda MD.
Copyright OASIS, 2005 / 2007 Scalable PESC transaction handling using OASIS CAM technology David Webber Chair OASIS CAM TC Presentation.
XML and XSL Institutional Web Management 2001: Organising Chaos.
1 1 Roadmap to an IEPD What do developers need to do?
XP New Perspectives on XML Tutorial 6 1 TUTORIAL 6 XSLT Tutorial – Carey ISBN
XP 1 CREATING AN XML DOCUMENT. XP 2 INTRODUCING XML XML stands for Extensible Markup Language. A markup language specifies the structure and content of.
WORKING WITH XSLT AND XPATH
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.
CISC 3140 (CIS 20.2) Design & Implementation of Software Application II Instructor : M. Meyer Address: Course Page:
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
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.
1 Quick Guide to CAM Dictionaries Building and using Canonical XML dictionaries for CAM (CAM – Content Assembly Mechanism Specification) Author: David.
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.
FireRMS NEMSIS (Part 2) Presented by Laura Small FireRMS Quality Assurance.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector.
TUTORIAL Dolphy A. Fernandes Computer Science & Engg. IIT Bombay.
New Perspectives on XML, 2nd Edition
Oracle Data Integrator Procedures, Advanced Workflows.
1 Quick Guide to CAM Blueprints Using blueprints to develop XML exchange templates and schema (CAM – Content Assembly Mechanism Specification) Author:
1 1 CAM Toolkit for NIEM IEPD Development Phil Letowt – DHS/ICE David Webber – ICE Data Architect.
© 2010 IBM Corporation What’s New in RSA 8.0 Beta 1 – Deployment modeling March, 2010.
Leveraging SET, OWL, CAM and Dictionary based tools to enabled automated cross-dictionary domain translations David Webber OASIS SET TC / CAM TC (with.
Tutorial 13 Validating Documents with Schemas
DMED1100 InDesign Advanced Class 8. Agenda  Scripting  Introduction to XML 2.
Leveraging SET, OWL, CAM and Dictionary based tools to enabled automated cross-dictionary domain translations David Webber OASIS SET TC / CAM TC (with.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
Dictionary based interchanges for iSURF -An Interoperability Service Utility for Collaborative Supply Chain Planning across Multiple Domains David Webber.
OASIS CAM Technology - Brief Introduction January, 2008 Creating EDXL Use Pattern Templates David Webber Chair OASIS CAM TC
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Chapter 29. Copyright 2003, Paradigm Publishing Inc. CHAPTER 29 BACKNEXTEND 29-2 LINKS TO OBJECTIVES Attach an XML Schema Attach an XML Schema Load XML.
XML Notes taken from w3schools. What is XML? XML stands for EXtensible Markup Language. XML was designed to store and transport data. XML was designed.
Rendering XML Documents ©NIITeXtensible Markup Language/Lesson 5/Slide 1 of 46 Objectives In this session, you will learn to: * Define rendering * Identify.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Product Training Program
Chapter 2: The Visual Studio .NET Development Environment
Project Objectives Publish to a remote server
IBM Rational Rhapsody Advanced Systems Training v7.5
COSC-4840 Software Engineering
Exploring Microsoft® Access® 2016 Series Editor Mary Anne Poatsy
Using JDeveloper.
Presentation transcript:

XSD and jCAM tutorial - Leveraging Open Standards - XSD ingesting - Interoperability for SOA / WSDL - Exchange Management David RR Webber Chair OASIS CAM TC (Content Assembly Mechanism)

slide 2 Overview Open Public Standard - OASIS Content Assembly Mechanism (CAM) XML instance handling rules technology Designed for Exchange Interoperability Augments W3C XSD – fills in the gaps Easier WYSIWYG format than XSD syntax jCAM Eclipse editor environment provides convenient set of tools Each tool component built with XSLT scripts Available as Open Source on SourceForge

slide 3 Creating a Package for Interoperability Step 1 - Ingest XSD – extract rules, structure, annotations Step 2 - Select & mark out your use model in visual editor Generate and save your “want list” selections Step 3 - Generate your XSD schema subset (WSDL) Step 4 - Generate rich live test data examples  (complete with content hints / pass / fail / random options) Run rules engine - verify operation and outcomes Step 5 - Build tabular documentation of structure elements and rules Package and Share with exchange partners

slide 4 Partner Conformance Testing Test and Certification Validate Templates Report Partner Uses & Creates Results Test Pass / Fail XML html Test Cases XML Package Structure Rules Context Examples Documentation Publish 1 Verify Result Outcomes XML Localization Content Hints

slide 5 Interoperability check-list:  XSD schema structure model  CAM template + rules (deterministic)  Documentation of use patterns (aka “want list” + subset XSD)  Test cases and examples (pass/fail)  Content hinting (localization)  Validation engine for unit and regression testing  Open standard, open platform and open source allows consistent agreements between participants

slide 6 UML IEPD Package Contents Templates Structure Rules Context Vocabulary XML Schema CAM Template XSD Domain Schemas Models 4 Documentation (Word / PDF / OpenDoc Excel / HTML) Purpose Descriptions Tables Diagrams Want List in XML XSD subset XML Localization to Requirements Examples & Test Cases Generated Conformance Suite XML 5 Generate, Manage and Test 1) thru 4) above * IEPD – Information Exchange Package Documentation

slide 7 Challenge: XSD is non-deterministic! The schema contains the superset of every exchange component variation XSD does not have direct context mechanisms Hence people make everything in schema optional Dependencies are not clear It is difficult to understand the constructs and to document the rules clearly for business users to verify It is hard to create test cases and instances (the “want list” tough to visualize) Disconnect between XML data types and legacy data – e.g. dates, telephone formats, post codes

Interoperability for SOA and WSDL exchanges Creating an Information Exchange Package Documentation (IEPD) Package

slide 9 Tutorial Ingesting XSD schema  step by step example Documenting the Exchange Patterns  Creating “want list” selections  Subset XSD generation (for WSDL)  Documentation reporting options Testing and Conformance  Creating Test Case examples  Content Hinting  Running Test Cases Advanced Techniques

Ingesting XSD Schema Using jCAM editor Wizard (

slide 11 Ingesting XSD to CAM template format Exchange xml *Exchange xsd *Extension xsd *Code list xsd Namespace * Optional XML Schema xsd subset *Constraint xsd INGEST Structure Rules Documentation XSLT tools process entire XSD collection XSLT tools process entire XSD collection CAM = Content Assembly Mechanism XSD Collection

slide 12 Step 1 & 2 – Pick the XSD schema to ingest 1 Choose Menu Option 2 Specify XSD Locations Pick XSD First location is the root folder for the XSD collection. Typically this is the same as the location for the XSD schema you want to ingest. (Complex XSD can have this separate; hence need for option)

slide 13 Resolving XSD schema import / includes Normally the wizard should figure this all out for you Complex XSD can have deeply nested “trees” of imported definitions and type “libraries” of other XSDs – that may be elsewhere than the current folder for your particular XSD Tip: If the ingesting fails – repeat step 1 – but re- specify location for where your XSD collection is to be found

slide 14 Step 3 – Choose the XSD parent element From the dropdown list pick the correct root element you wish to use. XSD’s may have more than one collection in them (as shown here) or may not have the parent node element cleanly defined. The Wizard shows you the list of all possible ones it finds – so you can select and confirm the right one. 3 Choose XSD parent element Confirm and start the XSD ingesting

slide 15 Advanced Options Internal log message level – 1 is critical messages only, thru 4 which is “all”. Use this for debugging. Annotations mode – text or all Generation Mode -

slide 16 Step 4 – Ingesting complete – Save Results 4 Completed template is loaded and save dialogue appears Processing usually takes a few seconds. Complex XSD can take over an hour to process however. Tip: jCAM runs the ingesting as a background task – so you can continue to use the computer while such long ingesting is proceeding.

slide 17 Step 5 – Review ingested structure 5 Completed template is shown in the structure navigator panel for review and editing Template contains all the default content model and structure rules ingested from the XSD. All annotations and documentation from XSD also ingested (show as “paperclip” symbol). Code lists and typical content values inserted for easy visual reference.

Documenting the Exchange Patterns “Want lists”, documentation and XSD subset generation

slide 19 Building a Want List MARK WHAT IS NOT NEEDED MARK WHAT IS NOT NEEDED Structure Rules Documentation Make Want List DESIRED RESULTS Structure likely extensive!!! Exclude what is not needed

slide 20 Marking Items for exclude - want list Can exclude at all levels within the structure  excludeTree()  excludeElement()  excludeAttribute() Use XPath operators to control scope:  Specific node  Group of nodes  Anywhere occurs in structure  Contextually based on condition

slide 21 Using Editor to mark exclude items Structure Editor Tools Select focus on item Invoke action menu (right mouse click) Pick action Tip: exclude rule display is context sensitive and only works on optional items

slide 22 Export and Save completed Want List File Menu Option Select Export and specify filename of destination. Excluded items are designated with red “dot” in structure editor and no bold highlight

slide 23 Want List Details EXCLUDE FLAG VALUE (Exported Example) Want Lists provide a handy way to catalogue the exchange model and can be re-used later by importing into other templates

Generating Testing and Conformance Examples Selecting valid and invalid modes Customizing content with Hints

slide 25 Example Generation Options

slide 26 Content Hinting Mechanisms

Documentation Default reporting options

slide 28 Documentation Options Documentation is designed to make rules and use patterns clear jCAM editor uses XSLT and HTML for documentation generation Each documentation option can be customized as desired Preferences allow overriding of default documentation style sheets

slide 29 Documentation Menu Documentation Menu Option Select Format, resulting HTML opens in browser viewer

slide 30 Tabular HTML Documentation Layout Enhanced Data type Logic Extended Code list handling Clear use pattern XPath references and functions

Advanced Techniques Using XPath selector wizard Tailoring the content definitions Sharing code lists Extending rules for actual use cases Structure context variations Handling ingestion issues Examples Hint System

slide 32 Next Steps – Tailoring to Application Needs Emergency Response Services Workflow using OASIS EDXL exchanges

slide 33 Illustrative EDXL requirements When AdultICU Bed type > 0 - AND Triage Quantity > 5 Require Facility State = CA, NV, NM When Admissions Total > 50 - AND Deaths > 0 Outbreak alerting Facility Matching Region Restriction

slide 34 Template rules syntax 50 and( // Activity24Hr /Deaths > 0)" action="restrictValues(// Activity24Hr /Admissions, ‘Alert – possible outbreak’) "/>

Resources Selection of useful links and additional technical details

slide 36 “CAM Kit” of XSLT tools used XSD 2 Schema  expands original target schema resolving imports and includes XSD 2 CAM  extracts structure and rules and builds template from schema XML 2 Wantlist  builds want list from any XML instance (uses Level Depth setting) CAM 2 Examples  Generates a collection of XML instance test cases Import/Export Hints  Manage and apply content hinting across CAM templates CAM 2 XSD export  Creates a subset XSD from CAM template (applies want list)

slide 37 wiki.oasis-open.org/cam docs.oasis-open.org/cam Resources:

slide 38 A special mention for our contributors to the CAM and jCAM work: UK-Martin Roberts and team from BTplc US-Michael Sorens for review and testing Credits: