1 No SQL Metadata Management Dan McCreary President Dan McCreary & Associates October 20 th, 2010.

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Interpret Application Specifications
BUSINESS DRIVEN TECHNOLOGY
Mgt 20600: IT Management & Applications Databases Tuesday April 4, 2006.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Working with SQL and PL/SQL/ Session 1 / 1 of 27 SQL Server Architecture.
IBM User Technology March 2004 | Dynamic Navigation in DITA © 2004 IBM Corporation Dynamic Navigation in DITA Erik Hennum and Robert Anderson.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
Overview of XPath Author: Dan McCreary Date: October, 2008 Version: 0.2 with TEI Examples M D.
State of Connecticut Core-CT Project Query 4 hrs Updated 1/21/2011.
DAY 21: MICROSOFT ACCESS – CHAPTER 5 MICROSOFT ACCESS – CHAPTER 6 MICROSOFT ACCESS – CHAPTER 7 Akhila Kondai October 30, 2013.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
INTRODUCTION TO WEB DATABASE PROGRAMMING
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
WorkPlace Pro Utilities.
Xforms Multumiri lui Dan McCreary.
Databases C HAPTER Chapter 10: Databases2 Databases and Structured Fields  A database is a collection of information –Typically stored as computer.
Introducing Dreamweaver MX 2004
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Enterprise Service Bus Lowering the cost of integration Date: 9/1/2009 Dan McCreary President Dan McCreary & Associates (952)
DAY 14: ACCESS CHAPTER 1 Tazin Afrin October 03,
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL.
Metadata Management Case Study Date: 10/21/2008 Dan McCreary President Dan McCreary & Associates (952) M D Metadata Solutions.
XRules An XML Business Rules Language Introduction Copyright © Waleed Abdulla All rights reserved. August 2004.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
1.NET Web Forms Business Forms © 2002 by Jerry Post.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
1.file. 2.database. 3.entity. 4.record. 5.attribute. When working with a database, a group of related fields comprises a(n)…
Storing Organizational Information - Databases
Recursive Functions Creating Hierarchical Reports Date: 9/30/2008 Dan McCreary President Dan McCreary & Associates (952) M.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 7 Storing Organizational Information - Databases.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
Auto-generation of Repeated Elements Part 2 of a series of XForms auto generation Date: 1/25/2008 Dan McCreary President Dan McCreary & Associates
MANAGING DATA RESOURCES ~ pertemuan 7 ~ Oleh: Ir. Abdul Hayat, MTI.
INFO1408 Database Design Concepts Week 15: Introduction to Database Management Systems.
Keyword Searching Weighted Federated Search with Key Word in Context Date: 10/2/2008 Dan McCreary President Dan McCreary & Associates
XRX Basic CRUDS Create, Read, Update and Delete and Search XML Data Date: May 2011 Dan McCreary President Dan McCreary & Associates
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
Management Information Systems, 4 th Edition 1 Chapter 8 Data and Knowledge Management.
XML and Database.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
HTML Concepts and Techniques Fifth Edition Chapter 1 Introduction to HTML.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
Library Online Resource Analysis (LORA) System Introduction Electronic information resources and databases have become an essential part of library collections.
Introduction to Core Database Concepts Getting started with Databases and Structure Query Language (SQL)
MICROSOFT ACCESS – CHAPTER 5 MICROSOFT ACCESS – CHAPTER 6 MICROSOFT ACCESS – CHAPTER 7 Sravanthi Lakkimsety Mar 14,2016.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Data Resource Management Data Concepts Database Management Types of Databases Chapter 5 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies,
Understanding Core Database Concepts Lesson 1. Objectives.
Databases.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
MANAGING DATA RESOURCES
Tutorial 7 – Integrating Access With the Web and With Other Programs
Understanding Core Database Concepts
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management
XRX Diagrams Application Architecture Diagrams Date: Aug 21st, 2008
Presentation transcript:

1 No SQL Metadata Management Dan McCreary President Dan McCreary & Associates October 20 th, 2010

M D Presentation Description Metadata, or data that describes data, is fundamentally different than data itself. The management of metadata is becoming a strategic area for many organizations and the topic of data governance is also becoming central to the data strategies for many organizations. This presentation will look at how the requirements of enterprise metadata management dictate that new schema-free web application architectures be better suited to the task of metadata management. These new “zero translation” architectures combine some of the best aspects of document management systems and traditional tabular data management but without the complexity of traditional multi-tier architectures. We will give examples of how these new XML-centric architectures are being used to solve metadata management challenges and how they empower non-programmers to build and maintain metadata registries. 2

M D Outline Part 1 –Background on NO-SQL –What is metadata? –Enterprise Metadata Management (EMM) requirements –Role of agility –Why XRX systems are agile Part 2 –Tour of a native XML system and a metadata registry –XQuery, REST and XForms –XML web services –How empower Bas and other non-programmers –How to start a pilot project –Questions 3 Copyright 2010 Dan McCreary & Associates

M D After This Presentation Users Will Be Able To: Define metadata and compare and contrast metadata management with data management Describe the high-level features of enterprise metadata management systems Differentiate between metadata repositories and metadata registries Understand the role of duplication in managed metadata environments Understand the role of ISO-Standards in metadata management Describe the major application architectures and the number of data translations used in each architecture Define "Zero translation" application architectures Define metadata agility and the metrics used to measure metadata agility Describe the XRX architecture and XML search Understand the role of native xml systems and the XQuery language Access resource for creating a pilot metadata registry project 4

M D Background for Dan McCreary Enterprise data architecture consultant based in Minneapolis Strong interest in enterprise metadata management and semantic web Builds metadata registries using ISO/IEC and US Federal XML standards (NIEM.gov) Customers: CriMNet/BCA, MN Dept. of Education, MN Dept. of Revenue, Thrivent Financial, Patriot Data Systems, US Department of State, MN Historical Society, US Library of Congress, Mindware, Syntactica, Surescripts 5

M D Origins: The XML Data Dictionary 6 Copyright 2010 Dan McCreary & Associates

M D Electronic Certificate of Real Estate 7 Copyright 2010 Dan McCreary & Associates 1 Document = 44 SQL inserts Summer 2006

M D 250 Data Elements 8 Copyright 2010 Dan McCreary & Associates XForms Mockup

M D Four Translations T 1 – HTML into Java Objects T 2 – Java Objects into SQL Tables T 3 – Tables into Objects T 4 – Objects into HTML 9 Copyright 2010 Dan McCreary & Associates T1T1 T4T4 T2T2 T3T3 Object Middle Tier Relational Database Web Browser

M D Kurt's Suggestion store($collection, $file-name, $data) 10 Copyright 2010 Dan McCreary & Associates Web Browser Save Web Form Use a A Native XML Database! Kurt Cagle eXist

M D Zero Translation XML lives in the web browser (XForms) REST interfaces XML in the database (Native XML, XQuery) XRX Web Application Architecture No translation! 11 Copyright 2010 Dan McCreary & Associates Web BrowserXML database XForms

M D Copyright 2008 Dan McCreary & Associates 12 No-Shredding! Relational databases take a single hierarchical document and shred it into many pieces so it will fit in tabular structures Native XML databases prevent this shredding My Form Data

M D Copyright 2008 Dan McCreary & Associates 13 Is Shredding Really Necessary? Every time you take hierarchical data and put it into a traditional database you have to put repeating groups in separate tables and use SQL “joins” to reassemble the data

M D Copyright 2008 Dan McCreary & Associates 14 Many Processes Today Are Driven By… The constraints of yesterday… Challenge: Ask ourselves the question… Do our current method of solving problems with tabular data… Reflect the storage of the 1950s… Or our actual business requirements? What structures best solve the actual business problem?

M D "Schema Free" Systems that automatically determine how to index data as the data is loaded into the database No a priori knowledge of data structure No need for up-front logical data modeling –…but some modeling is still critical Adding new data elements or changing data elements is not disruptive Searching millions of records still has sub- second response time 15 Copyright 2010 Dan McCreary & Associates

M D Monoculture and Mono-architecture 16 Copyright 2010 Dan McCreary & Associates Image Source: Wikipedia

M D 17 Copyright 2010 Dan McCreary & Associates Storage Architectural Patterns Tables Trees Triples Stars

M D The NO-SQL Universe 18 Copyright 2010 Dan McCreary & Associates Document StoresKey-Value Stores Graph Stores XML Object Stores

M D Finding the Right Match 19 Copyright 2010 Dan McCreary & Associates Schema-Free Mature Query Language Standards Compliant Use CMU's Architectural Tradeoff and Modeling (ATAM) Process

M D Architectural Summary Four Translation HTML web pages Object middle tier RDBMS database Zero Translation XForms Client Native XML Database 20 Copyright 2010 Dan McCreary & Associates T T T T web browserXML database web browser database Which system more agile and by how much? How can this help us manage enterprise metadata?

M D What Is Metadata? Data about data Data that describes other data 21 Copyright 2010 Dan McCreary & Associates Last NameFirst NameTitlePhone SmithJohnBAx1234 AndersonSuePMx4567 JohnsonBeckyQAx8765 Metadata Data

M D 22 Copyright 2010 Dan McCreary & Associates Raw data is just values without context

M D Adding Context Turns Data into Information 23 Copyright 2010 Dan McCreary & Associates 47 draft data information

M D Two Kinds of Thinking "In the Can" Vertical Soloed Translation-intensive Application-centric Good for small teams "On The Wire" Horizontal Publish/Subscribe Messages Communication of Shared Meaning (Semantics) Good for large organizations 24 Copyright 2010 Dan McCreary & Associates Enterprise Service Bus Screen Database PublishersSubscribers Objects Adapter

M D Managed Metadata The processes surrounding the creation and management of enterprise metadata and their definitions –ISO 11179: "Administered Items" –Traceability: Who created data definitions and when and in what context for what purpose? 25 Copyright 2010 Dan McCreary & Associates

M D Repository vs. Registry Metadata Repository Were any metadata is stored No focus on duplicate element elimination No strict controls on removal of imprecise data elements Function-specific data Metadata Registry Where carefully controlled metadata is stored Focus on elimination of duplicate data elements Focus on semantics Subject area classification Data stewardship Follows ISO guidelines 26 Copyright 2010 Dan McCreary & Associates

M D Empower the Business Analysts! Before Registry After Registry SUPER BA! 27 Copyright 2010 Dan McCreary & Associates Sorry, we have no idea what code 47 means. Let me just search our registry… I'll have your answer in 150 milliseconds.

M D EMM Requirements EMM = Enterprise Metadata Management Tools to create a "enterprise trust" in data element data definitions (Data Governance) Tools to eliminate duplication of data elements Powerful search Metadata web services Controls on who adds and updates definitions Support for data stewardship 28 Copyright 2010 Dan McCreary & Associates

M D ISO/ICE Metadata Registry Standards for managing enterprise semantics Focus on the management of a "Library" of metadata based on subject headings (like the Dewey Decimal System) Guidelines for creating precise data definitions Guidelines for classification of data types 29 Copyright 2010 Dan McCreary & Associates

M D ISO Naming Conventions 30 Copyright 2010 Dan McCreary & Associates niem: Person Birth Date Object Class Representation Term Property Term Namespace

M D Metadata Standards 31 Copyright 2010 Dan McCreary & Associates ISO/IEC MDR GJXDM NIEM ebXML Public Schemas xBRL Minnesota Data Standards Federal XML Naming and Design Rules Non-ISO schemas Federal Data Reference Model (DRM) Federal XML Developer’s Guide (xml.gov) XML UML XMI CWM MOF XML Dept Stds. Division Stds XLink OASIS Standards Doc ISO commercial schemas Future Standards (?) UBL

M D Why is XRX More Agile? Importing data Querying data Creating web services Exporting Publishing 32 Copyright 2010 Dan McCreary & Associates (not to be confused with "Agile Development")

M D Copyright 2008 Dan McCreary & Associates 33 A Happy Partnership XForms XQuery

M D 34 XQuery In 1998 Jonathan Robie and Joe Lapp (then the principal architect of WebMethods) created a language called XQL In 1998, two query languages, XQL and XML-QL got a lot of interest within the W3C and a working group for XML-based querying languages was formed The working group selected around 90 use cases and compared the ability of seven advanced query languages to execute them None of the seven were perfect. Each had some defects The working we took the best part of each of the seven languages and created the XQuery standard

M D Copyright 2008 Dan McCreary & Associates 35 Database Vendors that Support XQuery eXist (open source) MarkLogic IBM DB2 Version 9 “PureXML” Microsoft SQL Server 2005 Oracle 10g Release 2 Enterprise Edition + 50 others…

M D 36 It is Easy to Import Data SQL 1.Analyze data for all parent child relationships and repeating groups 2.Design logical and physical ER diagrams 3.For each table create a Data Definition File using a data definition language (DDL) 4.Create indexes using DDL 5.Create one table for each set of repeating set of data 6.Run DDL on database creating tables using the appropriate data types 7.Create indexes 8.Create Insert statements 9.Create separate insert statements for each repeating group 10.Run Insert statements on primary structures in database 11.Use primary keys of the first data inserts as foreign keys of dependant data structures XQuery 1.Drag XML files into folder

M D 37 XML File system XML File system – a way of storing information in XML that can be quickly searched You can drag and drop almost any files onto this file system You access it by using the Microsoft Windows “My Network Places” function (WebDAV) But… You can query the file system like a relational database

M D Copyright 2008 Dan McCreary & Associates 38 Functional Programming Computer programs are like mathematical functions Developers do not manipulate states and variables (things that change value), but focus entirely on constants and functions (things that never change) Functions are treated as first class citizens Functions that take other functions as input Makes it very easy to build modular programs Software written in FP languages tend to be very concise and easy to port to parallel systems y = f(x)

M D 39 It's Easy to Query XML Data SELECT COL1, Col2 FROM TABLE WHERE COL1=1 for $r in doc(‘t.xml’)//row where col1=1 return $r/col1, $r/col2 Col1Col2 1A 1B 1C 1D 1 A 1 B 1 C 1 D

M D 40 SQL is similar to XQuery FunctionSQLXQuery Selecting Distinct Values SELECT DISTINCE distinct-values($doc) Row Restriction WHERE COL=value where $r/element=value Sorting SELECT C1, C2 FROM TABLE ORDER BY C1 for $r in $doc/r order by $r/element

M D 41 It is Easy to Create A Web Service Java/JDBC/SQL 1.Learn Java or find a Java Developer 2.Install TomCat Web Server 3.Install Java AXIS Web Server 4.Write a JDBC program that sends SQL queries to a database 5.Get the results back in Java Result Object structures 6.Go through the Java Results Structues and use print statements to wrap XML tags around the strings in the result objects 7.Rename your class files to.jws files 8.Add the.jws files to the TomCat deploy folders 9.The WSDL files will automatically be generated All XQuerys are web services

M D 42 Insert/Select/Publish Comparison InsertQuery Web Service SQL XQuery SQL XQuery Java Tomcat AXIS JDBC Total Effort XQuery logical data modeling

M D Copyright 2008 Dan McCreary & Associates 43 High Level Comparison SQLXSLTXQuery Query tabular dataYes Query hierarchical dataNoYes Easy for people to learnYesNoYes XQuery can be as easy to learn as SQL but also works with hierarchical data structures. The winner!

M D 44 XQuery is Easier To Learn Than XSLT Studies have shown that XQuery is much easier to learn than XSLT, especially if users have some SQL background Usability of XML Query Languages Joris Graaumans SIKS Dissertation Series No , ISBN X

M D Six Translation T 1 – HTML into Java Objects T 2 – Java Objects into SQL Tables T 3 – Tables into Objects T 4 – Objects into HTML T 5 – Objects to XML T 6 – XML to Objects 45 Copyright 2010 Dan McCreary & Associates T1T1 T4T4 T2T2 T3T3 Object Middle Tier Relational Database Web Browser T5T5 Web Service T6T6

M D Requirement Lister 46 Click to View ItemClick to Edit Item Table Header Count Sort

M D Item Viewer 47

M D View XML Data 48

M D XForms W3C Standard for web-forms processing Allows web-forms to load and save complex XML data with many repeating sub-structures Works very well with REST-type interfaces Bundled with XML databases (eXist and MarkLogic) Large library of sample applications 49

M D Sample XForms 50 Copyright 2010 Dan McCreary & Associates

M D Requirements Editor 51 Repeating Elements Code Table Selection Lists

M D Page Components 52 Breadcrumb Header Footer Content Edit Controls 950 pixels wide

M D Page Assembler Function 53 Header Footer Content Breadcrumb Edit Controls Roles

M D Style Module Each non-content region of the page is generated by a server-side XQuery function Users can change a single function and the entire site will be updated Functions are dynamic and can take into account the page function 54

M D Copyright 2007 Dan McCreary & Associates 55 XML Stored in XForms Model model view save update Browser Database

M D Copyright 2008 Dan McCreary & Associates 56 XRX Core Process model view save/edit update BrowserDatabase

M D Copyright 2008 Dan McCreary & Associates 57 Code Table Services model view ClientServer Code Table Service Code Tables Form Data Code tables are separated from form instance data all-codes.xq

M D XRX Dynamic Forms Generation DataElement Registry Code Table Services Context filters Document Status Suggest Services Client Application User GroupRole Team Session Submissions Binding Rules Form Data Code Tables Views Required Read-only Data Types Calculations XForms Model Business Rules Editor Constraints CalculationsInference Application Server Static Controls Dynamic Controls XForms View Design Time Run Time Semantic Schemas Subschema Service XML Schema Registry Constraint Schemas Form Data Collection

M D Copyright 2008 Dan McCreary & Associates 59 Model Driven XForms enables the developer to reuse business rules encapsulated in XML Schemas (xsd) and XML Transforms (xslt) XForms reduces duplication and ensures that a change in the underlying business logic does not require rewriting in another language XML Schema Meta Data Registry XForms Application

M D Copyright 2008 Dan McCreary & Associates 60 View and Model are Trees The view is a tree of a presentation data element Models are comprised of one or more trees XForms supplies the control layer that moves data elements to and from the model Users don’t have to worry about moving things to and from the screen View (Presentation) Control (Bind) Model

M D Copyright 2008 Dan McCreary & Associates 61 Models and View Are Linked with "Bind" Both the model and the views are trees of data elements HTML xf:model Person Name firstlast head body form fieldset label input label input

M D Copyright 2008 Dan McCreary & Associates 62 Just “Do The Right Thing” Data types from the model just do the right thing Boolean variables become checkboxes Dates have date selectors HTML xf:model Person PersonCurrentOnTaxes type="xs:boolean" head body form fieldset label input label input PersonBirthDate type="xs:date"

M D Copyright 2008 Dan McCreary & Associates 63 Example of Automatic UI Generation All true/false data types (xs:boolean) automatically become a checkbox All dates (xs:date) have a date selector to the right of the date field All codes can be selected from lists

M D Copyright 2008 Dan McCreary & Associates 64 Structure of a XForms File XForms tags are just XML tags imbedded in a standard XHTML file with a different namespace Most HTML form tags are exactly the same but some attributes have been promoted to be full elements Namespaces CSS Imports (View) Model Constraints (Bindings) UI (View) MyForm.xhtml Submit Controls

M D Copyright 2008 Dan McCreary & Associates 65 REST REpresentation State Transfer Create applications based on well designed URLs Take advantage of web caching Migrate toward Resource-Oriented Computing (ROC) REST evangelists: RESTifarians

M D Copyright 2008 Dan McCreary & Associates 66 Five RESTFull Friends 1.In-resident memory cache in your browser 2.You local hard drive cache 3.Your local enterprise cache 4.The cache on the web server farm 5.The cache on the database Please make sure to check with your RESTfull friends BEFORE you bother the database.

M D Copyright 2008 Dan McCreary & Associates 67 Shallow REST vs. Deep REST You can start taking advantage of ReST buy just doing well thought-out URL design To take advantage of deep ReST you must consider the subtleties of the HTTP protocol –GET vs POST vs PUT –DELETE

M D Copyright 2008 Dan McCreary & Associates 68 Benefits of REST Provides improved response time Reduced server load Improves server scalability Requires less client-side software Depends less on vendor dependencies Promotes discovery Provides better long-term compatibility Better and evolvability

M D Terms to Services 69 Copyright 2010 Dan McCreary & Associates Business Terms Data Elements XML Schemas Services

M D Metadata Registry Workflow Funnel Create the Registry Define your glossary and data elements Review & make changes Approve & publish by stakeholders Use the Registry Generate data schemas (XML) by selecting and organizing data elements Add new items to the registry as needs change Review & Edit Approve Glossary Of Terms Draft Data Elements Requirements & data needs The registry defines the data we exchange and keeps our need for code changes to a minimum

M D Copyright 2008 Dan McCreary & Associates 71 Federated Search Federation: When many different sources can return search results from a single search Business Terms Standards Data Elements RDMS Columns Other Standards Search WebSite Terms

M D Sample Data Flows 72 Copyright 2010 Dan McCreary & Associates 72 Business Terms (SKOS) NIEM Data Elements Internal Data Elements Metadata Shopper Wantlist Constraint Schemas Users/Roles IEPDs subset Customer Data Elements Data Element Views Draft Data Elements In Review Data Elements Published Data Elements Instance Examples Security Policy ISO/IEC UML Diagrams

M D Application Modularity 73 Copyright 2010 Dan McCreary & Associates

M D Financial Institution 74 Copyright 2010 Dan McCreary & Associates

M D Federal Integrator 75 Copyright 2010 Dan McCreary & Associates

M D Minnesota Historical Society 76 Copyright 2010 Dan McCreary & Associates

M D 77 Phone Metadata Shopping Tools Address FirstName See You don’t need to know about 100,000 SKUs to purchase 10 items from a grocery store Sub-schema generation tools give you exactly what you need and nothing more

M D Information Retrieval Textbook Introduction to Information Retrieval by Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze Cambridge University Press,

M D Table 10.1 RDB search unstructured retrieval structured retrieval objectsrecords unstructured documents trees with text at leaves modelrelational model vector space & others ? main data structure tableinverted index? queriesSQLfree text queries? 79 XML - Table 10.1 and structured information retrieval. SQLRDB (relational database) search, unstructured information retrieval

M D Table Revised RDB search unstructured retrieval structured retrieval objectsrecords unstructured documents trees with text at leaves modelrelational model vector space & others XML hierarchy main data structure tableinverted index trees with node- ids for document ids queriesSQLfree text queries XQuery fulltext 80 XML - Table 10.1 and structured information retrieval. SQLRDB (relational database) search, unstructured information retrieval

M D Two Models "Bag of Words" All keywords in a single container Only count frequencies are stored with each word "Retained Structure" Keywords associated with each sub-document component 81 'love' 'hate' 'new' 'fear' keywords doc-id

M D Keywords and Node IDs Keywords in the reverse index are now associated with the node-id in every document 82 Node-id keywords document-id

M D 83 Search is a REST Service Every search form is a “wrapper” of a REST web service You can call the web service from any browser or any other web service Results can be either HTML (for humans) or XML for remote systems Example: Search QuerySearch Parameter q=Query Search Services Collection Output Format

M D Global Search 84 Copyright 2010 Dan McCreary & Associates

M D Complex Search 85 Copyright 2010 Dan McCreary & Associates Exact Match Starts with Anywhere Filters –Removed results

M D Internal vs. External Terms 86 Copyright 2010 Dan McCreary & Associates External Data StandardsInternal Data Standards

M D 87 The Heart of the Enterprise The Metadata Registry A metadata registry is a central location in an organization where metadata definitions are stored and maintained in a controlled method.

M D Dan's Promise to Every BA If you are… –somewhat familiar with HTML and SQL –willing to "know your data" –willing to spend around 40 hours in training –able to use open source software Then… –You can build and maintain your own metadata registry 88 Copyright 2010 Dan McCreary & Associates

M D 89 Change Where the Line is Drawn Shorten the “distance” between the business unit and the IT staff SME BAs Developers Requirements SME/BAIT Staff Graphical Requirements and Specifications vs.

M D 90 Semantic Triangle Symbols can only link to referents through concepts You can not link directly from a symbol to a referent referent concept symbol “cat” Wikipedia: Semiotic triangle

M D 91 Semantic Precision in Space and Time time space: (projects, organizations) Small Semantic Footprint (rapid prototype) Large Semantic Footprint (long lifetime systems) weeksmonthsyears10+ years person team dept. world enter- prise

M D 92 Parker Projection Time 100% Relative Code Base Procedural code (Java, JavaScript, VB, C#, C++) Declarative code (XHTML, CSS, XSLT, XForms) Source: Jason Parker, Minnesota Department of Revenue, November 2006

M D Copyright 2008 Dan McCreary & Associates 93 Incoming! XML Has this web thing gone away yet? web

M D Selecting a Pilot Project The "Goldilocks Pilot Project Strategy" Not to big, not to small, just the right size Duration Sponsorship Importance Skills Mentorship 94 Copyright 2010 Dan McCreary & Associates

M D Find A Community… 95 eXist Meeting Prague March 12 th, 2010

M D Challenges Minimal local talent with XQuery XForms performance issues for large forms (over 100 fields per form) –User smaller forms Role-based access control at the collection level 96 Copyright 2010 Dan McCreary & Associates

M D Words of Caution Only use "latest stable" releases –Currently eXist 1.4 Backup your system Put critical transactions in at least two places (transaction logs) Avoid long-running transactions Use locking to avoid missing updates 97 Copyright 2010 Dan McCreary & Associates

M D Start Finish Using the Wrong Architecture Credit: Isaac Homeland – MN Office of the Revisor

M D The Problem with Layers… It's a nightmare trying to write XQuery within SQL within PHP… 99 Copyright 2010 Dan McCreary & Associates PHPSQLXQuery Data

M D Using the Right Architecture Start Finish Find ways to remove barriers to empowering the non programmers on your team.

M D Six "S"s of Metadata Registries 1.Semantics 2.Search 3.Standards 4.Services 5.Solutions that are Customized 6.Super - BA 101 Copyright 2010 Dan McCreary & Associates

M D 102 If You Give a Kid a Hammer… People solve problems using familiar tools People develop specific Cognitive Styles* based on training and experience What are we teaching the next generation of developers? * Source: Shoshana Zuboff: In the Age of the Smart Machine (1988) …the whole world becomes a nail

M D References 103 Send to for extended list of "getting started" resources. XForms XQuery XRX A Beginner's Guide to XRX

M D 104 Questions? Dan McCreary President Dan McCreary & Associates (952)