tag:blogger.com,1999:blog-135465162008-07-08T17:03:22.271-05:00Dr. Data DictionaryDr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comBlogger55125tag:blogger.com,1999:blog-13546516.post-53404556387009477242008-06-05T07:34:00.001-05:002008-06-05T07:49:05.215-05:00The Finch and the RaccoonThe blogs on xml.com are down so I have reposed this here.
Have you ever wondered if the laws of evolution apply to computer languages? When you walk down the isle at your favorite bookstore, does it seam like there are actually more computer languages than last year? What forces are driving each of these new languages to evolve?
In 1835 Charles Darwin visited the Galapagos Islands. There he collected what he thought were about a dozen distinct species of birds. Upon returning to England he discovered that each of these species had evolved from a single species of finches. On the various Galapagos Islands the requirements for food gathering was different, but consistent over hundreds of thousands of years. Enough time for a single species to adapt to meet consistent requirements.
Consider the Raccoon: omnivores that have proved to be one of the most adaptable mammals on Earth. The Raccoon’s range has rapidly expanded into urban areas due to their ability to quickly adapt to new requirements before other animals have had time for the wheels of evolution to turn.
So goes it with computer languages. Some procedural languages can be quickly adapted to fill in the needs for a new niche. When the web was young, procedural languages like Java and JavaScript quickly filled in the need for a variety of tasks. As the requirements for building web applications stabilized, declarative systems like CSS, XForms and XQuery started to push procedural languages back into niche-areas. As these declarative languages stabilize and become worldwide standards, graphical tools are being created to allow non-programmers to create, manipulate and extend these systems.
This is why many of us believe their will always be some need for procedural programming, but certainly not for building standard web applications that are controlled by style sheets and user interaction forms. Like the finch, declarative languages need a little longer to evolve. It sometimes takes years for a small vocabulary of functional specification patterns to emerge and be given labels. Additionally, it can takes years for the standards bodies to agree on the best way to deliver these new languages in a set of semantically precise data elements that have unambiguous interpretations. Finally, it may take another few years for IT managers to realized that they really do lower costs if they avoid vendor-specific implementations and adopt worldwide standards.
When CSS first came out you may have been a little reluctant to let web designers play with a rules engine. As XForms becomes ubiquitous you may be resisting change because you have invested so much time and energy learning how to debug JavaScript (without a debugger). You can not hold back the forces of evolution…and now we all need to adapt to the declarative world or risk our own extinction.
If you are interested in more on this topic see my Presentation from the 2007 Semantic Technology Conference <a href="http://www.danmccreary.com/presentations/sem-web-07/">The Semantics of Declarative Systems</a>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-24492401973368261522008-05-27T07:33:00.001-05:002008-05-27T07:41:25.795-05:00XRX: Simple, Elegant, DisruptiveI recently started writing for O’Reilly Media. I posted an article on XRX.
Here is the link:
<br/>
<a href="http://www.oreillynet.com/xml/blog/2008/05/xrx_a_simple_elegant_disruptiv_1.html">http://www.oreillynet.com/xml/blog/2008/05/xrx_a_simple_elegant_disruptiv_1.html</a>
<br/>
We are just getting started moving to a new MoveableType (MT) system so not all of the features (like keywords and feedback) are working.
<br/>
If you have problems commenting on the site, please feel free to post your comments here.
<br/>
Here is a comment from Arun Batchu:
<br/>
<em>An elegant introduction to an elegant architecture, Dan. Thank you. The essential takeaway from what you describe is the exploitation of XML from one end to the other end - especially from the Developer's perspective, for, how XRX actually manifests in runtime could be left to implementation technologies. Thus the logical architecture of XRX could be realized by a few variations of concrete technology - which is great. The XForms could be realized by XForms server technology (such as the excellent Orbeon stack), the ReST could be realized by any middle tier and the XQuery could be realized by an XQuery engine (such as Data Direct) that may actually be driving any one or a combination of datastores (XML, SQL, file system or ...) . The symmetrical and consistent leverage of XML as a data model from creation to transport to rest and back eliminates a whole lot of wasteful work. Like you point out, XPath is one of the most powerful query systems I have encountered; you can pack so much in so little and reuse it across the board with little if any change from the drawing board to production. In such a system as you describe, a business rule expressed once can be reused anywhere - from one end-to-end , however long the travel, as long as the architecture is XRX, like you have described. Thanks for expressing it so well. A few of your readers will not get it - it is one of those things that once you experience it, you are left wondering why this did not happen before. Oh, well!</em>
<br/>
<br/>
You are welcome! Thank for your feedback Arun!Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-4444034011876705752008-03-22T11:34:00.000-05:002008-03-22T11:40:11.066-05:00XForms, Dyslexia and the Right Brain<p>Those of you that have worked with me know that I am a little bit of an odd-duck. I have dyslexia. If you ever see me attempt to write on a whiteboard my spelling is at the ninth grade level. My left brain, used for phoneme recognition, never really developed like the rest of you. My right brain had to be co-opted to help out. But one of the skills I seemed to have picked up due to my over-exercised right brain is the ability to visualize multiple complex application architectures and quickly understand architectural tradeoffs. I am one of the few people that seem to be interested in discussing how XForms, metadata registries, ontologies, the semantic web, OWL, RDF, graphs, business rules, BPM and Kimball conformed dimensions all can work together to deliver elegant and cost-effective enterprise-scale solutions. It seems easy for me to simultaneously visualize two or more architectures and it constantly challenges my patience when I have to explain over and over why architecture alternatives will not meet a business requirement.</p>
<p>It turns out that many people that have dyslexia also have the gift of being able to visualize complex systems. Albert Einstein, Thomas Edison, Jackie Steward and Charles Schwab are good examples of dyslexic people that have used the strengths of the right brain to do things that left-brain thinkers could not.</p>
<p>As a right-brain centric person I need to also tell you that I really love the XForms architecture. The magic of a declarative language, MVC, bindings and a dependency graph makes XForms development 10 years more advanced than anything else I have worked with. I think it is beautiful and elegant. It is everything that AJAX and JavaScript application are not. Clean, simple and easy to visualize (for me at least). When someone asks me if I can create an XForms application to do something, I create a mental image in my mind of the model, the view and how events will update instance data in the model using inserts or external submission results. I can easily visualize the bindings of view controls to data elements in the model. Once I can visualize the application clearly, writing the application is just a matter of typing in the code.</p>
<p>I think that my right-brain is also a reason I detest JavaScript and AJAX. It is far too much code to read and trying to visualize how 300 lines of JavaScript enables me to do a drag-and-drop. I want to just add an attribute to an element like "drag-source" and "drop-target" and I want it to just work.</p>
<p>What triggered this posting is that I have been reading <i>Proust and the Squid</i> by Maryanne Wolf. This is a book about how the brain's circuits are used in the reading process. She has a wonderful explanation of how the dyslexic brain co-opts the right brain for reading and enhances it functionality. I didn't really understand the relationship between my defects and my gifts .</p>
<p>So how about you and your development team? Do you have a dyslexic right-brained person on your team? Can they quickly visualize architectural tradeoffs? Have they tried XForms? And if they do, will you be willing to tolerate their disgust of AJAX and JavaScript after they have built their first XForms applications?</p>
For more information about dyslexia check out these two Wikipedia entries:
http://en.wikipedia.org/wiki/List_of_notable_people_diagnosed_with_dyslexia
http://en.wikipedia.org/wiki/DyslexiaDr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-70890489780630402782008-03-21T15:01:00.001-05:002008-03-21T15:55:02.964-05:00Great Example of Multi-dimensional Bubble ChartHere is a beautiful example of a bubble chart display using global population statistics. The example on carbon emissions are very interesting.
Note the dimensions
<ol>
<li>
Population of County (size of bubble)
</li>
<li>
Continent (color of bubble)
</li>
<li>
Live Expectancy (vertical axis)
</li>
<li>
Income (horizontal)
</li>
<li>
Time (the play button)
</li>
</ol>
It is interesting to see the huge impact AIDS has had on the life expectancy in African counties.
Imagine if you could see your organizations product sales using this type of graph.
This application was done with a software system called Trendalyzer. It was initially developed by Hans Rosling's Gapminder Foundation in Sweden and acquired by Google Inc. in March 2007. This version is a Flash application.
Does anyone know of any open-source software that could do this?Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-10161714197170420872008-03-21T11:06:00.004-05:002008-03-21T16:02:08.866-05:00Metadata Repositories vs. Metadata Registries<p>For several years people have been using the terms metadata <b>Registry</b> and <b>Repository</b> inconstantly, imprecisely and almost interchangeably and I would like to weigh in as to how these terms could be used more precisely to allow organizations to effectively to manage metadata processes.</p>
<p>
First lets take the definition of a <b>Repository</b>. Webster defines a repository as <i>…a place, room, or container where something is deposited or stored.</i>. Note that here is nothing in this definition about the quality of the things being stored or the process to check to see if new incoming items are duplicates of things already in the repository. If I have 100 users they could each define "Customer" as the see fit and put their own definition into the metadata repository as their own definition. No problems.</p>
<p>On the other had lets take the word <span style="font-weight: bold;">Registry</span>. A Registry has the connotation of more than just a shared dumping ground. Registries have the additional capability to create workflow processes to check that new metadata is not a duplicate (for a given namespace). One of the definitions from Webster is <span style="font-style: italic;">an official record book</span>. Note the word <span style="font-weight: bold;">official</span>.</p>
<p>A Repository is similar to a front-porch of a house. No locks prevent new things from landing there. But a Registry is a protected back room where human-centric workflow processes are used ensure that metadata items are non-duplicates, precise, consistent, concise, distinct, approved and unencumbered with business rules that prevent reuse across an enterprise. These registries have become the central foundation that agility can be baked-in to many enterprise process. The latest version of the Kimball's <i>Data Warehouse Lifecycle Toolkit</i> (which is actually a very good read) even goes as far as to call their process "metadata-driven". Not different the model-driven development world.</p>
<p>Registries have the implicit connotation of trust behind them. They now serve a a central process for the creation of shared meaning across the enterprise. Definitions in a registry have been vetted by an enterprise-level organization that has the responsibility of enterprise data stewardship. They have a high probability of being consistent with industry best-practices and vertical industry standards. Registries are the go-to source for creating canonical XML schemas, enterprise ontologies or conformed dimensions in a OLAP cube. Repositories are personal or small departmental definitions of an isolated view of the world.</p>
<p>None of these ideas are really new. They are at the core of the ISO/IEC 11179 metadata registry standard. Note that they don't call it a <span style="font-style: italic;">repository </span>standard! People are just now starting to understand how important Registries are in most enterprise-wide systems. The growth of Business Intelligence and Enterprise Data Warehouse terminology and Service Oriented Architectures is a good place to see the rise of repositories and registries. We now see service registries, portlet registries, model registries...the list goes on-and-on.</p>
<p>Much of the background on the differences between the use of repositories and registries can be traced way back to the early days of object-oriented systems in the 1995 book <i>Succeeding with Objects</i> by Adele Goldberg and Kenneth Rubin. This was one of the first books on enterprise reuse strategies and they defined the concept enterprise asset reuse and the need for a trust-driven repository as a basis for reusing assets. They identified a multi-step process for reviewing new submissions to determine if the submission duplicated existing assets. They showed how critical it was to classify items in a registry and search an existing registry for duplicates before new items are added. If you can get a copy of the book I would suggest you read the section on "Set Up a Process for Maintaining Reusable Assets" on page 245.</p>
<p>The book then goes on to show how organizations can and should be structured to reuse these assets and gives the pros and cons of the differing organization structures and their impact on reuse. This is the basis for the data governance and data stewardship movement in many organizations today.</p>
<p>
So the next time someone uses the word registry or repository in a conversation, ask them if they are using the definition of the word that is consistent with the corporate business term registry or is their own private definition from their own repository of imprecisely used buzzwords.</p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-5797736993147999432008-03-09T16:52:00.001-05:002008-03-09T17:43:42.802-05:00XForms Tutorial and Cookbook Voted Featured Wikibook!<p>
I am happy to announce that the XForms Tutorial and Cookbook that I have been working on for over a year been voted a "Featured Book" on the wikibooks web site. A quote from the award:
</p>
<p style="font-style:italic;">XForms is a featured book on Wikibooks because it contains substantial content, it is well-formatted, and the Wikibooks community has decided to feature it on the main page or in other places. Please continue to improve it and thanks for the great work so far!
</p>
<p>
Here are some stats on the book so far:
90 sample programs</br>
116 chapters</br>
626 edits</br>
28,811 words</br>
29 registered authors
</p>
<p>One of the big tasks is to start to move some of the advanced XForms examples that require siginficant server-side logic to a seperate server-specific book. As a pilot I have started an <a href="http://en.wikibooks.org/wiki/XRX">XRX</a> cookbook for people using REST interfaces and the eXist server.
</p>
<p>
I would like to thank the over 30 others that have contributed ideas and content to this wikibook. We still have lots of work to do to cleanup the example programs, make them more consistent and add additional examples for new XForms students. But I believe it is one of the best examples of collaborative training that I have worked on in the last few years.
</p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-12335817574668668232008-01-06T12:02:00.001-06:002008-03-21T16:04:32.024-05:00XRX and MDA<b>Summary</b>
<p>This posting describes how using three technologies (XForms, REST and XQuery or XRX) you can dramatically transform your organizations development methodology. You can move true model-driven architecture (MDA) that dramatically reduces the temptation to duplicate code.</p>
<p>In January of 2007 I was working on a complex real-estate forms project for a state agency in Minnesota. Our job was to get 87 counties across the state of Minnesota to agree on the over 250 data elements that describe real estate transactions. We had spend months developing a complex XML Schema and web forms with over 50 one-to-many relationships. And out next task was to be able to save the form <p>data into a structure that could be quickly queried by any of these 250 data elements. But the prospect of "shredding" the documents up into 50 distinct SQL INSERT statements and then reconstituting the documents with 50 distinct SQL SELECT statements was going to require doubling our small team of four to at least eight developers. We didn't have the budget or schedule to do this. After chatting with Kurt Cagle he suggested saving the data to a database that supported XQuery. Both the open source eXist native XML database and our corporate standard, DB2 supported XQuery. It turned out that we could indeed save the entire document with a single command and still perform complex queries on any element in any document. Our project could proceed with a small team and stay on schedule.</p>
<p>And then an interesting thing happened. Our team started to understand that if we saved additional metadata in these native XML data stores we could accelerate our project even further. Every pick-list in every form could dynamically call REST-enabled web services to get their values. XML Schemas could be stored in the databases and be queried. We had found a simple and elegant solution to the pervasive problem of where to store the model in a model-driven development project.</p>
<p>In the past I had been on large teams of developers that attempted to use model-driven development. But although we started out each project with idealistic goals, each time we were faces with a classic option: copy, paste and edit the model or write a transform. The copy and paste solution was quick but it would have to be redone each time the model changes. The transform took longer to write but then could be rerun each time the model changed.</p>
<p>Like most developers, I always was over-optimistic that I had done my homework and done accurate and detailed modeling of the problem. I thought the models were stable and would not change very often. And I was almost always wrong. Models do change and sometimes in totally unexpected ways.</p>
<p>But by storing our models in a native XML database an interesting started to happen. We could quickly transform the models (stored in XML) into other artifacts with simple XQueries. It became far less tempting to commit the sins of copy/paste/edit when it only took five minutes to create another transform. And most remarkably, each of these transforms was another REST enabled web service that could be reused by many web clients or other development tools.</p>
<p>So how do you get started? You might try the following steps.
<ol>
<li>Download the exist database from http://www.exist-db.org</li>
<li>Use a WebDAV interface and copy some XML Schema documents into a collection</li>
<li>Write a few small XQuerys that pull metadata out of your XML Schemas. For example pull out all the enumeration values out of an element.</li>
<li>Use those XQueries to drive some aspects of your development such as an XForms selection list.</li>
<li>Compare the amount of code you wrote with any other MDA system. If you don't have at least a 10 to 1 savings I would be very surprised.</li>
</ol>
</p>
<p>What do you think? Do you have a more efficient way to query your model? Let me know!</p>
<p>- Dan</p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-57360989037993496672007-12-17T19:28:00.000-06:002007-12-17T19:30:35.498-06:00And the Winner is: eXist-db.org My Award for the Most Innovative Product of 2007<p class="MsoNormal">As the year starts to come to a close we often take some time to look back at the year and look at the innovations that we have seen that have changed our worldview.<span style=""> </span>I can think of many things that have had a large impact on me: The FireFox XForms extension, discovering the beauty of a well-designed REST interface, the mule enterprise service bus, Yahoo pipes and microformats all come to mind.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">But after careful consideration I have to hand my award out to <b style="">the most innovative application of the year</b> to me to the <b style="">eXist database/web server</b>.<span style=""> </span>This application constantly amazes me with what I can do with it.<span style=""> </span>If you have a Java JVM on your desktop it only take a few minutes to get it running.<span style=""> </span>Hit the startup script and you have a web server running on localhost:8080.<span style=""> </span>Open a WebDAV browser and drag-and-drop you files and folders and away you go.<span style=""> </span>With eXist I can easily setup a full enterprise metadata registry on a laptop in under five minutes.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">The power of eXist comes from its use of the XQuery engine.<span style=""> </span>Any well-formed XML file that is added to the system gets instantly indexed and can instantly be searched.<span style=""> </span>That means that 10ms after you hit the "Save" on your XForms you can see the data appear in XQuery reports.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">But the "Secret Sauce" of eXist rests in it's use of a lightweight Jetty web server with a remarkably integrated REST and WebDAV interface.<span style=""> </span>This means that every XML file…is a static web service.<span style=""> </span>This means that every XQuery that returns XML…is a dynamic web service that you can parameterize.<span style=""> </span>This means that you can be writing your first web services in fifteen minutes that can be grabbing data from a dozen different XML files and quickly serializing the results out the wire.<span style=""> </span><st1:place st="on"><st1:city st="on">Enterprise</st1:city></st1:place> mash-ups at your fingertips.<span style=""> </span>Very little programming is done other then selecting data.<span style=""> </span>Just like it should be.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">eXist technologies are going to start to have a big impact once XForms/REST and XQuery (XRX) web development matures.<span style=""> </span>I predict this is going to happen in the next three years.<span style=""> </span>An although IBM, Microsoft, Oracle and many others are supporting XQuery in a big way, they don't yet have the really smooth integration with next-generation XForms-driven clients.<span style=""> </span>You still need teams of <st1:city st="on"><st1:place st="on">AJAX</st1:place></st1:city>, JavaScript, Java, .Net and SQL programmers to build simple web services for rich client interfaces.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">I must admit it took me a little while to really understand how the simplicity of the interface really rocked my world.<span style=""> </span>Just swap out the world "rest" in the URL and replace it with the word "webdav" and you go from a data browser to a file system that works with every copy/cut and paste operation of the file system.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">It is also interesting to note that this product did not come out of a Bay Areas startup, it didn't come out of Google Labs, it didn't come from Microsoft or IBM.<span style=""> </span>From what I can tell the initial version was pretty much written by a single guy in <st1:place st="on"><st1:country-region st="on">Germany</st1:country-region></st1:place>, Wolfgang Meier.<span style=""> </span>It think this shows that there is still room for true innovation by a single individual in this world.<span style=""> </span>Although eXist now appears to have a great team of people behind it, it shows that a single person with a clear architectural can put the right pieces together really can make a difference in the world.<span style=""> </span>Our teams could not have been as productive with XForms if we didn't have a clean and elegant tool like eXist behind our forms.<span style=""> </span>I know that XRX innovators will no be able to stand on Wolfgang's shoulders and build incredible applications.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">Thanks Wolfgang! <span style=""> </span>Your labor of love is growing up!</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><o:p> </o:p></p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-9675549671317086672007-12-14T08:08:00.000-06:002007-12-14T08:13:32.921-06:00Introducing the XRX Architecture: XForms/REST/XQuery<p class="MsoNormal">
At the XML 2007 conference there were many people that seemed to have independently discovered that if you combine XForms/REST and XQuery you can create a software development environment that circumvents the need for middle tier objects and conversion to and from relational databases.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">The conference also had a great deal of discussion of how XForms is a great architecture but as Elliot Rusty Harold pointed out, we need something to happen for XForms to replace things like <st1:city st="on"><st1:place st="on">AJAX</st1:place></st1:city>.<span style=""> </span>Although Rusty did propose a few interesting ideas (like getting XForms built into FireFox) I feel what we really need is a contagious meme. And I think it goes beyond XForms.<span style=""> </span>What we need is an easy-to-remember and easy-to-communicate name for a collection of great ideas.<span style=""> </span>For example there are few books that have the word <b style="">XMLHttpRequest</b> in it.<span style=""> </span>But there are hundreds of books with <st1:city st="on"><st1:place st="on">AJAX</st1:place></st1:city> in the title.<span style=""> </span>Once the word <st1:city st="on"><st1:place st="on">AJAX</st1:place></st1:city> was coined the meme started to spread.<span style=""> </span>The world was waiting for the "sticky" label behind the concepts.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">What XForms needs is a label around the collection of ideas that makes XForms really give you an order-of-magnitude improvement over other web development architectures.<span style=""> </span>I would like to suggest that we get behind one "label" that brings many of use under one big tent.<span style=""> </span>I would like to suggest we use "XRX".</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">XRX to me would stand for the ideas behind XForms/REST/XQuery web applications.<span style=""> </span>But if people are using XHTML as a container for XForms you could use XHTML/REST/XQuery.<span style=""> </span>Just spare use the "J" which is associated with a hard-to-use language for über geeks.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">You could also use XRX for the format of the data in the client and on the server.<span style=""> </span>In this case it would be XML on the client (in the XForms Model), and in a native XML database that supports a REST interface.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">We can still build awesome tools and frameworks that make the XRX architecture really fly.<span style=""> </span>IBM Workplace Forms Development tools, Orbeon Presentation Server, Kurt Cagle's new frameworks that use the eXist native XML database, and the hundreds of other XForms development tools all fit into the XRX strategy.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">But if we make XRX into a "big tent" strategy we can also include XQuery on the server as part of the architecture.<span style=""> </span>This would include people like Jason Hunter at MarkLogic.<span style=""> </span>Jason is an experienced Java developer that has started to move away from Java on the server and toward XQuery because of its richness.<span style=""> </span>And I could not agree more.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">I have been reading the book <i style="">The Tipping Point: How Little Things Can Make a Big Difference</i> by Malcolm Gladwell and trying to apply the ideas in it to the adoption of XForms and XQuery.<span style=""> </span>I think that the book has many example of how a careful packaging of the ideas behind a contagious meme can make ideas spread like widefire.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">So when we hear the term "XRX" we want to have the following concepts come to mind:</p> <p class="MsoNormal"><o:p> </o:p></p> <ol style="margin-top: 0in;" start="1" type="1"><li class="MsoNormal" style="">A web development architecture with a 10x productivity improvement over traditional JavaScript/OO/RDBMS methods</li><li class="MsoNormal" style="">A development architecture based on international standards that is designed to minimize the probability of vendor-lockin</li><li class="MsoNormal" style="">An architecture that gives a rich user experience without creating mountains of spaghetti procedural code on either the client or the server</li><li class="MsoNormal" style="">A system that leverages the REST architecture to take advantage of high-performance and simple interfaces using web standards</li><li class="MsoNormal" style="">Portability on both the client and the server using a variety of forms players and XQuery databases</li><li class="MsoNormal" style="">The option of avoiding costly shredding (and reconstitution) of complex XML documents into RDBMS tables</li><li class="MsoNormal" style="">A community of standards/tools and a "complete solution" ecosystem that can give you a proven ROI on your IT investment</li></ol> <p class="MsoNormal" style="margin-left: 0.25in;"><o:p> </o:p></p> <p class="MsoNormal">I don't expect everyone to buy into the XRX meme ideas.<span style=""> </span>Everyone has their own favorite tools/standards and acronyms.<span style=""> </span>But everyone that was at the XML 2007 conference could feel the excitement in the room at the XML presentations.<span style=""> </span>Now we need to give that excitement a name and see if it sticks.<span style=""> </span>Hopefully a few years we will be able to walk into a bookstore and see a bunch of books with "XRX" on the cover.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">What I now need is for people to start to test the<span style=""> </span>XRX meme and see if it slicks.<span style=""> </span>Let me know what works and what does work.<span style=""> </span>Send me your 30-second elevator pitch. How big should the idea tent be?<span style=""> </span>What do we have to do to get more people in our tent?<span style=""> </span>What evidence (case studies), example programs and resource do we need to convince the world we have seen the light …and its so elegant and beauty to will keep us from ever going back to the stone age of web development.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><o:p> </o:p></p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-64588873381970680092007-12-12T10:12:00.000-06:002007-12-12T10:28:29.082-06:00Dynamic Graphs for K-12 Educators<p>At the recent XML 2007 conference in Boston several of us met to discuss what we could do to promote FireFox and some of the important standards built into
FireFox (or almost built into FireFox). Specifically several of us were
using XForms and SVG and thought that the combination offered some great opportunities.</p>
<p>
It was pointed out that the combination of the XForms range control (a
slider control) and SVG allowed developers to create dynamic graphs for
teaching educational concepts. There is an example here:</p>
<a href="http://en.wikibooks.org/wiki/XForms/Pie_Chart">http://en.wikibooks.org/wiki/XForms/Pie_Chart</a>
<p>
Note there is a link to the actual program here which you will need to use the FireFox XForms extension to view.:</p>
<a href="http://xforms-examples.googlecode.com/svn/trunk/10-full-examples/86-piechart-range-controls/pie-chart.xhtml">http://xforms-examples.googlecode.com/svn/trunk/10-full-examples/86-piechart-range-controls/pie-chart.xhtml</a>
<p>So several of us are interested in putting together a grant to develop
SmartBoard enabled educational content for the K-12 market using a combination of
FireFox, XForms and SVG. The goal would be to create a "Killer App" for
FireFox in the K-12 space. Ideally we will build 100 demos of some of the most useful dynamic graphs and then build a framework for teachers to extend these applications.
</p>
<p>
I also have a few Supply and Demand examples that run under IE but require the SVG add-on and just just plain JavaScript for the range-controls:
<a href="http://http//www.danmccreary.com/svg/">http://www.danmccreary.com/svg/</a> You will note that visualizing the maximum profit by the area of the square under the triangle is much easier when you add the motion.
</p>
<p>It was also pointed out that the Mozilla foundation has the funds to support this type of development and that they might fund a grant to build the top 100 useful dynamic graphs. We could then start building a toolkit to extend these dynamic graphs using some of the advanced drag-and-drop connection-based programming parts of SVG and FireFox. The kit should shield the average middle school physics teacher from haveing to write and debug JavaScript.</p>
<p>Let me know what you think - Dan</p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-86626476204326534122007-12-08T17:23:00.000-06:002007-12-09T10:35:02.057-06:00Impressions of XML 2007 in Boston<p class="MsoNormal">I returned from the XML 2007 conference in <st1:city st="on"><st1:place st="on">Boston</st1:place></st1:city> with my head spinning about all the new developments with XForms and XQuery.<span style=""> </span>The conference was three days long and had between three and five tracks going concurrently.<span style=""> </span>My impression was that there were about 400 people there.</p> <p class="MsoNormal">Here are some of the highlights for me.</p> <p class="MsoNormal"><b style="">XForms</b> appears to be getting lots of traction.<span style=""> </span>The XForms sessions were all packed with standing-room only in most of them.<span style=""> </span>The presenters we passionate that the combination of XForms, REST and XQuery has had a huge impact on their projects and may soon impact the rest of the development world.</p> <p class="MsoNormal"><b style="">Microformats</b> are definitely starting to make huge strides where Metcalf's Law will start to kick in.<span style=""> </span>The existence of 450 million tags and five FireFox microformat extensions indicate that within a year it will be just part of web publishing best practices.<span style=""> </span>Even Microsoft is said to be supporting Microformats in IE 8, just a few years from now.</p><p class="MsoNormal"><b>Taylor Cowan</b> (who works for Sabre) gave an excellent presentation on how Microformats can be extended into the travel space with an Atom based format for publishing trip ideas. His use of Atom and semantic web technologies was right in line with my vision of how personalized agents are going to leverage microformats.
</p> <p class="MsoNormal">John Boyer's demo of IBM's <b style="">Workplace Manager</b> showed that you can now purchase top-shelf XForms GUI design tools that does not lock you into a proprietary vendor solution.<span style=""> </span>I hope the people from Microsoft, Adobe, FairIsaac, Altova, Google GWT and other vendors take notice.<span style=""> </span>Locking your users into a Java or JavaScript client is no longer an acceptable strategic option for developing web applications.<span style=""> </span>Wake up everyone!<span style=""> </span>Are you listening? We have a standard that works and lets now start building more great tools that use this standard.<span style=""> </span>XForms is the only system that is creating as John puts it "Order of Magnitude" increases in developer productivity.</p> <p class="MsoNormal">Mark Birbeck's <b style="">Sidewinder</b> demo showed that XForms is breaking out of the browser an on to the desktop.<span style=""> </span>Showing web and iPhone web pages directly in desktop widgets was a great demonstration of the power of XForms.</p> <p class="MsoNormal"><b style="">Kurt Cagle's</b> presentation about problems with programming with the fragile DOM model in JavaScript was interesting in its format.<span style=""> </span>The presentation was actually an XForms application running on eXist.<span style=""> </span>Kurt "eats his own dog food" on the client and the server!<span style=""> </span>I am humbled by the man.</p> <p class="MsoNormal">Jason Hunter from <b style="">MarkLogic</b> (an XML database vendor) gave an nice demo of the MarkMail.org application and showed that, yes, XQuery databases really do scale to the terabyte range.<span style=""> </span>He has about 4 million e-mail messages indexed and you can do combinations of database and text searches in a few seconds.<span style=""> </span>In other words a demonstration of how real-world analytics comes to XQuery.<span style=""> </span>I also found out that MarkLogic is free if your database is under 100MB.<span style=""> </span>Perfect for 10MB of metadata in a metadata registry.</p> <p class="MsoNormal">The people from IBM research labs appear to be starting to take the XForms MVC architecture and really run with it.<span style=""> </span>We saw some very interesting presentations on how future standards for data driven <span class="caps">XML</span> Application Components (XACs) and State Chart <span class="caps">XML</span> (SCXML) might be used in the future to make browser-based mash-ups easier.<span style=""> </span>Componentization, composition, customization and reuse are all part of this architecture and it would not be possible without XForms MVC architecture. Hopefully Charles Weicha from IBM research will post his slides so you can see more.</p> <p class="MsoNormal">Norm Walsh also talked about how the new <b style="">XML Pipeline standard</b> (<b style="">XProc</b>) is starting to take shape.<span style=""> </span>Even though the standard is still in working draft there are already at least five implementations of the standard.<span style=""> </span>This single standard could have more impact on the shape of server-side processing then any other standard coming out of the w3c. <span style=""> </span>Integrating this into XQuery-based application servers seems to be the next step.</p> <p class="MsoNormal">The <b style="">eXist</b> database also seemed to clean up all the open source native XML database talks.<span style=""> </span>eXist was mentioned in over a half-dozen presentations and there were no other native XML databases even mentioned in the presentations I attended.<span style=""> </span>It is not surprising that eXist is now the top hit on Google when you search for "XML database".</p> <p class="MsoNormal">One of the most interesting presentations that I did not get a chance to see (but I did talk to the presenter afterwards) was <b style="">Thomas White's</b> presentation on using XSLT in the browser to get a 10x speedup in form rendering.<span style=""> </span>It turns out that implementations of XForms players like FromFaces use heavyweight JavaScript objects in the browser.<span style=""> </span>Thomas has found that a donkey cart can be turned into a sports car by implementing an in-browser XSLT centric event scheduler. If his architecture is implemented we could see vastly better XForms players in the future. <span style=""> </span>Lets all hope that Thomas's architecture comes to the XForms world sooner than later.</p> <p class="MsoNormal">I did not attend any of the XML publishing tracks. <span style=""> </span>But from the titles it appears that the Darwin Information Typing Architecture (DITA) standard is a hot topic. <span style=""> </span>Presentations on using XSL-FO and CSS for book and other print publishing were also on the agenda.</p> <p class="MsoNormal">I also did not attend too many of the XML in the <st1:city st="on"><st1:place st="on">Enterprise</st1:place></st1:city> tracks.<span style=""> </span>There were good presentations on XML accelerators, security and mining XML Schemas.</p> <p class="MsoNormal">I am disappointed that the conference organizers did not do anything to require that people post their presentation on the web site <b style="">before</b> their talk. <span style=""> </span>There were many very interesting presentations that could have a larger impact the world and the sloppiness of people not publishing their slides seems to be a little unprofessional.<span style=""> </span>There were some people that just brought their digital cameras and took pictures of each slide. <span style=""> </span>Smart.</p> <p class="MsoNormal">In summary I think that the conference had two types of people:</p> <p class="MsoNormal">First there were people that had <span style="font-weight: bold;">not</span> done extensive work with XForms.<span style=""> </span>The first group I call the "evolutionary proceduralists".<span style=""> </span>Theses were people that were trying to beat the dead horse by patching the old-style procedural web application architecture with JavaScript, JSON and <st1:city st="on"><st1:place st="on">AJAX</st1:place></st1:city> hacks.<span style=""> </span>They seemed to spend a lot of time arguing about the merits of JSON vs. XML as a data transport syntax.</p> <p class="MsoNormal">The other type were "the enlightened innovators".<span style=""> </span>People that have seen the real world benefits of dumping object middle-tier stacks and relational databases and going with a pure declarative approach to solving business problems based around XForms/REST and XQuery. <span style=""> </span>These were the people that are going to lead innovations in application development.</p><p class="MsoNormal">I was also impressed how a large percentage of XML innovations came from outside the US. I attribute the fact that some of the best presentations came from the UK to be the "Michael Kay" effect.
</p> <p class="MsoNormal"><b style="">Beauty is in the Eye of the Beholder<o:p></o:p></b>
At one of the XForms sessions a young Ruby advocate stated that he thought his Ruby code was "beautiful" but he did not himself think that XForms code was "beautiful".<span style=""> </span>Most of the people in the audience agreed that XForms was beautiful but like any new language, it takes getting used to.<span style=""> </span>Beauty is the process of your visual cortex recognizing familiar patterns and signaling your pleasure centers.<span style=""> </span>If you have never read Japanese then the most profound Haiku written in the most beautiful script will not have beauty.</p> <p class="MsoNormal">XForms/REST/XQuery to me is indeed beautiful.<span style=""> </span>Its beauty comes from its ability to quickly map real-world requirements into working systems with high fidelity.<span style=""> </span>No other system in the world approaches its elegant architecture.<span style=""> </span>And after XML 2007 I realized I was not the only one that had independently reached this conclusion.</p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-3481885081496843322007-11-15T06:11:00.000-06:002007-11-15T06:28:45.386-06:00Full text Search Standards for XQuery<p class="MsoNormal">I have been using the eXist (http:www.exist-db.org) native XML database for almost a year now and I am constantly impressed by the power and depth of the eXist community.<span style=""> </span>XQuery is a great way to search XML documents and most of my XSLTs that manage metadata are now being transferred to XQuery. <span style=""> </span>Although there are still some places that XSLTs are superior, XQuery is much easier to use when I am building RESTful web services for metadata.<span style=""> </span>My XForms are frequently generated directly from XQuery programs.</p> <p class="MsoNormal">It is interesting to note that eXist is now dominating all the Google search results for "XML database". <span style=""> </span>Leading the pack and pulling away!</p>
<p class="MsoNormal">From my days doing IT strategy I recall a great deal of analysis done by Adele Goldberg and Kenneth S. Rubin and documented in their excellent book <i style="">Succeeding With Objects: Decision Frameworks for Project Management</i>.<span style=""> </span>This is an excellent book based on over 50 case studies on reuse and top-notch analysis of the role of trust in any high-reuse culture.</p> <p class="MsoNormal">One of the key points in the Goldberg/Rubin analysis was the factors that cause people to be able to reuse assets. <span style=""> </span>In their case the assists were programming objects.<span style=""> </span>I my case I am concerned with the reuse of data objects. <span style=""> </span>From simple data types that are part of the XML Schema standards to registered data elements in a metadata registry.<span style=""> </span>Registered data elements have an approval process and have semantics that span a group, project, program or enterprise.</p> <p class="MsoNormal">But the pattern that reoccurs is that people need to be able to quickly find assets before they can reuse them.<span style=""> </span>One of my main points in my work is that you can not reuse what you can not find. <span style=""> </span>The corollary is that the longer it takes to find an asset the higher the temptation is to recreate the asset. <span style=""> </span>That is where the search functions of a metadata registry needs to come in. <span style=""> </span>It must be fast and accurate.</p>
<p class="MsoNormal">The quality of a metadata registry also depends on strategies about informing users when two data elements have the same semantics and are potentially duplicates. To find this we need semantic nearness searches for data element definitions.</p>
<p class="MsoNormal">Today I am providing simple substring searches. <span style=""> </span>But I know that text mining can provide semantic nearness searches. <span style=""> </span>I was glad to see that the world-wide web is working on full-text search standards for XQuery.<span style=""> </span>The w3c <a href="http://www.w3.org/TR/xquery-full-text/">http://www.w3.org/TR/xquery-full-text/</a>standard has now reached the working draft last-call stage and I hope that we soon start to see implementations that take advantage of these features.<span style=""> </span>I know that Google's support of this project for eXist (see <a href="http://exist.sourceforge.net/soc-ft.html">http://exist.sourceforge.net/soc-ft.html</a>) is a very good sign.</p> <p class="MsoNormal">I was also fortunate to work with Gary Berosik on the Advocate Agents project. <span style=""> </span><st1:city st="on"><st1:place st="on">Gary</st1:place></st1:city> works for Thomson/West Publishing that has a large group of people doing text mining.<span style=""> </span><st1:place st="on"><st1:city st="on">Gary</st1:city></st1:place> introduced my to the <i style="">Text Mining Application Programming</i> book by Manu Konchandy. This book has excellent sections on the decomposition of free-form text into parts of speech for information extraction, clustering, categorization and search.</p> <p class="MsoNormal">I hope that eventually the w3c will approve the full text extensions to XQuery and that they will make it into the eXist system. Based on this link <a href="http://exist.sourceforge.net/soc-ft.html">http://exist.sourceforge.net/soc-ft.html </a>I am hoping that it will be in the next few years.
</p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-16691781326842756312007-10-18T05:02:00.000-05:002007-10-18T05:16:05.625-05:00When XML Schemas Imports Become XQueries<p class="MsoNormal">For the last five years I have been using a <a href="http://en.wikipedia.org/wiki/XML_Schema">XML Schema</a> design process that I learned from the people at <a href="http://justicexml.gtri.gatech.edu/">Georgia Tech Research Institute</a> as part of my work with <a href="http://en.wikipedia.org/wiki/GJXDM">GJXDM</a> and the <a href="http://www.niem.gov/">NIEM</a>.<span style=""> </span>This work has strongly been influenced by Jim Heldler who co-wrote the <a href="http://www.sciam.com/article.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21">Semantic Web article</a> with <a href="http://www.w3.org/People/Berners-Lee/">Tim Berners-Lee</a>.<span style=""> </span>Although GTRI wanted to use RDF (graphs) to represent the exchange data they had to settle on using XML and XML Schemas since those technologies were widely used by most criminal justice agencies already.<span style=""> </span>They compromised by still using a striped model within the XML Schema driven structures.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">Creating an exchange documents starts with creating a metadata registry of all the data elements used in a family of XML Schemas.<span style=""> </span>A <a href="http://gjxdmtools.gtri.gatech.edu/ssgt/SSGT-Search.do;jsessionid=695C4213D06BD1D7A1AC2D6F323B4778">shopping-cart-like tool</a> is used to select a subset of the data elements.<span style=""> </span>These data elements form a "<a href="http://justicexml.gtri.gatech.edu/wantlist_1.xsd">wantlist</a>" of data elements.<span style=""> </span>The checkout process creates a zip file that when uncompressed creates a set of<span style=""> </span>XML Schema file that you import into your constraint schema.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">This process is an order-of-magnitude to use than before the subschema generation tools were created by GTRI.<span style=""> </span>The subschema generated by the checkout process not only included the XML Schema type definitions but also all the data types that they depended on.<span style=""> </span>The metadata registry had an internal dependency list that it maintained and so if you needed just ten data elements but they depended on then other data types you got all 20.<span style=""> </span>you didn't have to manually figure out what additional data types to include.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">I adopted the GTRI shopping-cart process to include adding a "subscribers list" to each of my data elements used in local metadata registries and local XML Schema creation.<span style=""> </span>I used a large, complex and brittle ant script to update all the imported files for each XML Schema we were developing.<span style=""> </span>But this could not easily be done during a requirements gathering meeting.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">In the past we have viewed this subschema generation as a process of interacting with a web application that creates a set of files.<span style=""> </span>One of our first insights is that this process is in fact just a transformation of the metadata registry based on the rules created by a wantlist and the dependency graph.<span style=""> </span>It does not have to be a manual "batch" process.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">In a recent blog (<a href="http://datadictionary.blogspot.com/2007/10/metadata-web-services.html">Metadata Web Services</a>) I pointed out that tools like <a href="http://en.wikipedia.org/wiki/EXist">eXist</a> and <a href="http://en.wikipedia.org/wiki/XForms">XForms</a> allow us to store metadata in XML format and allow it to be easily updated by BAs and SMEs and queried using languages like XQuery.<span style=""> </span>One of the great realizations I had on my last project was that XQuery has a simple construct that allows you to "chain" web services.<span style=""> </span>The argument to the doc() function is just a URL.<span style=""> </span>If that URL points to a web service that returns XML you can easily build composite web services.<span style=""> </span>Web services that are transformations can be chained together.<span style=""> </span>This allows you to start using enterprise integration patterns to build reusable services at a very fine grain.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">Putting these facts together it has occurred to me that the ultimate goal of the metadata registry process is to allows new data element definitions and enumerated values to be changed during a XML Schema design process.<span style=""> </span>We should be able to change a definition, hit the "save" on the XForms application that edits data elements and then just refresh the generated subschema.<span style=""> </span>The refresh process must call a XQuery that calls web services that analyzes the dependency graph and updates new data elements imported into the XML Schema.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">What this does is helps us get to the goal of updating the a model quickly and generating new artifacts directly from the model.<span style=""> </span>This is part of the overall <a href="http://en.wikipedia.org/wiki/Model-driven_development">model-driven development</a> process.<span style=""> </span>The artifacts we create include XML Schemas, instance documents generated from the XML Schemas and XForms applications to view and edit the documents.<span style=""> </span>This faster turn-around time allows our users to quickly see if their definitions and enumerated values are being precisely captured and used to create actual systems.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><o:p> </o:p></p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-10170489833836351632007-10-10T05:52:00.000-05:002007-10-18T05:18:04.786-05:00XForms Tutorial and Cookbook Being Translated to French and Used in ChinaI got a nice notes from people both in France and China that our XForms Tutorial and Cookbook are now being used in both France and China.
<br/><br/>
The French version is being hosted on a version of the MediaWiki server that also has a new macro for code syntax highlighting.
<br/><br/>
The URL for that version is here:
<a href="http://xforms.free-web-hosting.biz/mediawiki-1.9.3/index.php/Wikilivre">http://xforms.free-web-hosting.biz/mediawiki-1.9.3/index.php/Wikilivre</a>
I have not figured out if this will work in the Wikibooks yet but I have my doubts.
<br/><br/>
Hints of the Chinese version were posted by a zhouliyi from ZheJiang China. These were posted in the Cookbook Guest Registry:
<a href="http://en.wikibooks.org/wiki/XForms/Guest_Registry">
http://en.wikibooks.org/wiki/XForms/Guest_Registry</a>
<br/><br/>
Please let me know if anyone else is using XForms so we can maintain a list of users.Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-7498817615851669162007-10-10T05:41:00.000-05:002007-10-18T05:19:00.720-05:00Metadata Web ServicesI have been using the eXist native XML database/web server for about nine months now and it is starting to change the way I think about metadata management.
<br/><br/>
My latest project for a financial institution requires us to quickly build XForms to manage various metadata as well as data. What I am finding is that my old method of storing metadata in XML files on a file system and then transforming the metadata using Apache Ant was a complex process. My new approach is to store the XML directly in eXist. This used to be a little bit hard since I thought that you had to use the eXist web interface to upload each XML file and ant scripts to backup your eXist database.
<br/><br/>
This all changed when I was shown how to use the Microsoft Windows WebDAV tool. Copying files to eXist and backing up the entire data store is just a drag and drop using Windows.
<br/><br/>
Now an entire new set of metadata web services are becoming much easier to build. Take the simple task of building a pick list of enumerate values for a form. XForms allows you to use the select1 control and specify an itemset using an XPath expression. I can now just load the data elements into an instance and grab the values and labels directly from the enumerations in the metadata registry files.
<br/><br/>
The only drawback to this is the fact that you load more metadata (like the full definitions) then you need in building the form. But once again eXist comes to the rescue. It is just a few lines of code to create a little web service (using XQuery) that you pass a code table to that returns just the label/value pairs. Using this method the selection list are always up to date and don't require any "batch" updates.
<br/><br/>
What I am learning from this is that in the past, metadata management was usually an after thought. Something that the coding standards people used to enforce database column naming conventions. But with metadata being stored in eXist metadata becomes part of application services. Building apps is just assembling forms that pull metadata from the registry in real time.
<br/><br/>
If you are concerned that the metadata registry server will be overloaded with requests for information each time forms load, we should remember that these services are RESTful. The results can also be cached so they don't have to be regenerated. I still have more to learn about how to make these services fast but since metadata is small it can usually always exist in RAM and disk I/O is very limited.
<br/><br/>
All of these developments are just small pieces of the puzzle at putting well-managed metadata at the core of your enterprise development methodologies. It is really the heart of the model-driven enterprise.
<br/><br/>
Let me know if you are creating metadata web services. I would like to know what things you feel are useful to your users.
<br/><br/>
- DanDr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-72849767510133816012007-05-29T10:21:00.000-05:002007-06-30T09:14:55.104-05:00Impressions of Sem-Tech -07<p style="font-weight: bold;" class="MsoTitle"><span style="font-size:180%;">Impressions of Sem-Tech -07</span></p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">I just returned from the 2007 Semantic Technology Conference in <st1:place st="on"><st1:city st="on">San Jose</st1:city> <st1:state st="on">California</st1:state></st1:place>.<span style=""> </span>It was a great conference and opened my mind to several new ideas.<span style=""> </span>Well worth the time!</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">The conference was held over four days and had over around 125 presentations including tutorials and research projects.<span style=""> </span>There were almost 800 attendees.<span style=""> </span>This is the third semantic technology conference that I attended and the second that I presented a paper at.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">Here are some high-level observations and some patterns that I detected.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">The Semantic Web gets the “Web 3.0” Label<o:p></o:p></b></p> <p class="MsoNormal">Most people at the conference have tried to embrace the idea that the semantic web will be adopting the popular culture label “Web 3.0”. The final straw was the Nov 2006 NYT article by John Markoff which set the blogosphere is a buzz.<span style=""> </span>This was a web that includes technologies to enable intelligent reuse of data.<span style=""> </span>Wikipedia, after a long pro-active discussion about if “Web 3.0” deserved an entry, finally undeleted the page and let is stand.<span style=""> </span>See http://en.wikipedia.org/wiki/Web_3.0 and check out the discussion page on the article for more.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">From <i style="">If</i> to <i style="">When</i> to <i style="">How</i><o:p></o:p></b></p> <p class="MsoNormal">Eric Miller (now at Zepheira) calls some of the new technologies “recombinant data. Eric spent about five years with the w3c.<span style=""> </span>He is perhaps the most well-connected person in the world with accurate knowledge of who is using semantic web technologies to solve real business problems today.<span style=""> </span>His observation was that three years ago at the first semantic technology we were wondering if the semantic web would take off.<span style=""> </span>Last year the speculation was when the semantic web technologies would start to become common place.<span style=""> </span>This year the focus was debates on how the semantic web should be implemented.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">Venture Capitalists are Becoming Educated on the Semantic Web<o:p></o:p></b></p> <p class="MsoNormal">One example of this is the fact that last year, most semantic-web startup companies had to carefully explain what the semantic web was to venture capital companies when trying to get their initial rounds of funding.<span style=""> </span>This year, many venture capital companies not-only had some level of understanding of the semantic web but <span style=""> </span>were asking each of their potential startups how their technologies fit into the semantic web.<span style=""> </span>Other companies that did not have a semantic-web focus were not coming to the conference to get educated.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">Some of the companies that got VC last year have already been purchased and absorbed by larger firms.<span style=""> </span>These companies were replaced by new venture-funded companies.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">Consensus on the RDF/SPARQL Foundation<o:p></o:p></b></p> <p class="MsoNormal">One of the first things that struck me was the consistent use of RDF and triple-stored to solve many hard problems.<span style=""> </span>The use of RDF and SPARQL seemed to be the primary distinguishing factor about if people thought you were really using semantic web technologies or not.<span style=""> </span>If you we not using RDF, you were not really in the club, just and outsider looking in.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">OWL Fragmentation<o:p></o:p></b></p> <p class="MsoNormal">Another thing that also surprised me was the discord about the use of OWL and its relative sub-functions.<span style=""> </span>Central to this was the rise of use-cases of simple things<span style=""> </span>examples of things that OWL could not do.<span style=""> </span>Much of this centered around DLP (Data Log Programming).
</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">A good example of a non-OWL solution was the use of SKOS to store things typically stored in a metadata registry. SKOS is a great example of a simple standard, built on top of RDF that attempts to solve common problems without getting overly complex. See SKOS in Wikipedia.
</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal">We are also starting to see that rules must also be exchanged between systems in semantically precise ways.<span style=""> </span>The need for a Rule Interchange Format (RIF). Nice to see vendors like FairIssac supporting complex business rules running INSIDE the web browser using XForms. They rock!
</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">REST is Deep<o:p></o:p></b></p> <p class="MsoNormal">Perhaps my favorite presentation was given by David Wood and Brian Sletten from Zepheria.<span style=""> </span>In this presentation, David and Brian gave a demo of the NetKernel system.<span style=""> </span>They demonstrated how NetKernel embraces REST at a much deeper level then I had previously anticipated. Now they were not yet generating XForms from an XML Schema but it showed a great example of convergent evolution of my ideas and theirs.
</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">Case Studies<o:p></o:p></b></p> <p class="MsoNormal">This year also started to show examples of new startup companies actually using semantic web technologies to differentiate themselves in the marketplace.<span style=""> </span>Although because they are all trying to differentiate themselves, much of the actual technologies they were using was not disclosed.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">RDF Taggers, Harvesters, Linkers and Analyzers<o:p></o:p></b></p> <p class="MsoNormal">The conference seemed to have three sets of problems that everyone agreed on.<span style=""> </span>First was how do you harvest RDF from a web page or any other resource.<span style=""> </span>Most of these presentations related to getting RDF out of un-structured and structured data. Lots of discussion of microformats (pros and cons).
</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">iReader Rocks<o:p></o:p></b></p> <p class="MsoNormal">The coolest demo I saw was the iReader demo from http://www.syntactica.com.<span style=""> </span>This is an awesome FireFox (and IE) extension that does concept mapping from unstructured text.<span style=""> </span>The people behind this have been doing research on linguistics for about 40 years and have only recently got a round of venture capital to start to publicize this tool.<span style=""> </span>But they are not yet converting to RDF for storage other systems.
</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">URL Design Patterns<o:p></o:p></b></p> <p class="MsoNormal">One common themes that came up was the need for best practices about good URL design.<span style=""> </span>Everyone said a few things: The design of URLs is very important, most people screw it up the first time and then have to redo the designs, there are <span style="font-weight: bold;">not </span>a lot of good documents out there and the ones that are available are at least five years old.<span style=""> </span>The people from the w3c did take notes on this.</p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style="">Reception of My Paper<o:p></o:p></b></p> <p class="MsoNormal">My presentation was titled “The Semantics of Declarative Systems”.<span style=""> </span>This talk covered how by using a set of small languages with precise semantics, you can build entire applications that allow non-programmers to draw pictures of their business requirements and generate working Apps. <span style=""> </span>The purpose of this talk was really to test the metaphors on how I could explain these concepts to non-computer scientists.<span style=""> </span>I got some positive feedback and was happy to see convergent evolution of our designs with other organizations.<span style=""> </span>
</p><p class="MsoNormal">The URL to the paper is here:
</p><p class="MsoNormal"><a href="http://www.danmccreary.com/presentations/sem-web-07">http://www.danmccreary.com/presentations/sem-web-07</a></p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><o:p> </o:p></p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-18645751526881641362007-05-29T10:18:00.000-05:002007-05-29T10:21:30.742-05:00The Semantics of Declarative SystemsI put my presentation that I did for the 2007 Semantic Technology Conference on my web site. The link is here:
<br/>
<br/>
<a href="http://www.danmccreary.com/presentations/sem-web-07">http://www.danmccreary.com/presentations/sem-web-07</a>
<br/>
<br/>
Please give me feedback on both the PowerPoint presentation (note the builds and notes pages) as well as the paper.
<br/>
<br/>
I am specifically interested if the metaphors worked for a non-technical audience.
<br/>
<br/>
- DanDr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-82422596166152408462007-04-28T11:01:00.000-05:002007-04-28T11:46:24.828-05:00Declarative Systems and the Cambrian ExplosionI have been reading Carl Zimmer's book <span style="font-style: italic;">Evolution, The Triumph of an Idea</span> and I have been startled about the similarities between the the <a href="http://en.wikipedia.org/wiki/Cambrian_explosion">Cambrian Explosion</a> and the growth of declarative languages.
<br/><br/>
Just to recap (if you have not read the Wikipedia article yet) here is a quick summary. For the first 3.5 billions years, life on earth was mostly single celled animals. Then about 550 million years ago, the number of new multicellular complex-body-plan animals exploded. There are two salient reasons. First, we needed oxygen to breath. Before there was oxygen in the atmosphere respiration was not easy. Oxygen was a foundation for complex body plans on land. Second, life needed a genetic "tool kit" to build complex animal shapes. We needed the <a href="http://en.wikipedia.org/wiki/Homeobox">HOX genes</a> for building complex body plans. After that happened, complex life forms did explode.
<br/><br/>
I am seeing the same thing appear in declarative languages. Declarative languages need foundations also. We needed ways for people to quickly create new languages (e.g. GUI XML Schema editors like XMLSpy) and ways to build consensus around the semantics of these new languages (wiki's, social networks, folkonomies and voting).
<br/><br/>
And next we need the declarative systems tool kits. Right now we have started to develop tools to allow XML Schemas to be quickly transformed into GUI XForms editors and we have XML databases that eliminated the need for complex middle tiers. We can put many of these tools in the hands of non-programmers and allow them to create domain-specific vocabularies and rule-based systems with GUI editors.
<br/><br/>
And when those tools mature we will see an explosion of declarative languages similar to the explosion of life forms 550 million years ago.
<br/><br/>
So what is your prediction? 1 year, 3 years, 5 years or 10 years from now? I think a small group of people could build this toolkit without millions of dollars of venture capital. There may even be open-source tools that do this in a few years. But I think the key is to combine the best of metadata registries, XML Schemas, transforms, XForms, XQuery and XML databases into a holistic declarative system.
<br/><br/>
And from here the many NEW ideas will evolve.Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-42346006033140675442007-04-14T06:49:00.000-05:002007-12-29T21:07:39.311-06:00XForms and the Chasm: What XForms Need to Become a Mainstream Technology<p>Geoff Moore wrote a very insightful book on technology adoption called “Crossing the Chasm”. If you study the psychology of technology adoption, you find that people and organization fall in a bell curve. About 2% are innovators, 14% are early adopters, 33% early majority, 33% late majority and 15% are laggards. This is all standard stuff out of basic marketing-psychology textbooks. Each group has different reasons for using (or not using) a specific product.
</p>
<p>
Moore's insight was that many new products never move from early adopters to early majority. He called this region “The Chasm”. I have found that the same rules applyto new standards and new languages.
</p><p>Moore did a lot of analysis on why some new technologies don’t make it across the chasm despite their merits or why some standards are adopted over others. Hisbiggest finding is that they were just too hard to use by non-techies. They required too much work to setup, install or learn. <span style="font-weight: bold;">Ease-of-use</span> was a principal factor in many technologies not being quickly adopted by organizations that did not want to use technology to differentiate their organization. Early Majority customers also tend to purchase new technology not based on how they work but who is using them in their industry. They purchase on references.
</p>
<p>
New technologies usually need a focused approach in a specific industry to be adopted by an early majority. If an organization can target a specific vertical industry and provide a more complete solution for that industry, once a few reference accounts are set up the rest of the industry can see there are proven case studies.</p>
<p>Another factor is the need of the early majority for <span style="font-weight: bold;">complete solutions.</span> Innovators and Early adopters are willing to glue together new technologies into their existing fabric of solutions. They dedicate time, staff and money to do this. If their XForms sends XML data over REST interfaces and their databases use JDBC they hire programmers to write middle-tier applications.</p>
<p>But early majority buyers can’t justify that additional cost. They just want a solution to work out-of-the-box. They are OK paying for a week for training for their BAs, but they don’t want to write and maintain complex applications.</p>
<p>Another thing that I have been searching for are metaphors that are understandable by non-programmers. Since the high-level decision makers are usually non-technical their ability to make a decision is usually based on their trust of the developers or their understanding based on metaphors.</p>
<p><span style="font-size:130%;">The Language Translation Metaphor</span>
I find that if you can send your data from an XForms application directly to a native XML database in XML format that there is no need for middle-tier objects or shredding into relational databases. No translation is involved. One of the ways to demonstrate how machine-based language translation is not always semantically precise is to try an automatic translation program. Convert a statement from a native language into a foreign language and then translate it back. For example try this using Google Language Tools at http://www.google.com/language_tools
</p>
<p>Original Phrase in English:
The quick brown fox jumped over the lazy dog.</p>
<p>
Google Translation to Spanish
<span style="font-style: italic;">El zorro marrón rápido saltó sobre el perro perezoso.</span></p>
<p>Spanish Translation Back to English
<span style="font-style: italic;">The fast brown fox jumped on the sluggish dog.</span></p>
<p>Although Google translate does a pretty good job, quick was changed to fast, over was changed to on, and lazy was changed to sluggish. If you study semantics, you can find lots of problems trying to communicate with close approximations. Note the original implicit business rule of don’t repeat a letter was also lost. We have many implicit business rules in complex systems and translation of these to other formats is always problematic for software developers.</p>
<p>Saving XML using an object-middle tier is one translation. Saving objects to a relational database is a second translation. Fetching data from a database using SQL is a third translation. Converting tabular data into objects is a fourth translation and converting objects back to XML is a fifth transformation. There are five translations, not just two.</p>
<p>Not that XForms solutions today are not without translation. In our process we are planning to convert XML Schemas into XForms as well as initial instance data. We need to also import leaf-level definitions from a metadata registry. But the nice thing about this process is that we can validate the submitted data directly against the original XML Schema that was used to generate the XForms. An elegant self-checking pattern.
</p>
<p>All of these transforms are possible. But all have to be maintained each time you change your XML Schema. Right now we also need great tools that translate XML Schemas directly into XForms. And these need to retain the fidelity of the original intent of the subject matter experts.</p>
<p>So perhaps deploying applications with native XML databases is a critical part of the XForms value proposition.</p>
<p>Moore also noted that both early late majority buyers would be more willing to use a technology if it was buried deeply in a complete solution. That way the IT managers don’t have to sell the technology to management, just the solution. Similarly, once third party developers start building accounting or complete solutions for vertical industry using XForms the buyer will not need to know or care how the solution is being delivered.
</p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-45177808721548407862007-04-06T09:31:00.000-05:002007-04-06T09:42:40.746-05:00Metaphors for Declarative SystemsI am working on my presentation for the 2007 semantic technology conference. My topic is the semantics of declarative languages.
<br/><br/>
I am attempting to present to business strategists that may not appreciate how powerful the new XForms and XQuery standards are and how entire rich user experience web 2.0 applications can be built using these tools as long as the tools have RESTful interfaces.
<br/><br/>
My first consideration is to find the right metaphors. I am working with the evolution metaphor and the puzzle metaphor right now and it seems to be working well.
<br/><br/>
I have also done some research on Domain Specific Languages and I see that they have also used the evolution metaphor but I find that they are focused on building small languages that are specific to a group or project and they don't really look at the external semantics of the problem.
<br/><br/>
Please write me if you are also trying to explain the business benefits of either declarative languages to a non-technical audience and if you have found metaphors that get the key points across.
<br/><br/><br/>
Thanks! - DanDr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-49632564530985926622007-02-26T09:40:00.000-06:002007-02-26T09:59:39.817-06:00Doing Zero Fill with XSLT 2.0I was scratching my head, trying to find a simple way to do a zero fill padding with XSLT and I could not find it in my Michael Kay XPath 2.0 book. It turns out he put in in the XSLT 2.0 book. I am not sure how the index missed it.
Anyway, searching for "Zero Fill XPath" turned up nothing on Google. Here is how it works. Just use the following:
<br/><br/>
<span style="font-weight:bold;font-family:Courier;">format-number(number(.), '00000')</span>.
<br/><br/>
Here is an example of the input and output:
<table border="1">
<thead>
<tr>
<th>Input</th>
<th>Output</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>00001</td>
</tr>
<tr>
<td>12</td>
<td>00012</td>
</tr>
<tr>
<td>123</td>
<td>00123</td>
</tr>
<tr>
<td>1234</td>
<td>01234</td>
</tr>
<tr>
<td>12345</td>
<td>12345</td>
</tr>
</tbody>
</table>
Hope this helps.
- DanDr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-17577772934103226542007-02-22T22:16:00.000-06:002007-02-24T11:25:12.003-06:00The Penguin, The Fox, The Weasel and the ElephantOnce upon a time there were four animals that lived in a magical “Land of Bew”: The Penguin, the Fox, the Weasel and the Elephant.
<br/><br/>
Each animal had their own way of looking at the world. Penguin and Fox loved to share their ideas.
<br/><br/>
Weasel also had lots of interesting ideas but he was afraid that if he shared too many ideas his owners would be worried.
<br/><br/>
Elephant always seemed to be around everywhere but didn’t pick up new ideas very fast.
<br/><br/>
In the Land of Bew most of the animals got along pretty well with each other. Fox played Penguin’s house and Fox played at Weasel’s house.
<br/><br/>
Unfortunately the Elephant was not allowed to play at the Penguin’s house. It was not that Elephant was mean, its just that Elephant’s owners were somewhat controlling.
<br/><br/>
The Land of Bew was blessed with special magic books. These books that allowed the reader to press on special words and pictures in the books and suddenly new pages would magically appear. The children of Bew loved the books and always wanted more.
<br/><br/>
But some of the books were very hard to make. Especially if you wanted nice moving and dancing pictures that children could change.
<br/><br/>
To make dancing pictures you had to use special type of black magic that sometimes got the animals in trouble. Goblins would sometimes used the black magic and cause havoc in the Land of Bew. ( I would tell you more about the horrible things Goblins did with the black magic but this IS a children’s story.)
<br/><br/>
One day Penguin and Fox found a new way of making dancing books that animals could use in magical ways without using the dangerous black magic. Fox tried it out and it worked very well.
<br/><br/>
But when they suggested their ideas to Elephant, Elephant said no. Elephant was worried that even kids would be able to make the dancing books. And she worried that all her friends would stop playing with Weasel and spend all their time over at Penguins house.
<br/><br/>
And although the story is not over…this is where our story ends. The ending is being written by you.
<br/><br/>
Want to try to make some dancing books?
<br/><br/>
Try XForms today and see if you can make your web applications dance without using any nasty JavaScript! And try to keep those Goblins out. OK?Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-6986644016309725002007-02-15T14:19:00.000-06:002007-02-15T14:36:27.703-06:00The eXist OpenSource Native XML DatabaseAfter a suggestion from Kurt Cagle, we have been using the eXist OpenSource XML Database for a week now and I must say that it has exceeded our expectations.
<br/>
It was a snap to download a set up. It was easy to get all the XQuery demos running and it was almost trivial to administer the little but annoying things like adding collection and users.
<br/>
Unfortunately I did have to actual read the documentation to figure out how to get our XForms and XMLSpy to work with it. But once you know the secret, it is easy.
<br/>
The big secret is that by just adding the words "rest" or "webdav" before the "db" in the URL you automatically and to HTTP GETs and HTTP PUTs directly to your data.
<br/>
You can also actually edit the data directly in the eXist database DIRECTLY from within XMLSpy by just using the "Open URL" option of the XMLSpy editor and then just slip the "webdav" string into your URL path. Hopefully XMLSpy will allow you to use the XQuery editor in future versions of the database.
<br/>
eXist had given our entire group a large boost of confidence. We can now build a Ruby-on-rails like environment just by drawing XML Schemas, generating XForms from the XML Schemas and storing the form data directly into eXist. A full application development stack without a single like of procedural Java or JavaScript!!!
<br/>
I posted a short article on how to get XForms working with eXist in the <a href="http://en.wikibooks.org/wiki/XForms/eXist">XForms WikiBook</a>
<br/>
I have a FireFox T-shirt on order for Kurt and I am also buying beers at the first XForms conference...which I may have to organize.
<br/>
Thanks Kurt! Your advise was very sound.Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-37145109778998438242007-02-15T14:12:00.000-06:002007-02-15T14:16:04.462-06:00Computers Don't Create Models (Today) – People Do<p class="MsoNormal">I had several good comments about my posting about the increasing role of
semantics in the "Era of Tera". I did not mention some of the key
concepts that the Intel paper discussed and the impact these concepts
will have on IT strategy.<span style=""> </span>Here is an excerpt:</p><p class="MsoNormal">
</p> <p class="MsoNormal"><i style="">The problem is ordinary computers don't model things. Aside from
supercomputers, today's computers aren't capable of developing
mathematical models of complex objects, systems or processes. Nor are
they powerful or fast enough to perform such tasks at speeds people
demand. We can't plug in a statistical model for a rare malignant
tumor or the behavioral pattern of a shoplifting employee and search
for similar instances of the model in a data set. To benefit from the
wealth of data building up in the world, we need to be able to
communicate with computers in more abstract terms (high-level concepts
or semantics). We need to speak in terms of models.
</i></p><p class="MsoNormal">
I believe that the core problem is that there will be a HUGE demand
for highly-skilled data-modelers/ontologists in five years. But there
will not be a large supply since this skill is not something that can
be learned from a single class in college. Rather it is more of a
tacit skill that is not easily codifiable.
</p><p class="MsoNormal">
That being said, there are many best practices that ARE codifiable.
You can already purchase books on OWL/RDF and metadata registries,
although most of them are mired in relational database models or
written by academics with little real-world experience. You can read the Wikipedia articles on “Data Stewardship”.<span style=""> </span>What is still
needed is a single set of best practices and tools for creating
families of machine-readable data models that can be use as a basis
for creating exchange models. And we need to do this without having to learn how to represent all 12 types of UML diagrams in XMI and transform them.<span style=""> </span>The NIEM subset generator is a good example of the solid XML-Schema-driven front-end of this process of selecting elements from a metadata registry and putting them in your shopping cart.
</p><p class="MsoNormal">
The bottom line is that this is really about empowerment.<span style=""> </span>And unless organizations introduce semantic web technologies into their organizations at a grass-root level and support them at the CEO level, many organizations will be left behind in the Era of the Tera.</p>Dr. Data Dictionaryhttp://www.blogger.com/profile/12453673235365396446noreply@blogger.comtag:blogger.com,1999:blog-13546516.post-1171372472469223222007-02-13T07:12:00.000-06:002007-02-13T07:14:51.896-06:00Era of the Tera<p class="MsoNormal">I read in the New York Times yesterday that Intel has produced a chip with 80 core processors giving it a total computing power of 1.3 teraflops.<span style=""> </span>So the natural question is what could you use 80 CPUs for?<span style=""> </span>The article referred to a 2005 Intel Paper titled <span style="font-weight: bold;">Recognition, Mining and Synthesis Moves Computers to the Era of Tera </span>by Pradeep Dubey.<span style=""> </span>This article opened with the following quote: “<span style="font-style: italic;">The great strength of computers is that they can reliably manipulate vast amounts of data very quickly. Their great weakness is that they don’t have a clue as to what any of that data actually means.</span>” Stephen Cass, “A Fountain of Knowledge,” IEEE Spectrum, January 2004.<span style=""> </span>When I saw this quote, I realized even the hardware engineers agree semantics is now the critical factor limiting our ability to effectively use computers I realized that we must continue our mission to promote semantic mapping concepts.<span style=""> &