Exchange Design Best Practices Tools for Successful Flow Design and Implementation 1.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Configuration management
Configuration management
ICIS-NPDES Plugin Design Preview Webinar ICIS-NPDES Full Batch OpenNode2 Plugin Project Presented by Bill Rensmith Windsor Solutions, Inc. 3/15/2012.
Node Lessons Learned James Hudson Wisconsin Department of Natural Resources.
Demystifying the Protocol and Specification v1.1 Prepared for the Node Mentoring Meeting by: Rob Willis, Ross & Associates February.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Achieving Distributed Extensibility and Versioning in XML Dave Orchard W3C Lead BEA Systems.
© Copyright 2011 John Wiley & Sons, Inc.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Microsoft Office Open XML Formats Brian Jones Lead Program Manager Microsoft Corporation.
IMT530- Organization of Information Resources1 Feedback Like exercises –But want more instructions and feedback on them –Wondering about grading on these.
Configuration Management
A tour of new features introducing LINQ. Agenda of LINQ Presentation We have features for every step of the way LINQ Fundamentals Anonymous Functions/Lambda.
1 I n t e g r i t y - S e r v i c e - E x c e l l e n c e The Air Emissions Inventory (AEI) Project: An Update on a Universal Schema Darren Carpenter,
Module 17 Storing XML Data in SQL Server® 2008 R2.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
Dataface API Essentials Steve Hannah Web Lite Solutions Corp.
Overview of Mini-Edit and other Tools Access DB Oracle DB You Need to Send Entries From Your Std To the Registry You Need to Get Back Updated Entries From.
Exchange Network Node Help Desk NOLA Conference Feb 9-10, 2004.
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
Users' Meeting San Francisco, CA April 18 th, 2006 RCRAInfo Network Exchange.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Database Design for DNN Developers Sebastian Leupold.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
S oftware Q uality A ssurance Part One Reviews and Inspections.
Creating Extensible Content Models XML Schemas: Best Practices A set of guidelines for designing XML Schemas Created by discussions on xml-dev.
FLAVIUS Technical presentation (Overblog, Qype, TVTrip) - WP2 Platform architecture.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
1 Designing a Data Exchange - Best Practices Data Exchange Scenarios –Sender vs. Receiver-initiated exchanges –Node Design Best Practices: –Handling Large.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
The New Zealand Institute for Plant & Food Research Limited Matthew Laurenson Web Services: Introduction & Design Considerations.
Chapter 1 In-lab Quiz Next week
Identify steps for understanding and solving the
Standards Analysis Summary vMR – Pros Designed for computability Compact Wire Format Aligned with HeD Efforts – Cons Limited Vendor Adoption thus far Represents.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Promoting Web Services Interoperability Across Platforms, Applications and Programming Languages Basic Profile 1.0 August 12, 2003 Copyright © 2003 by.
Environmental & Health Data Integration for Homeland Security Support Exchange Network Users Meeting Hilton San Francisco Hotel, Continental Ballroom April.
1 TenStep Project Management Process ™ PM00.8 PM00.8 Project Management Preparation for Success * Manage Documents *
SE: CHAPTER 7 Writing The Program
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
MIS 327 Database Management system 1 MIS 327: DBMS Dr. Monther Tarawneh Dr. Monther Tarawneh Week 2: Basic Concepts.
Going from Node to Flow Presented by Guy Outred. Introducing… Sponsored by Mentoring States and ECOS Based on input from States of varying geography,
Using the Right Method to Collect Information IW233 Amanda Murphy.
A State Perspective Mentoring Conference New Orleans, LA 2/28/2005 RCRAInfo Network Exchange.
Evaluating & Maintaining a Site Domain 6. Conduct Technical Tests Dreamweaver provides many tools to assist in finalizing and testing your website for.
1 Data Exchange Design and Implementation Best Practices Critical Factors for the Development of Successful Information Exchange Systems within the Network.
Introduction to WQX XML Schema Doug Timms, enfoTech November 28, 2007.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida 1 Application Deployment Stephen W. Meeley.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
1 Exchange Network – Why Should I participate??? Whad’ya Node? Exchange Network Node Mentoring Workshop Presented by Molly O’Neill New Orleans, Louisiana.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
1 Exchange Network Shared Schema Components. 2 Shared Schema Components Topics: Introduction to Shared Schema Components Purpose/value of using Shared.
Technical Steering Committee La Jolla, January 2003 Paul Kiel, HR-XML.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
ODATA DESIGN PRINCIPLES July 26, BUILD ON HTTP, REST OData is a RESTful HTTP Protocol Build on HTTP Entities modeled as Resources Relationships.
Using Structures With CFCs By Selene Bainum. June 27 th - 30 th 2007www.cfunited.com Why Am I here? Familiar with structures Familiar with ColdFusion.
AUTHORING EXPERIENCES
PRG 410 Education for Service-- snaptutorial.com
PRG 410 Teaching Effectively-- snaptutorial.com
What’s changed in the Shibboleth 1.2 Origin
S-127 – Marine Traffic Management Release Candidate NIPWG 6 30 January 2019 Raphael Malyankar Eivind Mong Sponsored by IHO.
ESS VIP ICT Project Task Force Meeting 5-6 March 2013.
Configuration management
Chapter 3 Database Management
NIEM Tool Strategy Next Steps for Movement
Reportnet 3.0 Database Feasibility Study – Approach
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management
Presentation transcript:

Exchange Design Best Practices Tools for Successful Flow Design and Implementation 1

Flow Design & Implementation Life Cycle 1.Planning 2.Flow architecture design 3.Determine data elements 4.Draft Schema and submit for initial review 5.Develop flow components (sender/receiver) 6.Implement and test 7.Document and submit for final review and publishing 2

Planning Phase Determine goals of the exchange –Often a regulatory reporting requirement involved (Submit) –Consider data publishing model Expose queries Make receiver “Come and get it” Still satisfies regulatory requirements –Consider other uses for the data – make the exchange flexible! Ad hoc uses of data (human) Support warehousing by any partner (machine) 3

Flow Architecture Design Phase Determine how to chunk data –Schema and Data Serviceswork hand in hand –Compartmentalize Schema by data module –Enables returning portions of data GetFacilityByName(“ACME”) GetFacilityContactsByFacilityID(“1234”) 4

Flow Architecture Design Phase Design feedback mechanisms and fault condition behavior –Many teams only considered the “happy flow” –Rejected files and partial rejection behavior should be considered and documented –“GetStatus” responses should be explicitly defined for each stage of processing 5

Flow Architecture Design Phase Determine how to handle Transactional Processing –Ideal scenario – Avoid it! Data provider should need no prior knowledge of receiver’s data Receiver should know what data to request and how to consume the returned data MUCH easier for data providers to implement –If it can’t be avoided… Use Header “Payload” element to track “Insert/Update” and “Delete” Last resort: Use transaction codes in schema 6

Determine Data Elements DON’T design the schema by mirroring an existing database model –Hierarchal structure of schema is best for maximizing interoperability Relationships expressed through nesting, not keys Key/Keyref requires data provider to do more elaborate data staging –Goal is to make the data abstract That said, evaluate each data source for candidate elements 7

Schema Design and Draft Review Schema design: How rigid should it be? Flexible: no explicit field lengths, fewer required fields, no Key/Keyref, embedded code lists Use the Shared Schema Components!!! Rigid: Shorter shelf life (i.e. code lists change) Usually done to be target system-centric Limits likelihood that schema will be reused by other flows or matches data standards 8 FlexibleRigid

Schema Design and Draft Review Compromise! –Keep schema loose (flexible) –Use schematron to enforce target-specific rules EPA CDX hosts a schematron validation Few resources to help with Schematron  More powerful than good old schema validation Schematron rules can be modified if business rules change without revising the schema! 9

Schema Design and Draft Review Using the Shared Schema Components 10

Schema Design and Draft Review IMPORTANT THING #1 –Follow the design guidance! Review the guidance on the EN web site! If you have questions, get answers! IMPORTANT THING #2 –Submit for Initial review! Exchange Network offers “early engagement” services to help uncover issues with your schema and exchange design before sinking significant resources in flow processing code! –Major issues have been identified every time! We are here to help! 11

Develop Flow Components Build the data staging tables –Good practice: stage the data in a data model similar to the schema format –Create SQL scripts for staging tables and publish with the exchange Build the flow composition/decomposition components –Use OO design to build parsing routines Maximizes the likelihood for reuse! All flow deliverables (including code) are part of the public domain 12

Implementation and Testing Testing will expose problems –Document issues as they arise Other implementers will encounter the same issues –Performance issues with large files –Test iteratively –Be prepared to revise schema and/or data services if needed –Test between multiple partners –Test end-to-end, including feedback 13

Submit Flow Package for Review Prepare flow documentation package –Complete and clean up the FCD, DET, and schemas –Create sample XML instance documents –Finalize Schema Conformance Report –Review EN guidance before submitting Required/Optional materials Proper schema packaging –Index.xsd –Folder structure –Submit for review – (2-6 week turn around) 14

Schema Design Rules and Guidance 15 ***Use other published flows as a reference

Pop Quiz Question: A developer is not sure how to design some aspect of a schema or flow. What should he/she do? Answer: A.Ignore the problem. It will go away. B.Just guess and move on. C.Obfuscate the issue with confusing language in the flow documentation. D.Review the guidance documents. If no answer if found, ask the NTG for assistance. 16

Schema Design Do’s DO: Read and follow the Design Rules and Conventions (DRC) v1.0 and v1.1 Follow Naming Rules (Schema elements and types, Namespace, and Data Services) Follow versioning rules Use the Shared Schema Components in your schema Follow schema file segmentation guidelines Ask questions Submit your draft schema for review 17

Flow Configuration Document Do’s DO: Thoroughly document all data services (parameters, order, required/optional, return schema) Thoroughly document payload structure (use of Header, zip files, payload operations, arrays of NodeDocuments) Assume the reader is not familiar with your flow Use the FCD template and other FCDs for reference If the Header is used, thoroughly document how and when it is used 18

Flow Configuration Document Don’ts DON’T: Include non-flow specific stuff (i.e. how to ping, what the header is) Forget to remove comments, track changes or other editing artifacts 19

The Moral of the Story 1.Take advantage of flow development assistance services offered by the NTG! 2.Read, understand, and live the guidance! 3.Sometimes there are no easy answers... Ask questions! Buffer your decisions! 20