<?xml version="1.0" encoding="UTF-8" ?>
<!--RDF based XML document generated By OpenLink Virtuoso-->
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
 <rss:channel xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/">
  <rss:title>Kingsley Idehen&#39;s Blog Data Space</rss:title>
  <rss:link>http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/</rss:link>
  <rss:description>I have seen the future and it&#39;s full of Linked Data! :-)</rss:description>
  <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kidehen@openlinksw.com</dc:creator>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2026-04-20T07:52:21Z</dc:date>
  <rss:items>
   <rdf:Seq>
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2010-01-31#1590" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2009-01-08#1514" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2008-04-10#1334" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2007-06-14#1224" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-10-20#1065" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-06-26#990" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-05-05#968" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2005-04-25#807" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-08-26#611" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-06-04#555" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-26#531" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-23#526" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-06#499" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-06#506" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-03-10#474" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-01-06#442" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-12-03#436" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-10-31#410" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-10-30#407" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-07-30#209" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-26#192" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-18#282" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-18#138" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-17#279" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-11#276" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-09#266" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-03#358" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-30#69" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-21#319" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-21#48" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-18#304" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-18#31" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-15#292" />
      <rdf:li rdf:resource="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-14#277" />
   </rdf:Seq>
  </rss:items>
 </rss:channel>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2010-01-31#1590">
  <rss:title>5 Game Changing Things about the OpenLink Virtuoso + AWS Cloud Combo</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2010-01-31T22:29:34Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Here are 5 powerful benefits you can immediately derive from the combination of Virtuoso and Amazon&#39;s AWS services (specifically the EC2 and EBS components): Acquire your own personal or service specific data space in the Cloud. Think DBase, Paradox, FoxPRO, Access of yore, but with the power of Oracle, Informix, Microsoft SQL Server etc.. using a Conceptual, as opposed to solely Logical, model based DBMS (i.e., a Hybrid DBMS Engine for: SQL, RDF, XML, and Full Text) Ability to share and control access to your resources using innovations like FOAF+SSL, OpenID, and OAuth, all from one place Construction of personal or organization based FOAF profiles in a matter of minutes; by simply creating a basic DBMS (or ODS application layer) account; and then using this profile to create strong links (references) to all your Data silos (esp. those from the Web 2.0 realm) Load data sets from the LOD cloud or Sponge existing Web resources (i.e., on the fly data transformation to RDF model based Linked Data) and then use the combination to build powerful lookup services that enrich the value of URLs (think: Web addressable reports holding query results) that you publish Bind all of the above to a domain that you own (e.g. a .Name domain) so that you have an attribution-friendly &quot;authority&quot; component for resource URLs and Entity URIs published from your Personal Linked Data Space on the Web (or private HTTP network). In a nutshell, the AWS Cloud infrastructure simplifies the process of generating Federated presence on the Internet and/or World Wide Web. Remember, centralized networking models always end up creating data silos, in some context, ultimately! :-)</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p> Here are 5 powerful benefits you can immediately derive from the combination of <a href="http://virtuoso.openlinksw.com" id="link-id17eb8988">Virtuoso</a> and Amazon&#39;s AWS services (specifically the EC2 and EBS components): <br />
</p>  <ol> <li> Acquire your own personal or service specific <a href="http://en.wikipedia.org/wiki/Data_Spaces" id="link-id1423e520">data space</a> in the Cloud. Think DBase, Paradox, FoxPRO, Access of yore, but with the power of <a href="http://dbpedia.org/resource/Oracle_Database" id="link-id136c6290">Oracle</a>, <a href="http://dbpedia.org/resource/IBM_Informix" id="link-id11b269b8">Informix</a>, <a href="http://dbpedia.org/resource/Microsoft_SQL_Server" id="link-id138084b8">Microsoft SQL Server</a> etc.. using a Conceptual, as opposed to solely Logical, model based DBMS (i.e., a Hybrid DBMS Engine for: <a href="http://dbpedia.org/resource/SQL" id="link-id132a7938">SQL</a>, RDF, XML, and Full Text) </li> <li> Ability to share and control access to your resources using innovations like <a href="http://dbpedia.org/resource/Friend_of_a_friend" id="link-id17ee9d28">FOAF</a>+SSL, OpenID, and OAuth, all from one place </li> <li> Construction of personal or organization based FOAF profiles in a matter of minutes; by simply creating a basic DBMS (or <a href="http://dbpedia.org/resource/OpenLink_Data_Spaces" id="link-id14784ae0">ODS</a> application layer) account; and then using this profile to create strong links (references) to all your Data silos (esp. those from the <a href="http://dbpedia.org/resource/World_Wide_Web">Web</a> 2.0 realm) </li> <li> Load data sets from the <a href="http://community.linkeddata.org/dataspace/organization/lod#this" id="link-id17e6ac98">LOD</a> cloud or Sponge existing Web resources (i.e., on the fly data transformation to RDF model based <a href="http://dbpedia.org/resource/Linked_Data" id="link-id17e65d38">Linked Data</a>) and then use the combination to build powerful lookup services that enrich the value of URLs (think: Web addressable reports holding query results) that you publish </li> <li> Bind all of the above to a domain that you own (e.g. a .Name domain) so that you have an attribution-friendly &quot;authority&quot; component for resource URLs and <a href="http://dbpedia.org/resource/Entity" id="link-id118a08d8">Entity</a> URIs published from your Personal Linked Data Space on the Web (or private HTTP network). </li> </ol> <p> In a nutshell, the AWS Cloud infrastructure simplifies the process of generating Federated presence on the <a href="http://dbpedia.org/resource/Internet" id="link-id1380af38">Internet</a> and/or <a href="http://dbpedia.org/resource/World_Wide_Web" id="link-id11633b10">World Wide Web</a>. Remember, centralized networking models always end up creating data silos, in some <a href="http://dbpedia.org/resource/Context_%28language_use%29" id="link-id142006f0">context</a>, ultimately! :-) </p>
]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2009-01-08#1514">
  <rss:title>New ADO.NET 3.x Provider for Virtuoso Released (Update 2)</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2009-01-08T04:36:47Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">I am pleased to announce the immediate availability of the Virtuoso ADO.NET 3.5 data provider for Microsoft&#39;s .NET platform. What is it? A data access driver/provider that provides conceptual entity oriented access to RDBMS data managed by Virtuoso. Naturally, it also uses Virtuoso&#39;s in-built virtual / federated database layer to provide access to ODBC and JDBC accessible RDBMS engines such as: Oracle (7.x to latest), SQL Server (4.2 to latest), Sybase, IBM Informix (5.x to latest), IBM DB2, Ingres (6.x to latest), Progress (7.x to OpenEdge), MySQL, PostgreSQL, Firebird, and others using our ODBC or JDBC bridge drivers. Benefits? Technical: It delivers an Entity-Attribute-Value + Classes &amp; Relationships model over disparate data sources that are materialized as .NET Entity Framework Objects, which are then consumable via ADO.NET Data Object Services, LINQ for Entities, and other ADO.NET data consumers. The provider is fully integrated into Visual Studio 2008 and delivers the same &quot;ease of use&quot; offered by Microsoft&#39;s own SQL Server provider, but across Virtuoso, Oracle, Sybase, DB2, Informix, Ingres, Progress (OpenEdge), MySQL, PostgreSQL, Firebird, and others. The same benefits also apply uniformly to Entity Frameworks compatibility. Bearing in mind that Virtuoso is a multi-model (hybrid) data manager, this also implies that you can use .NET Entity Frameworks against all data managed by Virtuoso. Remember, Virtuoso&#39;s SQL channel is a conduit to Virtuoso&#39;s core; thus, RDF (courtesy of SPASQL as already implemented re. Jena/Sesame/Redland providers), XML, and other data forms stored in Virtuoso also become accessible via .NET&#39;s Entity Frameworks. Strategic: You can choose which entity oriented data access model works best for you: RDF Linked Data &amp; SPARQL or .NET Entity Frameworks &amp; Entity SQL. Either way, Virtuoso delivers a commercial grade, high-performance, secure, and scalable solution. How do I use it? Simply follow one of guides below: Using Visual Studio 2008 &amp; Virtuoso to build an Entity Frameworks based Windows forms application Using Visual Studio 2008 &amp; Virtuoso to build an ADO.NET Data Services based application Note: When working with external or 3rd party databases, simply use the Virtuoso Conductor to link the external data source into Virtuoso. Once linked, the remote tables will simply be treated as though they are native Virtuoso tables leaving the virtual database engine to handle the rest. This is similar to the role the Microsoft JET engine played in the early days of ODBC, so if you&#39;ve ever linked an ODBC data source into Microsoft Access, you are ready to do the same using Virtuoso. Related Entity Oriented Data Access Yoda &amp; the Data FORCE.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I am pleased to announce the immediate availability of the <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtAdoNet35Provider" id="link-id142e7390">Virtuoso ADO.NET 3.5 data provider</a> for Microsoft&#39;s .NET platform.</p>

<h3>What is it?</h3>
<p>A data access driver/provider that provides conceptual <a href="http://dbpedia.org/resource/Entity" id="link-id11c36c00">entity</a> oriented access to <a href="http://dbpedia.org/resource/Relational_database_management_system" id="link-id12fb8618">RDBMS</a> data managed by Virtuoso. Naturally, it also uses Virtuoso&#39;s in-built virtual / <a href="http://dbpedia.org/resource/federated_database_system" id="link-id115bedc8">federated database</a> layer to provide access to <a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id15153c08">ODBC</a> and <a href="http://dbpedia.org/resource/Java_Database_Connectivity" id="link-id13418908">JDBC</a> accessible RDBMS engines such as: <a href="http://dbpedia.org/resource/Oracle_Database" id="link-id134d72f0">Oracle</a> (7.x to latest), <a href="http://dbpedia.org/resource/SQL" id="link-id15757b88">SQL</a> Server (4.2 to latest), <a href="http://dbpedia.org/resource/Sybase" id="link-id15ef8d48">Sybase</a>, IBM <a href="http://dbpedia.org/resource/IBM_Informix" id="link-id12f56aa0">Informix</a> (5.x to latest), IBM <a href="http://dbpedia.org/resource/IBM_DB2" id="link-id119feb38">DB2</a>, <a href="http://dbpedia.org/resource/Ingres" id="link-id14e3d6c8">Ingres</a> (6.x to latest), Progress (7.x to OpenEdge), <a href="http://dbpedia.org/resource/MySQL" id="link-id11295630">MySQL</a>, PostgreSQL, <a href="http://dbpedia.org/resource/Firebird_database_server" id="link-id12f40448">Firebird</a>, and others using our ODBC or JDBC bridge drivers.</p>

<h3>Benefits?</h3>
<h4>Technical:</h4>
<p>It delivers an <a href="http://dbpedia.org/resource/Entity-attribute-value_model" id="link-id14012040">Entity-Attribute-Value + Classes &amp; Relationships model</a> over disparate data sources that are materialized as .NET Entity Framework Objects, which are then consumable via ADO.NET Data Object Services, LINQ for Entities, and other ADO.NET data consumers.</p> 

<p>The provider is fully integrated into Visual Studio 2008 and delivers the same &quot;ease of use&quot; offered by Microsoft&#39;s own SQL Server provider, but across Virtuoso, Oracle, Sybase, DB2, Informix, Ingres, <a href="http://dbpedia.org/resource/Progress_4GL" id="link-id158d1fe8">Progress (OpenEdge</a>), MySQL, PostgreSQL, Firebird, and others. The same benefits also apply uniformly to Entity Frameworks compatibility.</p>
<p>
Bearing in mind that Virtuoso is a multi-model (hybrid) data manager, this also implies that you can use .NET Entity Frameworks against all data managed by Virtuoso. Remember, Virtuoso&#39;s SQL channel is a conduit to Virtuoso&#39;s core; thus, RDF (courtesy of <a href="http://esw.w3.org/topic/SPASQL" id="link-id133c9b70">SPASQL</a> as already implemented re. <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtJenaProvider" id="link-id11380b80">Jena</a>/<a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSesame2Provider" id="link-id10fc0c88">Sesame</a>/<a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtRDFDriverRedland" id="link-id1390f730">Redland</a> providers), XML, and other data forms stored in Virtuoso also become accessible via .NET&#39;s Entity Frameworks.</p>
<br />
<h4>Strategic:</h4>
<p>You can choose which entity oriented data access model works best for you: RDF <a href="http://dbpedia.org/resource/Linked_Data" id="link-id151354f0">Linked Data</a> &amp; <a href="http://dbpedia.org/resource/SPARQL" id="link-id15dc5eb0">SPARQL</a> or .NET Entity Frameworks &amp; <a href="http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework#Entity_SQL" id="link-id14404e80">Entity SQL</a>. Either way, Virtuoso delivers a commercial grade, high-performance, secure, and scalable solution.</p>
<br />
<h3>How do I use it?</h3>

Simply follow one of guides below:
<ul>
<li>
  <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtEntityFrameworkSchoolDbWinFormApp" id="link-id15e5c580">Using Visual Studio 2008 &amp; Virtuoso to build an Entity Frameworks based Windows forms application</a>
</li>
<li>
  <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtUsingMsAdoNetDataServicesWithVirtuoso" id="link-id157912b0">Using Visual Studio 2008 &amp; Virtuoso to build an ADO.NET Data Services based application</a>
</li>
</ul>

<p>
<b>Note:</b> When working with external or 3rd party databases, simply use the Virtuoso Conductor to link the external data source into Virtuoso. Once linked, the remote tables will simply be treated as though they are native Virtuoso tables leaving the <a href="http://dbpedia.org/resource/Virtual_Database" id="link-id15b04b18">virtual database</a> engine to handle the rest. This is similar to the role the Microsoft JET engine played in the early days of ODBC, so if you&#39;ve ever linked an ODBC data source into Microsoft Access, you are ready to do the same using Virtuoso.</p>

<h3>Related</h3>
<ul>
<li>
  <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1420" id="link-id160afdd0">Entity Oriented Data Access</a>
</li>
<li>
  <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1474" id="link-id113eeb50">Yoda &amp; the Data FORCE.</a>
</li>
</ul>
]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2008-04-10#1334">
  <rss:title>Linked Data enabling PHP Applications</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2008-04-10T18:09:49Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel lewis has penned a variation of post about Linked Data enabling PHP applications such as: Wordpress, phpBB3, MediaWiki etc. Daniel simplifies my post by using diagrams to depict the different paths for PHP based applications exposing Linked Data - especially those that already provide a significant amount of the content that drives Web 2.0. If all the content in Web 2.0 information resources are distillable into discrete data objects endowed with HTTP based IDs (URIs), with zero &quot;RDF handcrafting Tax&quot;, what do we end up with? A Giant Global Graph of Linked Data; the Web as a Database. So, what used to apply exclusively, within enterprise settings re. Oracle, DB2, Informix, Ingres, Sybase, Microsoft SQL Server, MySQL, PostrgeSQL, Progress Open Edge, Firebird, and others, now applies to the Web. The Web becomes the &quot;Distributed Database Bus&quot; that connects database records across disparate databases (or Data Spaces). These databases manage and expose records that are remotely accessible &quot;by reference&quot; via HTTP. As I&#39;ve stated at every opportunity in the past, Web 2.0 is the greatest thing that every happened to the Semantic Web vision :-) Without the &quot;Web 2.0 Data Silo Conundrum&quot; we wouldn&#39;t have the cry for &quot;Data Portability&quot; that brings a lot of clarity to some fundamental Web 2.0 limitations that end-users ultimately find unacceptable. In the late &#39;80s, the SQL Access Group (now part of X/Open) addressed a similar problem with RDBMS silos within the enterprise that lead to the SAG CLI which is exists today as Open Database Connectivity. In a sense we now have WODBC (Web Open Database Connectivity), comprised of Web Services based CLIs and/or traditional back-end DBMS CLIs (ODBC, JDBC, ADO.NET, OLE-DB, or Native), Query Language (SPARQL Query Language), and a Wire Protocol (HTTP based SPARQL Protocol) delivering Web infrastructure equivalents of SQL and RDA, but much better, and with much broader scope for delivering profound value due to the Web&#39;s inherent openness. Today&#39;s PHP, Python, Ruby, Tcl, Perl, ASP.NET developer is the enterprise 4GL developer of yore, without enterprise confinement. We could even be talking about 5GL development once the Linked Data interaction is meshed with dynamic languages (delivering higher levels of abstraction at the language and data interaction levels). Even the underlying schemas and basic design will evolve from Closed World (solely) to a mesh of Closed &amp; Open World view schemas.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>
<a href="http://myopenlink.net/dataspace/person/danieljohnlewis#this" id="link-id10820610">Daniel lewis</a> has penned a variation of post about <a href="http://vanirsystems.com/danielsblog/2008/04/10/simplified-adding-wordpress-blogs-into-the-linked-data-web-using-virtuoso/" id="link-id10827948">Linked Data enabling PHP applications</a> such as: <a href="http://dbpedia.org/resource/WordPress" id="link-id10426278">Wordpress</a>, <a href="http://dbpedia.org/resource/PhpBB" id="link-id13f431c0">phpBB3</a>, <a href="http://dbpedia.org/resource/MediaWiki" id="link-id10dd8760">MediaWiki</a> etc.</p>

<p>Daniel simplifies my post by using diagrams to depict the different paths for <a href="http://dbpedia.org/resource/PHP" id="link-id10adcc08">PHP</a> based applications exposing <a href="http://dbpedia.org/resource/Linked_Data" id="link-id107b4e60">Linked Data</a> - especially those that already provide a significant amount of the content that drives <a href="http://dbpedia.org/resource/World_Wide_Web" id="link-id13b0ab48">Web</a> 2.0.</p>

<p>If all the content in <a href="http://dbpedia.org/resource/World_Wide_Web" id="link-id0x1d499470">Web</a> 2.0 <a href="http://dbpedia.org/resource/Information" id="link-id12bd3b10">information</a> resources are distillable into discrete <a href="http://dbpedia.org/resource/Data" id="link-id10962060">data</a> objects endowed with <a href="http://dbpedia.org/resource/Hypertext_Transfer_Protocol" id="link-id176a30e8">HTTP</a> based IDs (URIs), with zero &quot;<a href="http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&q=rdf%20tax&type=text&output=html" id="link-id1098bcd8">RDF handcrafting Tax</a>&quot;, what do we end up with? A <a href="http://dbpedia.org/resource/Giant_Global_Graph" id="link-id1372ce88">Giant Global Graph</a> of <a href="http://dbpedia.org/resource/Linked_Data" id="link-id0xa29f0658">Linked Data</a>; the <a href="http://dbpedia.org/resource/World_Wide_Web">Web</a> as a Database.</p> <p>So, what used to apply exclusively, within enterprise settings re. <a href="http://dbpedia.org/resource/Oracle_Database" id="link-id12d91448">Oracle</a>, <a href="http://dbpedia.org/resource/IBM_DB2" id="link-id13dd27d8">DB2</a>, <a href="http://dbpedia.org/resource/IBM_Informix" id="link-id108e6b98">Informix</a>, <a href="http://dbpedia.org/resource/Ingres" id="link-id13383708">Ingres</a>, <a href="http://dbpedia.org/resource/Sybase" id="link-idfed8aa8">Sybase</a>, <a href="http://dbpedia.org/resource/Microsoft_SQL_Server" id="link-id10b8b190">Microsoft SQL Server</a>, <a href="http://dbpedia.org/resource/MySQL" id="link-id13066ea8">MySQL</a>, PostrgeSQL, Progress Open Edge, <a href="http://dbpedia.org/resource/Firebird_database_server" id="link-id104f0a78">Firebird</a>, and others, now applies to the Web. The Web becomes the &quot;<a href="http://dbpedia.org/resource/federated_database_system" id="link-id105a5340">Distributed Database</a> Bus&quot; that connects database records across disparate databases (or <a href="http://dbpedia.org/resource/Data" id="link-id0xc706c68">Data</a> Spaces). These databases manage and expose records that are remotely accessible &quot;by reference&quot; via <a href="http://dbpedia.org/resource/Hypertext_Transfer_Protocol" id="link-id0x1c8f7fe0">HTTP</a>.</p>

<p>As I&#39;ve stated at every opportunity in the past, Web 2.0 is the greatest thing that every happened to the <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id13d65278">Semantic Web</a> vision :-) Without the &quot;<a href="http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&q=Web%202.0%20%20conundrum&type=text&output=html" id="link-id100d16d0">Web 2.0 Data Silo Conundrum</a>&quot; we wouldn&#39;t have the cry for &quot;<a href="http://dbpedia.org/resource/Data">Data</a> Portability&quot; that brings a lot of clarity to some fundamental Web 2.0 limitations that end-users ultimately find unacceptable.</p> 
<p>
In the late &#39;80s, the <a href="http://dbpedia.org/resource/SQL" id="link-idff4f0d0">SQL</a> <a href="http://dbpedia.org/resource/SQL_Access_Group" id="link-id138fbd40">Access Group</a> (now part of <a href="http://dbpedia.org/resource/X/Open" id="link-id104ee010">X</a>/<a href="http://dbpedia.org/resource/X/Open" id="link-id0xac9eab8">Open</a>) addressed a similar problem with <a href="http://dbpedia.org/resource/Relational_database_management_system" id="link-id106d2008">RDBMS</a> silos within the enterprise that lead to the SAG <a href="http://dbpedia.org/resource/Call_Level_Interface" id="link-id105d45d0">CLI</a> which is exists today as Open Database Connectivity.</p>

<p>In a sense we now have WODBC (Web Open Database Connectivity), comprised of Web Services based CLIs and/or traditional back-end DBMS CLIs (<a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id13f58708">ODBC</a>, <a href="http://dbpedia.org/resource/Java_Database_Connectivity" id="link-id10aa81e0">JDBC</a>, <a href="http://dbpedia.org/resource/ADO.NET" id="link-id5fddb68">ADO</a>.<a href="http://dbpedia.org/resource/ADO.NET" id="link-id0x9f085a10">NET</a>, OLE-DB, or Native),  Query Language (<a href="http://dbpedia.org/resource/SPARQL" id="link-id10adb5c8">SPARQL</a> Query Language), and a Wire Protocol (<a href="http://dbpedia.org/resource/Hypertext_Transfer_Protocol">HTTP</a> based <a href="http://www.w3.org/TR/rdf-sparql-protocol/" id="link-id126fa068">SPARQL Protocol</a>) delivering Web infrastructure equivalents of <a href="http://dbpedia.org/resource/SQL" id="link-id0x1d0a5fc8">SQL</a> and RDA, but much better, and with much broader scope for delivering profound value due to the Web&#39;s inherent openness. Today&#39;s <a href="http://dbpedia.org/resource/PHP" id="link-id0xc88ed68">PHP</a>, <a href="http://dbpedia.org/resource/Python_programming_language" id="link-id10a70530">Python</a>, <a href="http://dbpedia.org/resource/Ruby_programming_language" id="link-id13d9da18">Ruby</a>, <a href="http://dbpedia.org/resource/Tcl" id="link-id10a3c2a8">Tcl</a>, <a href="http://dbpedia.org/resource/Perl" id="link-id13e1b6f0">Perl</a>, <a href="http://dbpedia.org/resource/ASP.NET" id="link-id10810388">ASP</a>.<a href="http://dbpedia.org/resource/ASP.NET" id="link-id0xa22ce378">NET</a>  developer is the enterprise <a href="http://dbpedia.org/resource/4GL" id="link-id1396a500">4GL</a> developer of yore, without enterprise confinement. We could even be talking about <a href="http://dbpedia.org/resource/5GL" id="link-id1077f250">5GL</a> development once the <a href="http://dbpedia.org/resource/Linked_Data">Linked Data</a> interaction is meshed with dynamic languages (delivering higher levels of abstraction at the language and data interaction levels). Even the underlying schemas and  basic design will evolve from <a href="http://dbpedia.org/resource/Closed_world_assumption" id="link-id10b280c8">Closed World</a> (solely) to a mesh of Closed &amp; <a href="http://dbpedia.org/resource/Open_world_assumption" id="link-id104b9978">Open World</a> view schemas.</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2007-06-14#1224">
  <rss:title>Enterprise 0.0, Linked Data, and Semantic Data Web</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2007-06-14T15:28:26Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Last week we officially released Virtuoso 5.0.1 (in Commercial and Open Source Editions). The press release provided us with an official mechanism and timestamp for the current Virtuoso feature set. A vital component of the new Virtuoso release is the finalization of our SQL to RDF mapping functionality -- enabling the declarative mapping of SQL Data to RDF. Additional technical insight covering other new features (delivered and pending) is provided by Orri Erling, as part of a series of post-Banff posts. Why is SQL to RDF Mapping a Big Deal? A majority of the world&#39;s data (especially in the enterprise realm) resides in SQL Databases. In addition, Open Access to the data residing in said databases remains the biggest challenge to enterprises for the following reasons: SQL Data Sources are inherently heterogeneous because they are acquired with business applications that are in many cases inextricably bound to a particular DBMS engine Data is predictably dirty DBMS vendors ultimately hold the data captive and have traditionally resisted data access standards such as ODBC (*trust me they have, just look at the unprecedented bad press associated with ODBC the only truly platform independent data access API. Then look at how this bad press arose..*) Enterprises have known from the beginning of modern corporate times that data access, discovery, and manipulation capabilities are inextricably linked to the &quot;Real-time Enterprise&quot; nirvana (hence my use of 0.0 before this becomes 3.0). In my experience, as someone whose operated in the data access and data integration realms since the late &#39;80s, I&#39;ve painfully observed enterprises pursue, but unsuccessfully attain, full control over enterprise data (the prized asset of any organization) such that data-, information-, knowledge-workers are just a click away from commencing coherent platform and database independent data drill-downs and/or discovery that transcend intranet, internet, and extranet boundaries -- serendipitous interaction with relevant data, without compromise! Okay, situation analysis done, we move on.. At our most recent (12th June) monthly Semantic Web Gathering, I unveiled to TimBL and a host of other attendees a simple, but powerful, demonstration of how Linked Data, as an aspect of the Semantic Data Web, can be applied to enterprise data integration challenges. Actual SQL to RDF Mapping Demo / Experiment Hypothesis A SQL Schema can be effectively mapped declaratively to RDF such that SQL Rows morph into RDF Instance Data (Entity Sets) based on the Concepts &amp; Properties defined in a Concrete Conceptual Data Model oriented Data Dictionary (RDF Schema and/or OWL Ontology). In addition, the solution must demonstrate how &quot;Linked Data in the Web&quot; is completely different from &quot;Data on the Web&quot; or &quot;Linked Data on the Web&quot; (btw - Tom Heath eloquently unleashed this point in his recent podcast interview with Talis). Apparatus An Ontology - in this case we simply derived the Northwind Ontology from the XML Schema based CSDL (Conceptual Schema Definition Language) used by Microsoft&#39;s public Astoria demo (specifically the Northwind Data Services demo). SQL Database Schema - Northwind (comes bundled with ACCESS, SQL Server, and Virtuoso) comprised of tables such as: Customer, Employee, Product, Category, Supplier, Shipper etc. OpenLink Virtuoso - SQL DBMS Engine (although this could have been any ODBC or JDBC accessible Database), SQL-RDF Metaschema Language, HTTP URL-rewriter, WebDAV Engine, and DBMS hosted XSLT processor Client Tools - iSPARQL Query Builder, RDF Browser (which could also have been Tabulator or DISCO or a standard Web Browser) Experiment / Demo Declaratively map the Northwind SQL Schema to RDF using the Virtuoso Meta Schema Language (see: Virtuoso PL based Northwind_SQL_RDF script) Start browsing the data by clicking on the URIs that represent the RDF Data Model Entities resulting from the SQL to RDF Mapping Observations Via a single Data Link click I was able to obtain specific information about the Customer represented by the URI &quot;ALFKI&quot; (act of URI Dereferencing as you would an Object ID in an Object or Object-Relational Database) Via a Dynamic Data Page I was able to explore all the entity relationships or specific entity data (i.e Exploratory or Entity specific dereferencing) in the Northwind Data Space I was able to perform similar exploration (as per item 2) using our OpenLink Browser. Conclusions The vision of data, information, or knowledge at your fingertips is nigh! Thanks to the infrastructure provided by the Semantic Data Web (URIs, RDF Data Model, variety of RDF Serialization Formats[1][2][3], and Shared Data Dictionaries / Schemas / Ontologies [1][2][3][4][5]) it&#39;s now possible to Virtualize enterprise data from the Physical Storage Level, through the Logical Data Management Levels (Relational), up to a Concrete Conceptual Model (Graph) without operating system, development environment or framework, or database engine lock-in. Next Steps We produce a shared ontology for the CRM and Business Reporting Domains. I hope this experiment clarifies how this is quite achievable by converting XML Schemas to RDF Data Dictionaries (RDF Schemas or Ontologies). Stay tuned :-) Also watch TimBL amplify and articulate Linked Data value in a recent interview. Other Related Matters To deliver a mechanism that facilitates the crystallization of this reality is a contribution of boundless magnitude (as we shall all see in due course). Thus, it is easy to understand why even &quot;her majesty&quot;, the queen of England, simply had to get in on the act and appoint TimBL to the &quot;British Order of Merit&quot; :-) Note: All of the demos above now work with IE &amp; Safari (a &quot;remember what Virtuoso is epiphany&quot;) by simply putting Virtuoso&#39;s DBMS hosted XSLT engine to use :-) This also applies to my earlier collection of demos from the Hello Data Web and other Data Web &amp; Linked Data related demo style posts.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Last week we <a href="http://www.openlinksw.com/press/virt_501.htm">officially released Virtuoso 5.0.1</a> (in Commercial and Open Source Editions). The press release provided us with an official mechanism and timestamp for the current Virtuoso feature set.</p> 
<p>A vital component of the new Virtuoso release is the finalization of our SQL to RDF mapping functionality -- enabling the declarative mapping of SQL Data to RDF. Additional technical insight covering other new features (delivered and pending) is provided by <a href="http://www.openlinksw.com/weblogs/oerling/">Orri Erling</a>, as part of a series of post-Banff posts.</p>

<h2>Why is SQL to RDF Mapping a Big Deal?</h2>

<p>A majority of the world&#39;s data (especially in the enterprise realm) resides in SQL Databases. In addition, Open Access to the data residing in said databases remains the biggest challenge to enterprises for the following reasons:</p>
<ol>
<li>
SQL Data Sources are inherently heterogeneous because they are acquired with business applications that are in many cases inextricably bound to a particular DBMS engine
</li>
<li>
Data is predictably dirty
</li>
<li>
DBMS vendors ultimately hold the data captive and have traditionally resisted data access standards such as ODBC (*trust me they have, just look at the unprecedented bad press associated with ODBC the only truly platform independent data access API. Then look at how this bad press arose..*)
</li>
</ol>

<p>
Enterprises have known from the beginning of modern corporate times that data access, discovery, and manipulation capabilities are inextricably linked to the &quot;Real-time Enterprise&quot; nirvana (hence my use of 0.0 before this becomes 3.0).</p>
<p>In my experience, as someone whose operated in the data access and data integration realms since the late &#39;80s, I&#39;ve painfully observed enterprises pursue, but unsuccessfully attain, full control over enterprise data (the prized asset of any organization) such that data-, information-, knowledge-workers are just a click away from commencing coherent platform and database independent data drill-downs and/or discovery that transcend intranet, internet, and extranet boundaries -- serendipitous interaction with relevant data, without compromise!</p>

<p>Okay, situation analysis done, we move on..  </p>

<p>At our most recent (<a href="http://esw.w3.org/topic/CambridgeSemanticWebGatherings/Meeting/2007-06-12_Gathering">12th June</a>) monthly <a href="http://esw.w3.org/topic/CambridgeSemanticWebGatherings">Semantic Web Gathering</a>, I unveiled to <a href="http://www.w3.org/People/Berners-Lee/card#i">TimBL</a> and a host of other attendees a simple, but powerful, demonstration of how <a href="http://en.wikipedia.org/wiki/Linked_Data">Linked Data</a>, as an aspect of the <a href="http://www.businessweek.com/technology/content/apr2007/tc20070409_961951.htm">Semantic Data Web</a>, can be applied to enterprise data integration challenges.</p>

<h2>Actual SQL to RDF Mapping Demo / Experiment</h2>

<h4>Hypothesis</h4>
A SQL Schema can be effectively mapped declaratively to RDF such that SQL Rows morph into RDF Instance Data (Entity Sets) based on the Concepts &amp; Properties defined in a Concrete Conceptual Data Model oriented Data Dictionary (<a href="http://www.w3schools.com/rdf/rdf_schema.asp">RDF Schema</a> and/or <a href="http://www.w3schools.com/rdf/rdf_owl.asp">OWL Ontology</a>). In addition, the solution must demonstrate how &quot;Linked Data in the Web&quot; is completely different from &quot;Data on the Web&quot; or &quot;Linked Data on the Web&quot; (btw - <a href="http://kasei.us/people/Tom_Heath/">Tom Heath</a> eloquently unleashed this point in his recent <a href="http://blogs.talis.com/nodalities/2007/06/tom_heath_talks_with_talis_abo.php">podcast interview with Talis</a>).

<h4>Apparatus</h4>
An Ontology - in this case we simply derived the <a href="http://demo.openlinksw.com/DAV/home/demo/Public/Queries/SQLRDFIntegraton/Explore_Northwind_Ontology.isparql">Northwind Ontology</a> from the XML Schema based CSDL (<a href="http://blogs.msdn.com/adonet/archive/2007/01/30/entity-data-model-part-1.aspx">Conceptual Schema Definition Language</a>) used by Microsoft&#39;s public <a href="http://astoria.mslivelabs.com/Default.aspx">Astoria demo</a> (specifically the <a href="http://astoria.mslivelabs.com/termsOfUseNorthwind.aspx?returnURL=Northwind">Northwind Data Services demo</a>).  

SQL Database Schema - <a href="http://www.microsoft.com/library/media/1033/technet/images/prodtechnol/sql/2000/maintain/sscpop07_big.gif">Northwind</a> (comes bundled with ACCESS, SQL Server, and Virtuoso) comprised of tables such as: <a href="http://www.openlinksw.com/schemas/northwind#Customer">Customer</a>, <a href="http://www.openlinksw.com/schemas/northwind#Employee">Employee</a>, <a href="http://www.openlinksw.com/schemas/northwind#Product">Product</a>, <a href="http://www.openlinksw.com/schemas/northwind#Category">Category</a>, <a href="http://www.openlinksw.com/schemas/northwind#Supplier">Supplier</a>, <a href="http://www.openlinksw.com/schemas/northwind#Shipper">Shipper</a> etc.

<a href="http://www.openlinksw.com/virtuoso/">OpenLink Virtuoso</a> - SQL DBMS Engine (although this could have been any <a href="http://en.wikipedia.org/wiki/Open_Database_Connectivity">ODBC</a> or <a href="http://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</a> accessible Database), <a href="http://www.openlinksw.com/virtuoso/Whitepapers/pdf/Virtuoso_SQL_to_RDF_Mapping.pdf">SQL-RDF Metaschema Language</a>, HTTP URL-rewriter, WebDAV Engine, and DBMS hosted XSLT processor

Client Tools -<a href="http://demo.openlinksw.com/isparql/"> iSPARQL Query Builder</a>, <a href="http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html">RDF Browser</a> (which could also have been <a href="http://www.w3.org/2005/ajar/tab">Tabulator</a> or<a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/ng4j/disco/"> DISCO</a> or a standard Web Browser)

<h4>Experiment / Demo</h4>
<ol>
<li>
Declaratively map the Northwind SQL Schema to RDF using the Virtuoso Meta Schema Language (see: <a href="http://demo.openlinksw.com/DAV/home/demo/Public/Queries/SQLRDFIntegraton/northwind_sql_rdf.sql">Virtuoso PL based Northwind_SQL_RDF script</a>)
</li>
<li>
Start browsing the data by clicking on the URIs that represent the RDF Data Model Entities resulting from the SQL to RDF Mapping 
</li>
</ol>

<h4>Observations</h4>
<ol>
<li>
Via a single Data Link click I was able to obtain specific information about the Customer represented by the URI <a href="http://demo.openlinksw.com/Northwind/Customer/ALFKI">&quot;ALFKI&quot;</a> (act of URI Dereferencing as you would an Object ID in an Object or Object-Relational Database) </li>
<li>
Via a 
<a href="http://demo.openlinksw.com/DAV/home/demo/Public/Queries/SQLRDFIntegraton/Explore_Northwind.isparql">Dynamic Data Page </a> I was able to explore all the entity relationships or specific entity data (i.e Exploratory or Entity specific dereferencing) in the Northwind Data Space
</li>
<li>
I was able to perform similar exploration (as per item 2) using our
<a href="http://demo.openlinksw.com/DAV/home/demo/Public/Queries/SQLRDFIntegraton/Explore_Northwind_Customer_ALFKI.wqx">OpenLink Browser. </a>
</li>
</ol>

<h4>Conclusions</h4>
<p>The vision of data, information, or knowledge at your fingertips is nigh! Thanks to the infrastructure provided by the Semantic Data Web (URIs, <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF Data Model</a>, variety of RDF Serialization Formats[<a href="http://www.dajobe.org/2004/01/turtle/">1</a>][<a href="http://www.w3.org/DesignIssues/Notation3">2</a>][<a href="http://www.w3.org/TR/2002/WD-rdf-syntax-grammar-20020325/">3</a>], and Shared Data Dictionaries / Schemas / Ontologies [<a href="http://xmlns.com/foaf/spec/">1</a>][<a href="http://rdfs.org/sioc/spec/">2</a>][<a href="http://www.w3.org/TR/swbp-skos-core-guide/">3</a>][<a href="http://musicontology.com/">4</a>][<a href="http://bblfish.net/work/atom-owl/2006-06-06/AtomOwl.html">5</a>]) it&#39;s now possible to Virtualize enterprise data from the Physical Storage Level, through the Logical Data Management Levels (Relational), up to a Concrete Conceptual Model (Graph) without operating system, development environment or framework, or database engine lock-in.</p>

<h2>Next Steps</h2>
<p>We produce a shared ontology for the CRM and Business Reporting Domains. I hope this experiment clarifies how this is quite achievable by converting XML Schemas to RDF Data Dictionaries (RDF Schemas or Ontologies). Stay tuned :-) 
</p>
<p>Also watch <a href="http://news.com.com/1606-2-6189377.html">TimBL amplify and articulate Linked Data value</a> in a recent interview.</p>

<h2>Other Related Matters</h2>
<p>To deliver a mechanism that facilitates the crystallization of this reality is a contribution of boundless magnitude (as we shall all see in due course). Thus, it is easy to understand why even &quot;her majesty&quot;, the queen of England, simply had to get in on the act and <a href="http://www.royal.gov.uk/output/Page1880.asp">appoint TimBL to the &quot;British Order of Merit</a>&quot; :-)</p>

<p>Note: All of the demos above now work with IE &amp; Safari (a &quot;remember what Virtuoso is epiphany&quot;) by simply putting Virtuoso&#39;s DBMS hosted XSLT engine to use :-) This also applies to my earlier collection of demos from the <a href="http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&q=hello%20data%20web&type=text&output=html">Hello Data Web</a> and other <a href="http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&q=.isparql&type=text&output=html">Data Web &amp; Linked Data related demo style posts</a>.</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-10-20#1065">
  <rss:title>Birds of a Feather Flock Together - Mac OS X &amp; Rails</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2006-10-20T23:55:40Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">A very cool video promo for Ruby on Rails and Mac OS X, or should I say: 37 Signals &amp; Apple :-) Either way, very cool! BTW - We have just released a collection of High-Performance Data Providers for ActiveRecord. Our providers deliver Consistent Functionality to RoR developers across Virtuoso, Oracle, SQL Server, Sybase, DB2, Ingres, Informix, and others without compromising performance or cross platform portability.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>A very cool v<a href="http://www.apple.com/education/whymac/compsci/video.html">ideo promo for Ruby on Rails and Mac OS X</a>, or should I say: 37 Signals &amp; Apple :-) Either way, very cool!</p>

<p>BTW - We have just released a collection of <a href="http://rubyforge.org/projects/odbc-rails/">High-Performance Data Providers for ActiveRecord</a>. Our providers deliver </p>
<blockquote>Consistent Functionality</blockquote> to RoR developers across <a href="http://virtuoso.openlinksw.com/wiki/main/">Virtuoso</a>, Oracle, SQL Server, Sybase, DB2, Ingres, Informix, and others without compromising performance or cross platform portability.]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-06-26#990">
  <rss:title>DBMS Hosted Filesystems &amp; WinFS</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2006-06-26T21:41:33Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">The return of WinFS back into SQL Server has re-ignited interest in the somewhat forgotten “DBMS Engine hosted Unified Storage System” vision. The WinFS project struggles have more to do with the futility of “Windows Platform Monoculture” than the actual vision itself. In today&#39;s reality you simply cannot seek to deliver a “Unified Storage” solution that&#39;s inherently operating system specific, and even worse, ignores existing complimentary industry standards and the loosely coupled nature of the emerging Web Operating System. A quick FYI: Virtuoso has offered a DBMS hosted Filesystem via WebDAV for a number of years, but the implications of this functionality have remained unclear for just as long. Thus, we developed (a few years ago) and released (recently) an application layer above Virtuoso&#39;s WebDAV storage realm called: “The OpenLink Briefcase” (nee. oDrive). This application allows you to view items uploaded by content type and/or kind (People, Business Cards, Calendars, Business Reports, Office Documents, Photos, Blog Posts, Feed Channels/Subscriptions, Bookmarks etc..). it also includes automatic metadata extraction (where feasible) and indexing. Naturally, as an integral part of our “OpenLink Data Spaces” (ODS) product offering, it supports GData, URIQA, SPARQL (note: WebDAV metadata is sync&#39;ed with Virtuoso&#39;s RDF Triplestore), SQL, and WebDAV itself. You can explore the power of this product via the following routes: Download the Virtuoso Open Source Edition and the ODS add-ons or Visit our live demo server (note: this is strictly a demo server with full functionality available) and simply register and then create a “Briefcase” application instance Digest this Briefcase Home Page Screenshot</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>
The return of WinFS back into SQL Server has re-ignited interest in the somewhat forgotten “DBMS Engine hosted Unified Storage System” vision. The WinFS project struggles have more to do with the futility of “Windows Platform Monoculture” than the actual vision itself. In today&#39;s reality you simply cannot seek to deliver a “Unified Storage” solution that&#39;s inherently operating system specific, and even worse, ignores existing complimentary industry standards and the loosely coupled nature of the emerging Web Operating System.
</p>
<p>
A quick FYI:
<br />Virtuoso has offered a DBMS hosted Filesystem via WebDAV for a number of years, but the implications of this functionality have remained unclear for just as long. Thus,  we developed (a few years ago) and released (recently) an application layer above <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSDAV">Virtuoso&#39;s WebDAV storage</a> realm called: “<a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsBriefcase">The OpenLink Briefcase</a>”  (nee. oDrive). This application allows you to view items uploaded by content type and/or kind (People, Business Cards, Calendars, Business Reports, Office Documents, Photos, Blog Posts, Feed Channels/Subscriptions, Bookmarks etc..). it also includes automatic metadata extraction (where feasible) and indexing. Naturally, as an integral part of our “OpenLink Data Spaces” (ODS) product offering, it  supports GData, URIQA, SPARQL (note: WebDAV metadata is sync&#39;ed with <a href="http://virtuoso.openlinksw.com/wiki/main/Main/VOSRDF">Virtuoso&#39;s RDF Triplestore</a>), SQL, and WebDAV itself.
</p>
<p>
You can explore the power of this product via the following routes:
</p>
<ol>
<li>Download the <a href="http://virtuoso.openlinksw.com/wiki/main/">Virtuoso Open Source Edition</a> and the <a href="http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex">ODS add-ons </a>or</li>
<li>Visit  <a href="http://demo.openlinksw.com">our live demo server</a> (note: this is strictly a demo server with full functionality available) and simply register and then create a “Briefcase” application instance</li>
<li>Digest this <a href="http://www.openlinksw.com/dataspace/~kidehen/blog/public/graphics/briefcase_home_page.png">Briefcase Home Page Screenshot</a>
</li>
</ol>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-05-05#968">
  <rss:title>&quot;Free&quot; Databases: Express vs. Open-Source RDBMSs</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2006-05-05T16:02:17Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Very detailed and insightful peek into the state of affairs re. database engines (Open &amp; Closed Source). I added the missing piece regarding the &quot;Virtuoso Conductor&quot; (the Web based Admin UI for Virtuoso) to the original post below. I also added a link to our live SPARQL Demo so that anyone interested can start playing around with SPARQL and SPARQL integrated into SQL right away. Another good thing about this post is the vast amount of valuable links that it contains. To really appreciate this point simply visit my Linkblog (excuse the current layout :-) - a Tab if you come in via the front door of this Data Space (what I used to call My Weblog Home Page). &quot;Free&quot; Databases: Express vs. Open-Source RDBMSs: &quot;Open-source relational database management systems (RDBMSs) are gaining IT mindshare at a rapid pace. As an example, BusinessWeek&#39;s February 6, 2006 &#39; Taking On the Database Giants &#39; article asks &#39;Can open-source upstarts compete with Oracle, IBM, and Microsoft?&#39; and then provides the answer: &#39;It&#39;s an uphill battle, but customers are starting to look at the alternatives.&#39; There&#39;s no shortage of open-source alternatives to look at. The BusinessWeek article concentrates on MySQL, which BW says &#39;is trying to be the Ikea of the database world: cheap, needs some assembly, but has a sleek, modern design and does the job.&#39; The article also discusses Postgre[SQL] and Ingres, as well as EnterpriseDB, an Oracle clone created from PostgreSQL code*. Sun includes PostgreSQL with Solaris 10 and, as of April 6, 2006, with Solaris Express.** *Frank Batten, Jr., the investor who originally funded Red Hat, invested a reported $16 million into Great Bridge with the hope of making a business out of providing paid support to PostgreSQL users. Great Bridge stayed in business only 18 months , having missed an opportunity to sell the business to Red Hat and finding that selling $50,000-per-year support packages for an open-source database wasn&#39;t easy. As Batten concluded, &#39;We could not get customers to pay us big dollars for support contracts.&#39; Perhaps EnterpriseDB will be more successful with a choice of $5,000, $3,000, or $1,000 annual support subscriptions . **Interestingly, Oracle announced in November 2005 that Solaris 10 is &#39;its preferred development and deployment platform for most x64 architectures, including x64 (x86, 64-bit) AMD Opteron and Intel Xeon processor-based systems and Sun&#39;s UltraSPARC(R)-based systems.&#39; There is a surfeit of reviews of current MySQL, PostgreSQL andâto a lesser extentâIngres implementations. These three open-source RDBMSs come with their own or third-party management tools. These systems compete against free versions of commercial (proprietary) databases: SQL Server 2005 Express Edition (and its MSDE 2000 and 1.0 predecessors), Oracle Database 10g Express Edition, IBM DB2 Express-C, and Sybase ASE Express Edition for Linux where database size and processor count limitations aren&#39;t important. Click here for a summary of recent InfoWorld reviews of the full versions of these four databases plus MySQL, which should be valid for Express editions also. The FTPOnline Special Report article, &#39;Microsoft SQL Server Turns 17,&#39; that contains the preceding table is here (requires registration.) SQL Server 2005 Express Edition SP-1 Advanced Features SQL Server 2005 Express Edition with Advanced Features enhances SQL Server 2005 Express Edition (SQL Express or SSX) dramatically, so it deserves special treatment here. SQL Express gains full text indexing and now supports SQL Server Reporting Services (SSRS) on the local SSX instance. The SP-1 with Advanced Features setup package, which Microsoft released on April 18, 2006, installs the release version of SQL Server Management Studio Express (SSMSE) and the full version of Business Intelligence Development Studio (BIDS) for designing and editing SSRS reports. My &#39;Install SP-1 for SQL Server 2005 and Express&#39; article for FTPOnline&#39;s SQL Server Special Report provides detailed, illustrated installation instructions for and related information about the release version of SP-1. SP-1 makes SSX the most capable of all currently available Express editions of commercial RDBMSs for Windows. OpenLink Software&#39;s Virtuoso Open-Source Edition OpenLink Software announced an open-source version of it&#39;s Virtuoso Universal Server commercial DBMS on April 11, 2006. On the initial date of this post, May 2, 2006, Virtuoso Open-Source Edition (VOS) was virtually under the radar as an open-source product. According to this press release, the new edition includes: SPARQL compliant RDF Triple Store SQL-200n Object-Relational Database Engine (SQL, XML, and Free Text) Integrated BPEL Server and Enterprise Service Bus WebDAV and Native File Server Web Application Server that supports PHP, Perl, Python, ASP.NET, JSP, etc. Runtime Hosting for Microsoft .NET, Mono, and Java VOS only lacks the virtual server and replication features that are offered by the commercial edition. VOS includes a Web-based administration tool called the &quot;Virtuoso Conductor&quot; According to Kingsley Idehen&#39;s Weblog, &#39;The Virtuoso build scripts have been successfully tested on Mac OS X (Universal Binary Target), Linux, FreeBSD, and Solaris (AIX, HP-UX, and True64 UNIX will follow soon). A Windows Visual Studio project file is also in the works (ETA some time this week).&#39; InfoWorld&#39;s Jon Udell has tracked Virtuoso&#39;s progress since 2002, with an additional article in 2003 and a one-hour podcast with Kingsley Idehen on April 26, 2006. A major talking point for Virtuoso is its support for Atom 0.3 syndication and publication, Atom 1.0 syndication and (forthcoming) publication, and future support for Google&#39;s GData protocol, as mentioned in this Idehen post. Yahoo!&#39;s Jeremy Zawodny points out that the &#39;fingerprints&#39; of Adam Bosworth, Google&#39;s VP of Engineering and the primary force behind the development of Microsoft Access, &#39;are all over GData.&#39; Click here to display a list of all OakLeaf posts that mention Adam Bosworth. One application for the GData protocol is querying and updating the Google Base database independently of the Google Web client, as mentioned by Jeremy: &#39;It&#39;s not about building an easier onramp to Google Base. ... Well, it is. But, again, that&#39;s the small stuff.&#39; Click here for a list of posts about my experiences with Google Base. Watch for a future OakLeaf post on the subject as the GData APIs gain ground. Open-Source and Free Embedded Database Contenders Open-source and free embedded SQL databases are gaining importance as the number and types of mobile devices and OSs proliferate. Embedded databases usually consist of Java classes or Windows DLLs that are designed to minimize file size and memory consumption. Embedded databases avoid the installation hassles, heavy resource usage and maintenance cost associated with client/server RDBMSs that run as an operating system service. Andrew Hudson&#39;s December 2005 &#39;Open Source databases rounded up and rodeoed&#39; review for The Enquirer provides brief descriptions of one commercial and eight open source database purveyors/products: Sleepycat, MySQL, PostgreSQL, Ingres, InnoBase, Firebird, IBM Cloudscape (a.k.a, Derby), Genezzo, and Oracle. Oracle Sleepycat* isn&#39;t an SQL Database, Oracle InnoDB* is an OEM database engine that&#39;s used by MySQL, and Genezzo is a multi-user, multi-server distributed database engine written in Perl. These special-purpose databases are beyond the scope of this post. * Oracle purchased Sleepycat Software, Inc. in February 2006 and purchased Innobase OY in October 2005 . The press release states: &#39;Oracle intends to continue developing the InnoDB technology and expand our commitment to open source software.&#39; Derby is an open-source release by the Apache Software Foundation of the Cloudscape Java-based database that IBM acquired when it bought Informix in 2001. IBM offers a commercial release of Derby as IBM Cloudscape 10.1. Derby is a Java class library that has a relatively light footprint (2 MB), which make it suitable for client/server synchronization with the IBM DB2 Everyplace Sync Server in mobile applications. The IBM DB2 Everyplace Express Edition isn&#39;t open source or free*, so it doesn&#39;t qualify for this post. The same is true for the corresponding Sybase SQL Anywhere components.** * IBM DB2 Everyplace Express Edition with synchronization costs $379 per server (up to two processors) and $79 per user. DB2 Everyplace Database Edition (without DB2 synchronization) is $49 per user. (Prices are based on those when IBM announced version 8 in November 2003.) ** Sybase&#39;s iAnywhere subsidiary calls SQL Anywhere &#39;the industry&#39;s leading mobile database.&#39; A Sybase SQL Anywhere Personal DB seat license with synchronization to SQL Anywhere Server is $119; the cost without synchronization wasn&#39;t available from the Sybase Web site. Sybase SQL Anywhere and IBM DB2 Everyplace perform similar replication functions. Sun&#39;s Java DB, another commercial version of Derby, comes with the Solaris Enterprise Edition, which bundles Solaris 10, the Java Enterprise System, developer tools, desktop infrastructure and N1 management software. A recent Between the Lines blog entry by ZDNet&#39;s David Berlind waxes enthusiastic over the use of Java DB embedded in a browser to provide offline persistence. RedMonk analyst James Governor and eWeek&#39;s Lisa Vaas wrote about the use of Java DB as a local data store when Tim Bray announced Sun&#39;s Derby derivative and Francois Orsini demonstrated Java DB embedded in the Firefox browser at the ApacheCon 2005 conference. Firebird is derived from Borland&#39;s InterBase 6.0 code, the first commercial relational database management system (RDBMS) to be released as open source. Firebird has excellent support for SQL-92 and comes in three versions: Classic, SuperServer and Embedded for Windows, Linux, Solaris, HP-UX, FreeBSD and MacOS X. The embedded version has a 1.4-MB footprint. Release Candidate 1 for Firebird 2.0 became available on March 30, 2006 and is a major improvement over earlier versions. Borland continues to promote InterBase, now at version 7.5, as a small-footprint, embedded database with commercial Server and Client licenses. SQLite is a featherweight C library for an embedded database that implements most SQL-92 entry- and transitional-level requirements (some through the JDBC driver) and supports transactions within a tiny 250-KB code footprint. Wrappers support a multitude of languages and operating systems, including Windows CE, SmartPhone, Windows Mobile, and Win32. SQLite&#39;s primary SQL-92 limitations are lack of nested transactions, inability to alter a table design once committed (other than with RENAME TABLE and ADD COLUMN operations), and foreign-key constraints. SQLite provides read-only views, triggers, and 256-bit encryption of database files. A downside is the the entire database file is locked when while a transaction is in progress. SQLite uses file access permissions in lieu of GRANT and REVOKE commands. Using SQLite involves no license; its code is entirely in the public domain. The Mozilla Foundation&#39;s Unified Storage wiki says this about SQLite: &#39;SQLite will be the back end for the unified store [for Firefox]. Because it implements a SQL engine, we get querying &#39;for free&#39;, without having to invent our own query language or query execution system. Its code-size footprint is moderate (250k), but it will hopefully simplify much existing code so that the net code-size change should be smaller. It has exceptional performance, and supports concurrent access to the database. Finally, it is released into the public domain, meaning that we will have no licensing issues.&#39; Vieka Technology, Inc.&#39;s eSQL 2.11 is a port of SQLite to Windows Mobile (Pocket PC and Smartphone) and Win32, and includes development tools for Windows devices and PCs, as well as a .NET native data provider. A conventional ODBC driver also is available. eSQL for Windows (Win32) is free for personal and commercial use; eSQL for Windows Mobile requires a license for commercial (for-profit or business) use. HSQLDB isn&#39;t on most reviewers&#39; radar, which is surprising because it&#39;s the default database for OpenOffice.org (OOo) 2.0&#39;s Base suite member. HSQLDB 1.8.0.1 is an open-source (BSD license) Java dembedded database engine based on Thomas Mueller&#39;s original Hypersonic SQL Project. Using OOo&#39;s Base feature requires installing the Java 2.0 Runtime Engine (which is not open-source) or the presence of an alternative open-source engine, such as Kaffe. My prior posts about OOo Base and HSQLDB are here, here and here. The HSQLDB 1.8.0 documentation on SourceForge states the following regarding SQL-92 and later conformance: HSQLDB 1.8.0 supports the dialect of SQL defined by SQL standards 92, 99 and 2003. This means where a feature of the standard is supported, e.g. left outer join, the syntax is that specified by the standard text. Many features of SQL92 and 99 up to Advanced Level are supported and here is support for most of SQL 2003 Foundation and several optional features of this standard. However, certain features of the Standards are not supported so no claim is made for full support of any level of the standards. Other less well-known embedded databases designed for or suited to mobile deployment are Mimer SQL Mobile and VistaDB 2.1 . Neither product is open-source and require paid licensing; VistaDB requires a small up-front payment by developers but offers royalty-free distribution. Java DB, Firebird embedded, SQLite and eSQL 2.11 are contenders for lightweight PC and mobile device database projects that aren&#39;t Windows-only. SQL Server 2005 Everywhere If you&#39;re a Windows developer, SQL Server Mobile is the logical embedded database choice for mobile applications for Pocket PCs and Smartphones. Microsoft&#39;s April 19, 2006 press release delivered the news that SQL Server 2005 Mobile Editon (SQL Mobile or SSM) would gain a big brotherâSQL Server 2005 Everywhere Edition. Currently, the SSM client is licensed (at no charge) to run in production on devices with Windows CE 5.0, Windows Mobile 2003 for Pocket PC or Windows Mobile 5.0, or on PCs with Windows XP Tablet Edition only. SSM also is licensed for development purposes on PCs running Visual Studio 2005. Smart Device replication with SQL Server 2000 SP3 and later databases has been the most common application so far for SSM. By the end of 2006, Microsoft will license SSE for use on all PCs running any Win32 version or the preceding device OSs. A version of SQL Server Management Studio Express (SSMSE)âupdated to support SSEâis expected to release by the end of the year. These features will qualify SSE as the universal embedded database for Windows client and smart-device applications. For more details on SSE, read John Galloway&#39;s April 11, 2006 blog post and my &#39;SQL Server 2005 Mobile Goes Everywhere&#39; article for the FTPOnline Special Report on SQL Server.&quot; (Via OakLeaf Systems.)</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
 <p>Very detailed and insightful peek into the state of affairs re. database engines (Open &amp; Closed Source).</p>   <p>I added the missing piece regarding the &quot;Virtuoso Conductor&quot; (the Web based Admin UI for Virtuoso) to the original post below. I also added a link to our live SPARQL Demo so that anyone interested can start playing around with SPARQL and SPARQL integrated into SQL right away.</p>  <p>Another good thing about this post is the vast amount of valuable links that it contains. To really appreciate this point simply visit my Linkblog (excuse the current layout :-) - a Tab if you come in via the front door of this <a href="http://www.infoworld.com/opinions/index.html">Data Space</a> (what I used to call <a href="http://www.openlinksw.com/blog/%7Ekidehen/">My Weblog Home Page</a>).</p>   <blockquote>  <p>   <a href="http://oakleafblog.blogspot.com/2006/05/free-databases-express-vs-open-source.html">&quot;Free&quot; Databases: Express vs. Open-Source RDBMSs</a>: &quot;<span style="font-family: verdana;">Open-source relational database management systems (RDBMSs) are gaining IT mindshare at a rapid pace. As an example, <em>BusinessWeek</em>&#39;s February 6, 2006 &#39;</span>   <a href="http://www.businessweek.com/technology/content/feb2006/tc20060206_918648.htm"><span style="font-family: verdana;">Taking On the Database Giants</span>   </a><span style="font-family: verdana;">&#39; article asks &#39;Can open-source upstarts compete with Oracle, IBM, and Microsoft?&#39; and then provides the answer: &#39;It&#39;s an uphill battle, but customers are starting to look at the alternatives.&#39;</span>   <br />   <span style="font-family: Verdana;"></span>   <br />   <span style="font-family: Verdana;">There&#39;s no shortage of open-source alternatives to look at. The <em>BusinessWeek</em> article concentrates on <a href="http://www.mysql.com/">MySQL</a>, which <em>BW</em> says &#39;is trying to be the Ikea of the database world: cheap, needs some assembly, but has a sleek, modern design and does the job.&#39; The article also discusses <a href="http://www.postgresql.org/">Postgre[SQL]</a> and <a href="http://www.ingres.com/products/Prod_Ingres_2006.html">Ingres</a>, as well as <a href="http://www.enterprisedb.com/">EnterpriseDB</a>, an Oracle clone created from PostgreSQL code*. Sun includes <a href="http://www.sun.com/software/solaris/postgres.jsp">PostgreSQL with Solaris 10</a> and, as of April 6, 2006, with <a href="http://docs.sun.com/app/docs/doc/819-2183/6n4g726uc?a=view">Solaris Express</a>.**</span>   <br />   <span style="font-family: Verdana;"></span>   <br />   <span style="font-family: Verdana;"><span style="font-size: 85%;">*Frank Batten, Jr., the investor who originally funded Red Hat, invested a reported </span>    <a href="http://www.theinquirer.net/?article=28201"><span style="font-size: 85%;">$16 million into Great Bridge</span>    </a><span style="font-size: 85%;"> with the hope of making a business out of providing paid support to PostgreSQL users. </span>    <a href="http://news.com.com/2100-1001-272715.html"><span style="font-size: 85%;">Great Bridge stayed in business only 18 months</span>    </a><span style="font-size: 85%;">, having </span>    <a href="http://news.com.com/2100-1001-268915.html"><span style="font-size: 85%;">missed an opportunity to sell the business to Red Hat</span>    </a><span style="font-size: 85%;"> and finding that selling </span>    <a href="http://news.com.com/2100-1001-269729.html"><span style="font-size: 85%;">$50,000-per-year support packages</span>    </a><span style="font-size: 85%;"> for an open-source database wasn&#39;t easy. As Batten concluded, &#39;We could not get customers to pay us big dollars for support contracts.&#39; Perhaps EnterpriseDB will be more successful with a choice of </span>    <a href="http://www.enterprisedb.com/shop.do?cID=10000&pID=10001"><span style="font-size: 85%;">$5,000, $3,000, or $1,000 annual support subscriptions</span>    </a><span style="font-size: 85%;">.</span>   </span>   <br />   <span style="font-family: Verdana;"></span><span style="font-family: Verdana;"></span><span style="font-family: Verdana;"></span>   <br />   <span style="font-family: Verdana; font-size: 85%;">**Interestingly, <a href="http://www.sun.com/smi/Press/sunflash/2005-11/sunflash.20051115.4.xml">Oracle announced in November 2005</a> that Solaris 10 is &#39;its preferred development and deployment platform for most x64 architectures, including x64 (x86, 64-bit) AMD Opteron and Intel Xeon processor-based systems and Sun&#39;s UltraSPARC(R)-based systems.&#39;</span>   <br />   <br />   <span style="font-family: Verdana;">There is a surfeit of reviews of current MySQL, PostgreSQL andâto a lesser extentâIngres implementations. These three open-source RDBMSs come with their own or third-party management tools. These systems compete against free versions of commercial (proprietary) databases: <a href="http://msdn.microsoft.com/vstudio/express/sql/">SQL Server 2005 Express Edition</a> (and its MSDE 2000 and 1.0 predecessors), <a href="http://www.oracle.com/technology/products/database/xe/index.html" target="_blank">Oracle Database 10g Express Edition</a>, <a href="http://www-306.ibm.com/software/data/db2/udb/db2express/download.html" target="_blank">IBM DB2 Express-C</a>, and <a href="http://www.sybase.com/linux_promo" target="_blank">Sybase ASE Express Edition for Linux</a> where database size and processor count limitations aren&#39;t important. Click <a href="http://www.ftponline.com/special/sqlserver/rjennings-overview/table4.aspx">here</a> for a summary of recent <em>InfoWorld</em> reviews of the full versions of these four databases plus MySQL, which should be valid for Express editions also. The <a href="http://www.ftponline.com/special/sqlserver/">FTPOnline Special Report</a> article, &#39;Microsoft SQL Server Turns 17,&#39; that contains the preceding table is <a href="http://www.ftponline.com/special/sqlserver/rjennings-overview/">here</a> (requires registration.)</span>   <br />   <br />  </p>  <p>   <strong><span style="font-family: verdana;">SQL Server 2005 Express Edition SP-1 Advanced Features</span>   </strong>  </p>  <p>   <span style="font-family: Verdana;"><a href="http://www.microsoft.com/downloads/details.aspx?familyid=4C6BA9FD-319A-4887-BC75-3B02B5E48A40&displaylang=en">SQL Server 2005 Express Edition with Advanced Features</a> enhances SQL Server 2005 Express Edition (SQL Express or SSX) dramatically, so it deserves special treatment here. SQL Express gains full text indexing and now supports SQL Server Reporting Services (SSRS) on the local SSX instance. The SP-1 with Advanced Features setup package, which Microsoft released on April 18, 2006, installs the release version of SQL Server Management Studio Express (SSMSE) and the full version of Business Intelligence Development Studio (BIDS) for designing and editing SSRS reports. My &#39;<a href="http://www.ftponline.com/special/sqlserver/rjennings-sp1/">Install SP-1 for SQL Server 2005 and Express</a>&#39; article for FTPOnline&#39;s <a href="http://www.ftponline.com/special/sqlserver/">SQL Server Special Report</a> provides detailed, illustrated installation instructions for and related information about the release version of SP-1. SP-1 makes SSX the most capable of all currently available Express editions of commercial RDBMSs for Windows.</span>  </p>  <p>   <strong><span style="font-family: verdana;">OpenLink Software&#39;s Virtuoso Open-Source Edition</span>   </strong>   <br />   <span style="font-family: verdana;"></span>   <br />   <span style="font-family: verdana;"><a href="http://openlinksw.com/">OpenLink Software</a> announced an <a href="http://virtuoso.openlinksw.com/wiki/main/Main/">open-source version</a> of it&#39;s <a href="http://virtuoso.openlinksw.com/">Virtuoso Universal Server</a> commercial DBMS on April 11, 2006. On the initial date of this post, May 2, 2006, Virtuoso Open-Source Edition (VOS) was virtually under the radar as an open-source product. According to <a href="http://www.openlinksw.com/press/VOSPressRelease.htm">this press release</a>, the new edition includes:</span> <span style="font-family: Verdana;"></span>  </p>  <blockquote>   <span style="font-family: Verdana;"></span>  </blockquote> <blockquote></blockquote> <blockquote></blockquote>  <ul>   <li>     <a href="http://demo.openlinksw.com/sparql_demo/">SPARQL compliant RDF Triple Store</a> </li>   <li>SQL-200n Object-Relational Database Engine (SQL, XML, and Free Text) </li>   <li>Integrated BPEL Server and Enterprise Service Bus</li>   <li>WebDAV and Native File Server </li>   <li>Web Application Server that supports PHP, Perl, Python, ASP.NET, JSP, etc. </li>   <li>Runtime Hosting for Microsoft .NET, Mono, and Java </li>  </ul>VOS only lacks the virtual server and replication features that are offered by the commercial edition. VOS includes a Web-based administration tool called the &quot;Virtuoso Conductor&quot; According to <a href="http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&id=951&sid=&realm=">Kingsley Idehen&#39;s Weblog</a>, &#39;The Virtuoso build scripts have been successfully tested on Mac OS X (Universal Binary Target), Linux, FreeBSD, and Solaris (AIX, HP-UX, and True64 UNIX will follow soon). A Windows Visual Studio project file is also in the works (ETA some time this week).&#39;<br /> <br /> <em>InfoWorld</em>&#39;s Jon Udell has tracked Virtuoso&#39;s progress since <a href="http://www.infoworld.com/article/02/04/12/020415plvirtuoso_1.html">2002</a>, with an <a href="http://www.infoworld.com/article/03/03/21/12virtuoso_1.html">additional article in 2003</a> and a <a href="http://weblog.infoworld.com/udell/2006/04/28.html#a1437">one-hour podcast with Kingsley Idehen</a> on April 26, 2006. A major talking point for Virtuoso is its support for Atom 0.3 syndication and publication, Atom 1.0 syndication and (forthcoming) publication, and future support for Google&#39;s <a href="http://code.google.com/apis/gdata/overview.html">GData protocol</a>, as mentioned in <a href="http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&id=965">this Idehen post</a>. Yahoo!&#39;s <a href="http://jeremy.zawodny.com/blog/archives/006687.html">Jeremy Zawodny</a> points out that the &#39;fingerprints&#39; of <a href="http://oakleafblog.blogspot.com/2005/11/adam-bosworth-learning-from-web-and.html">Adam Bosworth</a>, Google&#39;s VP of Engineering and the primary force behind the development of Microsoft Access, &#39;are all over GData.&#39; Click <a href="http://search.blogger.com/?as_q=bosworth&ie=UTF-8&ui=blg&amp;bl_url=oakleafblog.blogspot.com&x=50&y=10">here</a> to display a list of all OakLeaf posts that mention Adam Bosworth.<br /> <br />One application for the GData protocol is querying and updating the Google Base database independently of the Google Web client, as mentioned by Jeremy: &#39;It&#39;s not about building an easier onramp to Google Base. ... Well, it is. But, again, that&#39;s the small stuff.&#39; Click <a href="http://search.blogger.com/?as_q=%22google+base%22&ie=UTF-8&x=50&y=9&q=%22google+base%22+blogurl:oakleafblog.blogspot.com&filter=0&ui=blg&sa=N&start=0">here</a> for a list of posts about my experiences with Google Base. Watch for a future OakLeaf post on the subject as the GData APIs gain ground.<br /> <span style="font-family: Verdana;"></span> <br />  <span style="font-family: Verdana;"><strong>Open-Source and Free Embedded Database Contenders</strong>  </span> <br /> <span style="font-family: Verdana;"></span> <br /> <span style="font-family: Verdana;">Open-source and free embedded SQL databases are gaining importance as the number and types of mobile devices and OSs proliferate. Embedded databases usually consist of Java classes or Windows DLLs that are designed to minimize file size and memory consumption. Embedded databases avoid the installation hassles, heavy resource usage and maintenance cost associated with client/server RDBMSs that run as an operating system service.</span> <br /> <br /> <span style="font-family: Verdana;">Andrew Hudson&#39;s December 2005 &#39;<a href="http://www.theinquirer.net/?article=28201">Open Source databases rounded up and rodeoed</a>&#39; review for The Enquirer provides brief descriptions of one commercial and eight open source database purveyors/products: Sleepycat, MySQL, PostgreSQL, Ingres, InnoBase, Firebird, IBM Cloudscape (a.k.a, Derby), Genezzo, and Oracle. Oracle <a href="http://www.sleepycat.com/">Sleepycat</a>* isn&#39;t an SQL Database, Oracle <a href="http://www.innodb.com/index.php">InnoDB</a>* is an OEM database engine that&#39;s used by MySQL, and <a href="http://www.genezzo.com/">Genezzo</a> is a multi-user, multi-server distributed database engine written in Perl. These special-purpose databases are beyond the scope of this post.</span> <br /> <br />  <span style="font-family: Verdana;"><span style="font-size: 85%;">* Oracle <a href="http://www.oracle.com/sleepycat/index.html">purchased Sleepycat Software, Inc. in February 2006</a> and </span>   <a href="http://www.oracle.com/innodb/index.html"><span style="font-size: 85%;">purchased Innobase OY in October 2005</span>   </a><span style="font-size: 85%;">. The press release states: &#39;Oracle intends to continue developing the InnoDB technology and expand our commitment to open source software.&#39; </span>  </span> <br /> <span style="font-family: Verdana; font-size: 85%;"></span> <br /> <span style="font-family: Verdana;">   <a href="http://db.apache.org/derby/"><strong>Derby</strong>   </a> is an open-source release by the <a href="http://www.apache.org/">Apache Software Foundation</a> of the <a href="http://www.infoworld.com/article/04/08/03/HNcloudscape_1.html">Cloudscape Java-based database that IBM acquired</a> when it bought Informix in 2001. IBM offers a commercial release of Derby as <a href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0408cline/">IBM Cloudscape 10.1</a>. Derby is a Java class library that has a relatively light footprint (2 MB), which make it suitable for <a href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0503stumpf/">client/server synchronization</a> with the IBM DB2 Everyplace Sync Server in <a href="http://www-128.ibm.com/developerworks/library/wi-cloud/">mobile applications</a>. The IBM DB2 Everyplace Express Edition isn&#39;t open source or free*, so it doesn&#39;t qualify for this post. The same is true for the corresponding Sybase SQL Anywhere components.**</span> <br /> <br /> <br />  <p>   <span style="font-family: verdana; font-size: 85%;">* IBM DB2 Everyplace Express Edition with synchronization costs $379 per server (up to two processors) and $79 per user. DB2 Everyplace Database Edition (without DB2 synchronization) is $49 per user. (Prices are based on those when </span>   <a href="http://news.earthweb.com/wireless/article.php/3107101"><span style="font-family: verdana; font-size: 85%;">IBM announced version 8</span>   </a><span style="font-family: verdana; font-size: 85%;"> in November 2003.)</span>  </p>  <p>   <span style="font-family: verdana; font-size: 85%;">** Sybase&#39;s iAnywhere subsidiary calls SQL Anywhere &#39;the industry&#39;s leading mobile database.&#39; A Sybase SQL Anywhere Personal DB seat license with synchronization to SQL Anywhere Server is $119; the cost without synchronization wasn&#39;t available from the Sybase Web site. Sybase SQL Anywhere and IBM DB2 Everyplace perform similar replication functions.</span>  </p>  <p>   <span style="font-family: Verdana;">Sun&#39;s <a href="http://developers.sun.com/prodtech/javadb/"><strong>Java DB</strong></a>, another commercial version of Derby, comes with the <a href="http://www.sun.com/software/solaris/">Solaris Enterprise Edition</a>, which bundles Solaris 10, the Java Enterprise System, developer tools, desktop infrastructure and N1 management software. A recent Between the Lines blog entry by ZDNet&#39;s David Berlind waxes enthusiastic over the use of <a href="http://blogs.zdnet.com/BTL/?p=2298">Java DB embedded in a browser</a> to provide offline persistence. RedMonk analyst <a href="http://www.redmonk.com/jgovernor/archives/001151.html">James Governor</a> and <em>eWeek</em>&#39;s <a href="http://www.eweek.com/article2/0,1895,1902407,00.asp">Lisa Vaas</a> wrote about the use of Java DB as a local data store when <a href="http://www.sauria.com/blog/2005/12/13#1440">Tim Bray announced Sun&#39;s Derby derivative</a> and <a href="http://blogs.sun.com/roller/page/FrancoisOrsini?entry=derby_apachecon_demo">Francois Orsini</a> demonstrated Java DB embedded in the Firefox browser at the ApacheCon 2005 conference.</span>   <br />   <span style="font-family: Verdana;"></span>   <br />   <span style="font-family: Verdana;">    <a href="http://www.firebirdsql.org/"><strong>Firebird</strong>    </a> is derived from Borland&#39;s InterBase 6.0 code, the first commercial relational database management system (RDBMS) to be released as open source. Firebird has excellent support for SQL-92 and comes in three versions: Classic, SuperServer and Embedded for Windows, Linux, Solaris, HP-UX, FreeBSD and MacOS X. The embedded version has a 1.4-MB footprint. Release Candidate 1 for Firebird 2.0 became available on March 30, 2006 and is a major improvement over earlier versions. <a href="http://www.borland.com/us/products/interbase/index.html">Borland continues to promote InterBase</a>, now at version 7.5, as a small-footprint, embedded database with commercial Server and Client licenses.</span>   <br />   <span style="font-family: Verdana;"></span>   <br />   <span style="font-family: Verdana;">    <a href="http://www.sqlite.org/index.html"><strong>SQLite</strong>    </a> is a featherweight C library for an embedded database that implements most SQL-92 entry- and transitional-level requirements (some through the JDBC driver) and supports transactions within a tiny 250-KB code footprint. <a href="http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers">Wrappers</a> support a multitude of languages and operating systems, including Windows CE, SmartPhone, Windows Mobile, and Win32. SQLite&#39;s primary <a href="http://www.sqlite.org/omitted.html">SQL-92 limitations</a> are lack of nested transactions, inability to alter a table design once committed (other than with RENAME TABLE and ADD COLUMN operations), and foreign-key constraints. SQLite provides read-only views, triggers, and 256-bit encryption of database files. A downside is the the entire database file is <a href="http://weblogs.asp.net/jgalloway/archive/2006/04/12/442615.aspx">locked when while a transaction is in progress</a>. SQLite uses file access permissions in lieu of GRANT and REVOKE commands. Using SQLite involves no license; its code is entirely in the public domain.</span>  </p>  <p>   <span style="font-family: Verdana; font-size: 85%;">The Mozilla Foundation&#39;s <a href="http://wiki.mozilla.org/Mozilla2:Unified_Storage">Unified Storage wiki</a> says this about SQLite: &#39;SQLite will be the back end for the unified store [for Firefox]. Because it implements a SQL engine, we get querying &#39;for free&#39;, without having to invent our own query language or query execution system. Its code-size footprint is moderate (250k), but it will hopefully simplify much existing code so that the net code-size change should be smaller. It has exceptional performance, and supports concurrent access to the database. Finally, it is released into the public domain, meaning that we will have no licensing issues.&#39;</span>  </p>  <p>   <span style="font-family: verdana;">Vieka Technology, Inc.&#39;s <a href="http://vieka.com/esql.htm"><strong>eSQL 2.11</strong></a> is a port of SQLite to Windows Mobile (Pocket PC and Smartphone) and Win32, and includes development tools for Windows devices and PCs, as well as a .NET native data provider. A conventional ODBC driver also is available. eSQL for Windows (Win32) is free for personal and commercial use; eSQL for Windows Mobile requires a license for commercial (for-profit or business) use.</span>  </p>  <p>   <span style="font-family: verdana;">    <a href="http://hsqldb.org/"><strong>HSQLDB</strong>    </a> isn&#39;t on most reviewers&#39; radar, which is surprising because it&#39;s the default database for <a href="http://www.openoffice.org/">OpenOffice.org</a> (OOo) 2.0&#39;s <a href="http://www.openoffice.org/product/base.html">Base</a> suite member. HSQLDB 1.8.0.1 is an open-source (BSD license) Java dembedded database engine based on Thomas Mueller&#39;s original Hypersonic SQL Project. Using OOo&#39;s Base feature requires installing the Java 2.0 Runtime Engine (which is not open-source) or the presence of an alternative open-source engine, such as Kaffe. My prior posts about OOo Base and HSQLDB are <a href="http://oakleafblog.blogspot.com/2005/10/openoffice-base-20-vs-microsoft-access.html">here</a>, <a href="http://oakleafblog.blogspot.com/2005/10/openoffice-base-20-vs-microsoft-access_22.html">here</a> and <a href="http://oakleafblog.blogspot.com/2005/10/openoffice-20-base-matches-microsoft.html">here</a>.</span>  </p>  <p>   <span style="font-family: verdana;">The <a href="http://hsqldb.sourceforge.net/web/hsqlDocsFrame.html">HSQLDB 1.8.0 documentation</a> on SourceForge states the following regarding SQL-92 and later conformance:</span>  </p>  <span style="font-family: verdana;">   <blockquote>    <p>     <span style="font-family: verdana;">HSQLDB 1.8.0 supports the dialect of SQL defined by SQL standards 92, 99 and 2003. This means where a feature of the standard is supported, e.g. left outer join, the syntax is that specified by the standard text. Many features of SQL92 and 99 up to Advanced Level are supported and here is support for most of SQL 2003 Foundation and several optional features of this standard. However, certain features of the Standards are not supported so no claim is made for full support of any level of the standards. </span>    </p>   </blockquote>   <span style="font-family: verdana;"><span style="font-size: 85%;">Other less well-known embedded databases designed for or suited to mobile deployment are </span>    <a href="http://www.mimer.com/leftright.asp?secId=172"><span style="font-size: 85%;">Mimer SQL Mobile</span>    </a><span style="font-size: 85%;"> and </span>    <a href="http://www.vistadb.net/"><span style="font-size: 85%;">VistaDB 2.1</span>    </a><span style="font-size: 85%;">. Neither product is open-source and require paid licensing; VistaDB requires a small up-front payment by developers but offers royalty-free distribution.</span>   </span> <br /> <br /> <span style="font-family: Verdana;">Java DB, Firebird embedded, SQLite and eSQL 2.11 are contenders for lightweight PC and mobile device database projects that aren&#39;t Windows-only.</span> <br /> <br />   <strong>    <span style="font-family: verdana;">SQL Server 2005 Everywhere<br />    </span><span style="font-family: Verdana;"></span>   </strong> <br /> <span style="font-family: verdana;">If you&#39;re a Windows developer, SQL Server Mobile is the logical embedded database choice for mobile applications for Pocket PCs and Smartphones. Microsoft&#39;s April 19, 2006 press release delivered the news that SQL Server 2005 Mobile Editon (SQL Mobile or SSM) would gain a big brotherâSQL Server 2005 Everywhere Edition. </span> <br /> <span style="font-family: verdana;"></span> <br /> <span style="font-family: verdana;">Currently, the SSM client is licensed (at no charge) to run in production on devices with Windows CE 5.0, Windows Mobile 2003 for Pocket PC or Windows Mobile 5.0, or on PCs with Windows XP Tablet Edition only. SSM also is licensed for development purposes on PCs running Visual Studio 2005.</span>   <span style="font-family: verdana;"> Smart Device replication with SQL Server 2000 SP3 and later databases has been the most common application so far for SSM.<br /> <br />   </span><span style="font-family: verdana;">By the end of 2006, Microsoft will license SSE for use on <em>all</em> PCs running any Win32 version or the preceding device OSs. A version of SQL Server Management Studio Express (SSMSE)âupdated to support SSEâis expected to release by the end of the year. These features will qualify SSE as <em>the universal embedded database</em> for Windows client and smart-device applications. </span> <br /> <br /> <span style="font-family: verdana;">For more details on SSE, read <a href="http://weblogs.asp.net/jgalloway/archive/2006/04/11/442451.aspx">John Galloway&#39;s April 11, 2006 blog post</a> and my &#39;<a href="http://www.ftponline.com/special/sqlserver/rjennings-mobile/">SQL Server 2005 Mobile Goes Everywhere</a>&#39; article for the <a href="http://www.ftponline.com/special/sqlserver/">FTPOnline Special Report on SQL Server</a>.</span><span style="font-family: verdana;"></span>&quot;  <p>(Via <a href="http://oakleafblog.blogspot.com">OakLeaf Systems</a>.)</p>  </span> </blockquote> 
]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2005-04-25#807">
  <rss:title>Oracle To Support .NET Runtime Hosting</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2005-04-25T22:54:03Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Better late than never! Oracle has announced the commencement of a journey that we completed in 2002 (across Microsoft .NET and Mono). Hopefully, their support of CRL Runtime Hosting will bring added clarity to the intrinsic value of the multi-language bindings via the ECMA-CLI that facilitate the development and deployment of DBMS Stored Procedures using a plethora of languages (ditto creation of User Defined Types, Function, Table Value Functions). I also hope that Oracle will support Mono -off the bat- rather than taking the typical &quot;we will port to Mono sometime in the future...&quot; type message which will not be acceptable, especially as we pulled this off first time around in 2002 (as atop Mono then). Thus, I am sure they can do it in 2005 :-) Hopefully we should be able to add Oracle 10g Release 2 and DB2 to our SQL CLR hosting features comparison document that currently only covers SQL Server 2005 and Virtuoso.      </dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Better late than never! Oracle&nbsp;has <a href="http://www.oracle.com/technology/oramag/oracle/05-may/o35briefs.html">announced</a> the commencement of a journey&nbsp;that we <a href="http://www.novell.com/news/press/archive/2002/ximian_archive/pr112502.html">completed in 2002 </a>(across Microsoft .NET and Mono). Hopefully, their support of CRL Runtime Hosting will bring added clarity to the intrinsic value of the multi-language bindings via the ECMA-CLI that facilitate the development and deployment of DBMS Stored Procedures using a plethora of languages (ditto creation of User Defined Types, Function, Table Value Functions).</p>
<p>I also hope that Oracle will support Mono -off the bat- rather than&nbsp;taking the typical&nbsp;"we will port to Mono sometime in the future..." type message which&nbsp;will not be acceptable, especially as we pulled this off first time around in&nbsp;2002 (as atop Mono then). Thus,&nbsp;I am sure they can do it in 2005 :-)</p>
<p>Hopefully we should be able to add Oracle 10g Release 2 and <a href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0406evans/index.html">DB2</a> to our SQL CLR hosting features <a href="http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/index.vspx?id=138">comparison document</a> that currently only covers SQL Server 2005 and <a href="http://virtuoso.openlinksw.com/">Virtuoso</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-08-26#611">
  <rss:title>Is Google Web 2.0&#39;s Netscape?</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2004-08-26T21:52:30Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">I put this piece together in response to another stimulating post by Dare Obasanjo titled &quot;Is Google the Next Microsoft or the Next Netscape?&quot;. I changed the title of this post to project the fact that Web 2.0 provides the appropriate context (IMHO) for Dare&#39;s point re. &quot;Web Site Stickiness&quot;. Stickiness is a defining characteristic of Web 1.0 . It&#39;s all about eyeballs (site visitors) which implied ultimately that all early Web business models ended up down the advertising route. I always felt that Web 1.0 was akin to having a crowd of people at your reception area seeking a look at your corporate brochures, and then someone realizes that you could start selling AD space in these brochures in response to the growing crowd size and frequency of congregation. The long-term folly of this approach is now obvious, as many organizations forgot their core value propositions (expressed via product offerings) in the process and wandered blindly down the AD model cul-de-sac, and we all know what happened down there.. Web 2.0 is taking shape (the inflection is in its latter stages), and the defining characteristics of Web 2.0 are: Fabric of Executable Endpoints Semantic Content (the RSS/RDF/Atom/FOAF semantic crumbs emerging from the Blogosphere are great examples of things to come re. XQuery queries over HTTP for instance) Migration from the Web Site (defined by static or dynamic HTML page generation) concept, to that of a &quot;Web Point of Presence&quot; (I don&#39;t know if this term will catch on, but the conceptual essence here is factual) that enables an organization to achieve the following: Package/catalog value proposition (product and services) using RSS/RDF/Atom Provide SOAP compliant Executable Endpoints (Web Services) for consuming value proposition (as opposed to being distracted by the AD model) Provide Web Services for consummating contracts associated with core value proposition Identification of internal efficiencies, new products/services that leverage Semantic Content and Web Services, and tangibly exploit: Composite Web Services construction from legacy monolithic application pools Standards based (e.g. BPEL) orchestration and integration of disparate composite services (across the Fabric referred to above) When you factor in all of the above, the real question is whether Google and others are equipped to exploit Web 2.0?  To some degree, is the best answer at the current time as they have commenced the transition from &quot;content only&quot; web site to web platform (via the many Web Services initiatives that expose SOAP and REST interfaces to various services), but there is much more to this journey, and that&#39;s the devil in the &quot;competitive landscape details&quot;. From my obviously biased perspective, I think Virtuoso and Yukon+WinFS provide the server models for driving Web 2.0 points of presence (single server instances that implement multiple protocols). Thus, if Google, Yahoo! et al. aren&#39;t exploiting these or similar products, then they will be vulnerable over the long term to the competitve challenges that a Web 2.0 landscape will present.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I put this piece together in response to another <a href="http://www.25hoursaday.com/weblog/CommentView.aspx?guid=5ab1ca87-b0df-4dd0-99b6-7730955620ab">stimulating post</a> by Dare Obasanjo titled "Is Google the Next Microsoft or the Next Netscape?". I changed the title of this post to project the fact that Web 2.0 provides the appropriate context (IMHO) for Dare's point re. "Web Site Stickiness". </p>
<p>Stickiness is a defining characteristic of Web 1.0 . It's all about eyeballs (site visitors) which implied ultimately that all early Web business models ended up down the advertising route. </p>
<p>I always felt that Web 1.0 was akin to having a crowd of people at your reception area seeking a look at your corporate brochures, and then someone realizes that you could start selling AD space in these brochures in response to the growing crowd size and frequency of congregation. The long-term folly of this approach is now obvious, as many organizations forgot their core value propositions (expressed via product offerings) in the process and wandered blindly down the AD model cul-de-sac, and we all know what happened down there.. </p>
<p>Web 2.0 is taking shape (the inflection is in its latter stages), and the defining characteristics of Web 2.0 are: </p>
<ol>
<li>Fabric of Executable Endpoints <br></li>
<li>Semantic Content (the RSS/RDF/Atom/FOAF semantic crumbs emerging from the Blogosphere are great examples of things to come re. XQuery queries over HTTP for instance) Migration from the Web Site (defined by static or dynamic HTML page generation) concept, to that of a "Web Point of Presence" (I don't know if this term will catch on, but the conceptual essence here is factual) that enables an organization to achieve the following: <br></li>
<ul>
<li>Package/catalog value proposition (product and services) using RSS/RDF/Atom <br></li>
<li>Provide SOAP compliant Executable Endpoints (Web Services) for consuming value proposition (as opposed to being distracted by the AD model) <br></li>
<li>Provide Web Services for consummating contracts associated with core value proposition Identification of internal efficiencies, new products/services that leverage Semantic Content and Web Services, and tangibly exploit: <br></li>
<ul>
<li>Composite Web Services construction from legacy monolithic application pools <br></li>
<li>Standards based (e.g. BPEL) orchestration and integration of disparate composite services (across the Fabric referred to above) </li></ul></ul></ol>
<p>When you factor in all of the above, the real question is whether Google and others are equipped to exploit Web 2.0? &nbsp;To some degree, is the best answer at the current time as&nbsp;they have commenced the transition from&nbsp;"content only" web site&nbsp;to web platform (via the many Web Services initiatives that expose SOAP and REST interfaces to various services), but there is much more to this journey, and that's the devil in the "competitive landscape details". </p>
<p>From my obviously biased perspective, I think <a href="http://virtuoso.openlinksw.com/">Virtuoso</a> and <a href="http://www.midrangeserver.com/two/two042804-story02.html">Yukon+WinFS</a> provide the server models for driving Web 2.0 points of presence (single server instances that&nbsp;implement multiple protocols). Thus,&nbsp;if Google, Yahoo! et al.&nbsp;aren't exploiting these or similar products, then they will be vulnerable over the long term to the competitve&nbsp;challenges that a Web 2.0&nbsp;landscape will present. </p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-06-04#555">
  <rss:title>XML, the New Database Heresy</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2004-06-04T04:04:48Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">A great post by Dare, especially his bringing into context the essence of this matter refrred to by C.J. Date as &quot;XML the New Database Heresy&quot;. I have little to add to this matter as our understanding and vision is aptly expressed via the architecture and feature set of Virtuoso (this area was actually addressed circa 1999). We are heading into a era of multi-model databases, these are single database engines that are capable of effectively serving the requirements of the Hierarchical, Network, Relational, and Object database models . As we get closer to the unravelling of universal storage, hopefully this will get clearer. Back to Dare&#39;s commentary: C.J. Date, one of the most influential names in the relational database world, had some harsh words about XML&#39;s encroachment into the world of relational databases in a recent article entitled Date defends relational model  that appeared on SearchDatabases.com. Key parts of the article are excerpted below Date reserved his harshest criticism for the competition, namely object-oriented and XML-based DBMSs. Calling them &quot;the latest fashions in the computer world,&quot; Date said he rejects the argument that relational DBMSs are yesterday&#39;s news. Fans of object-oriented database systems &quot;see flaws in the relational model because they don&#39;t fully understand it,&quot; he said. Date also said that XML enthusiasts have gone overboard. &quot;XML was invented to solve the problem of data interchange, but having solved that, they now want to take over the world,&quot; he said. &quot;With XML, it&#39;s like we forget what we are supposed to be doing, and focus instead on how to do it.&quot; Craig S. Mullins, the director of technology planning at BMC Software and a SearchDatabase.com expert, shares Date&#39;s opinion of XML. It can be worthwhile, Mullins said, as long as XML is only used as a method of taking data and putting it into a DBMS. But Mullins cautioned that XML data that is stored in relational DBMSs as whole documents will be useless if the data needs to be queried, and he stressed Date&#39;s point that XML is not a real data model. Craig Mullins points are more straightforward to answer since his comments don&#39;t jibe with the current state of the art in the XML world. He states that you can&#39;t query XML documents stored in databases but this is untrue. Almost three years ago, I was writing articles about querying XML documents stored in relational databases. Storing XML in a relational database doesn&#39;t mean it has to be stored in as an opaque binary BLOB or as a big, bunch of text which cannot effectively be queried. The next version of SQL Server will have extensive capabilities for querying XML data in relational database and doing joins across relational and XML data, a lot of this functionality is described in the article on XML Support in SQL Server 2005. As for XML not having a data model, I beg to differ. There is a data model for XML that many applications and people adhere to, often without realizing that they are doing so. This data model is the XPath 1.0 data model, which is being updated to handled typed data as the XQuery and XPath 2.0 data model. Now to tackle the meat of C.J. Date&#39;s criticisms which is that XML solves the problem of data interchange but now is showing up in the database. The thing first point I&#39;d like point out is that there are two broad usage patterns of XML, it  is used to represent both rigidly structured tabular data (e.g., relational data or serialized objects) and semi-structured data (e.g., office documents). The latter type of data will only grow now that office productivity software like Microsoft Office have enabled users to save their documents as XML instead of proprietary binary formats. In many cases, these documents cannot simply shredded into relational tables. Sure you can shred an Excel spreadsheet written in spreadsheetML into relational tables but is the same really feasible for a Word document written in WordprocessingML? Many enterprises would rather have their important business data being stored and queried from a unified location instead of the current situation where some data is in document management systems, some hangs around as random files in people&#39;s folders while some sits in a database management system. As for stating that critics of the relational model don&#39;t understand it, I disagree. One of the major benefits of using XML in relational databases is that it is a lot easier to deal with fluid schemas or data with sparse entries with XML. When the shape of the data tends to change or is not fixed the relational model is simply not designed to deal with this. Constantly changing your database schema is simply not feasible and there is no easy way to provide the extensibility of XML where one can say &quot;after the X element, any element from any namespace can appear&quot;. How would one describe the capacity to store âany dataâ in a traditional relational database without resorting to an opaque blob? I do tend to agree that some people are going overboard and trying to model their data hierarchically instead of relationally which experience has thought us is a bad idea. Recently on the XML-DEV mailing list entitled Designing XML to Support Information Evolution where Roger L. Costello described his travails trying to model his data which was being transferred as XML in a hierarchical manner. Micheal Champion accurately described the process Roger Costello went through as having &quot;rediscovered the relational model&quot;. In a response to that thread I wrote &quot;Hierarchical databases failed for a reason&quot;. Using hierarchy as a primary way to model data is bad for at least the following reasons Hierarchies tend to encourage redundancy. Imagine I have a &lt;Customer&gt; element who has one or more &lt;ShippingAddress&gt; elements as children as well as one or more &lt;Order&gt; elements as children as well. Each order was shipped to an address, so if modelled hierarchically each &lt;Order&gt; element also will have a &lt;ShippingAddress&gt; element which leads to a lot of unnecessary duplication of data. In the real world, there are often multiple groups to which a piece of data belongs which often cannot be modelled with a single hierarchy.   Data is too tightly coupled. If I delete a &lt;Customer&gt; element, this means I&#39;ve automatically deleted his entire order history since all the &lt;Order&gt; elements are children of &lt;Customer&gt;. Similarly if I query for a &lt;Customer&gt;, I end up getting all the &lt;Order&gt; information as well. To put it simply, experience has taught the software world that the relational model is a better way to model data than the hierarchical model. Unfortunately, in the rush to embrace XML many a repreating the mistakes from decades ago in the new millenium. [via Dare Obasanjo aka Carnage4Life]</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p dir="ltr">A great <a href="http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=d28ce1fb-7b27-407d-b1a3-0b9a34831ca1">post </a>by Dare, especially his bringing into context the essence of this matter refrred to by C.J. Date as "XML the New Database Heresy".</p>
<p dir="ltr">I have little to add to this matter as our&nbsp;understanding and vision is aptly expressed via the architecture and feature set of <a href="http://www.openlinksw.com/virtuoso">Virtuoso</a> (this area was actually addressed circa 1999).</p>
<p dir="ltr">We are heading into a era of multi-model databases, these are single database engines that are capable of effectively serving the requirements of the Hierarchical, Network, Relational, and Object database <a href="http://www.web-dictionary.org/encyclopedia/db/DBMS.html#Navigational_databases">models</a>&nbsp;. As we get closer to the unravelling of universal storage, hopefully this will get clearer.</p>
<p dir="ltr">Back to Dare's commentary:</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><a href="http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/d/Date:C=_J=.html">C.J. Date</a>, one of the most influential names in the relational database world, had some harsh words about XML's encroachment into the world of relational databases in a recent article entitled <a href="http://searchdatabase.techtarget.com/originalContent/0,289142,sid13_gci962948,00.html">Date defends relational model&nbsp;</a>&nbsp;that appeared on SearchDatabases.com. Key parts of the article are excerpted below </p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p>Date reserved his harshest criticism for the competition, namely object-oriented and XML-based DBMSs. Calling them "the latest fashions in the computer world," Date said he rejects the argument that relational DBMSs are yesterday's news. Fans of object-oriented database systems "see flaws in the relational model because they don't fully understand it," he said. </p>
<p>Date also said that XML enthusiasts have gone overboard. </p>
<p>"XML was invented to solve the problem of data interchange, but having solved that, they now want to take over the world," he said. "With XML, it's like we forget what we are supposed to be doing, and focus instead on how to do it." </p>
<p>Craig S. Mullins, the director of technology planning at BMC Software and a SearchDatabase.com expert, shares Date's opinion of XML. It can be worthwhile, Mullins said, as long as XML is only used as a method of taking data and putting it into a DBMS. But Mullins cautioned that XML data that is stored in relational DBMSs as whole documents will be useless if the data needs to be queried, and he stressed Date's point that XML is not a real data model. </p></blockquote>
<p dir="ltr">Craig Mullins points are more straightforward to answer since his comments don't jibe with the current state of the art in the XML world. He states that you can't query XML documents stored in databases but this is untrue. Almost three years ago, I was writing articles about <a href="http://features.slashdot.org/article.pl?sid=01/10/29/0725214&mode=thread&tid=156">querying XML documents stored in relational databases</a>. Storing XML in a relational database doesn't mean it has to be stored in&nbsp;as an opaque&nbsp;binary BLOB or as a big, bunch of text which cannot effectively be queried. The next version of SQL Server will have extensive capabilities for querying XML data in relational database and doing joins across relational and XML data, a lot of this functionality is&nbsp;described in the article on <a href="http://msdn.microsoft.com/xml/default.aspx?pull=/library/en-us/dnsql90/html/sql2k5xml.asp">XML Support in SQL Server 2005</a>. As for XML not having a data model, I beg to differ. There is a data model for XML that many applications and people adhere to, often without realizing that they are doing so. This data model is the <a href="http://www.w3.org/TR/1999/REC-xpath-19991116#data-model">XPath 1.0 data model</a>, which is being updated to handled typed data as the <a href="http://www.w3.org/TR/2003/WD-xpath-datamodel-20031112/">XQuery and XPath 2.0 data model</a>. </p>
<p dir="ltr">Now to tackle the meat of C.J. Date's criticisms which is that XML solves the problem of data interchange but now is showing up in the database. The thing first point I'd like point out is that there are two broad usage patterns of XML, it&nbsp; is used to represent both rigidly structured tabular data&nbsp;(e.g., relational data or serialized objects) and semi-structured data (e.g., office documents). The latter type of data will only grow now that office productivity software like <a href="http://www.microsoft.com/office">Microsoft Office</a> have enabled users to save their&nbsp;documents as XML instead of proprietary binary formats. In many cases, these documents cannot simply shredded into relational tables. Sure you can shred an Excel spreadsheet written in&nbsp;spreadsheetML into relational tables but is the same really feasible for a Word document written in WordprocessingML? Many enterprises would rather have their important business data being stored and queried from a unified location instead of the current situation where some data is in document management systems, some hangs around as random files in people's folders while some sits in a database management system. </p>
<p dir="ltr">As for stating that critics of the relational model don't understand it,&nbsp;I disagree. One of the major&nbsp;benefits of using XML&nbsp;in relational databases is that it is a lot easier to deal with fluid schemas or&nbsp;data with sparse entries with XML. When the shape of the data tends to change or is not fixed the relational model is simply not&nbsp;designed to deal with this. Constantly changing your database schema is simply not feasible and there is no easy way to provide the extensibility of XML where one can say "after the <font face="Courier New">X </font>element, any element from any namespace can appear". How would one describe the capacity to store âany dataâ in a traditional relational database without resorting to an opaque blob? </p>
<p dir="ltr">I do tend to agree that some people are going overboard and trying to model their data hierarchically instead of relationally which experience has thought us is a bad idea. Recently on the XML-DEV mailing list entitled <a href="http://lists.xml.org/archives/xml-dev/200405/msg00216.html">Designing XML to Support Information Evolution </a>where Roger L. Costello described his travails trying to model his data which was being transferred as XML in a hierarchical manner. Micheal Champion accurately described the process Roger Costello went through as having "rediscovered the relational model". In&nbsp;a response to that thread I wrote "Hierarchical databases failed for a reason". </p>
<p dir="ltr">Using hierarchy as a primary way to model data is bad for at least the following reasons </p>
<ol dir="ltr">
<li>
<div>Hierarchies tend to encourage redundancy. Imagine I have a &lt;Customer&gt; element who has one or more &lt;ShippingAddress&gt; elements as children as well as one or more &lt;Order&gt; elements as children as well. Each order was shipped to an address, so if modelled hierarchically each &lt;Order&gt; element also will have a &lt;ShippingAddress&gt; element which leads to a lot of unnecessary duplication of data. </div></li>
<li>
<div>In the real world, there are often multiple&nbsp;groups to which a piece of data belongs which often cannot be modelled with a single hierarchy. &nbsp; </div></li>
<li>
<div>Data is too tightly coupled. If I delete a &lt;Customer&gt; element, this means I've automatically deleted his entire order history since all&nbsp;the &lt;Order&gt; elements are children of &lt;Customer&gt;. Similarly if I query for a &lt;Customer&gt;, I end up getting all the &lt;Order&gt; information as well. </div></li></ol>
<p>To put it simply, experience has taught the software world that the relational model is a better way to model data than the hierarchical model. Unfortunately, in the rush to embrace XML many a repreating the mistakes from decades ago in the new millenium. </p></blockquote>
<div align="right">[via <a href="http://www.25hoursaday.com/weblog/">Dare Obasanjo aka Carnage4Life</a>]</div>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-26#531">
  <rss:title>SQL-XML Evaluation and Comparison By InfoWorld</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2004-04-27T00:15:05Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">There is a new evaluation and comparison article from InfoWorld that compares the SQL-XML integration offerings of the major DBMS vendors (Oracle 10g, DB2 8.1, Sybase ASE 12.5, and SQL Server 2000)</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>There is a <a href="http://www.infoworld.com/infoworld/article/04/04/23/17FExml_2.html">new evaluation and comparison </a>article from InfoWorld that compares the SQL-XML integration offerings of the major DBMS vendors (Oracle 10g, DB2 8.1, Sybase ASE 12.5, and SQL Server 2000)</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-23#526">
  <rss:title>INSTEAD-OF Triggers</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2004-04-24T00:52:50Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">During a session with a potential customer/partner I was posed the following question re. Virtuoso&#39;s Virtual Database functionality: &quot;Can I create an updateable SQL VIEW in Virtuoso that would comprise columns from 3rd party databases such as Oracle, SQL Server, and say MySQL&quot;. The answer was yes, based on the fact that Virtuoso does support SQL INSTEAD-OF Triggers - even in Virtual Database mode. I am certainly keen to see if any other Virtual Database style products achieve this feat (which is trying for many homogeneous SQL database engines). Dr. Paul Dorsey of Dulcian, Inc. wrote a very good article about this subject, and here is an excerpt from his article overiew: Views are an important part of application development. Since Oracle 7.3, we quickly recognized the importance of using Oracleâs updateable view feature. An updateable view allows you to join several tables and perform updates against the driving table. For example, if you join EMP and DEPT in the traditional way and display columns from both tables, DML operations are possible against EMP but not DEPT. For traditional relational database designs, this is enough functionality. For example, in a typical Forms application, when you are basing a block on a table, the additional columns that you want to display are lookups from other tables and can therefore be easily supported using traditional updateable views. These views are built using a combination of joins and outer joins or,  in extreme cases, looking up additional information through functions embedded in the views. Under no circumstances should post query triggers be used to support this functionality. Post query triggers cause unnecessary network traffic and also embed the logic in the application rather than in the database or somewhere else where it can easily be reused. What happens in a situation where the information you want to display in the block requires a query that is so complex that your ability to maintain (insert, update, delete) that information using a simple updateable view is eliminated? The updateable views are relatively restrictive. Only a single table can be updated. Joins must be created carefully and based on Foreign Key constraints in the database. No set operators such as UNION or MINUS can be used. For these reasons, it is common to end up with a block that cannot be updated as required. How do most developers handle this situation? &lt;!--[if !supportLists]--&gt;a)       &lt;!--[endif]--&gt;By placing complex logic in the form (WHEN-VALIDATE-ITEM triggers) &lt;!--[if !supportLists]--&gt;b)       &lt;!--[endif]--&gt;By writing procedures that access Formsâ ability to replace the Insert, Update, Delete routines and place that logic in the form These practices are just as undesirable as using POST-QUERY triggers. The logic is in the wrong place and is not reusable. The INSTEAD-OF trigger views feature was introduced by Oracle in version 8.15. This feature enables developers to create views on single or multiple tables or any other view imaginable by writing INSTEAD-OF triggers that tell the view how to behave when Inserts, Updates or Deletes are issued. Peter Koletzke and I first wrote about this feature in our Oracle Press book Oracle Developer: Advanced Forms &amp; Reports (2000). At the time, we gave the feature relatively brief mention because we believed that most of the systems we were building included blocks based on traditional updateable views, which allow updates to a single table. Now, there is a good reason to look more closely at INSTEAD-OF trigger views. Database Journal also has an article on this subject.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>During a session with a potential customer/partner I was posed the following question re. <a href="http://www.openlinksw.com/virtuoso/whatis.htm">Virtuoso's Virtual Database</a> functionality:</p>
<p>"Can I create an updateable SQL VIEW in Virtuoso that would comprise columns from 3rd party databases such as Oracle, SQL Server, and say MySQL".</p>
<p>The answer was yes,&nbsp;based on&nbsp;the fact that Virtuoso does support SQL <a href="http://docs.openlinksw.com/virtuoso/TRIGGERS.html#TRIGGERS">INSTEAD-OF Triggers</a> - even in Virtual Database mode. </p>
<p>I am certainly keen to see if any other Virtual Database style products achieve this feat (which is trying for many homogeneous SQL database engines).</p>
<p>Dr. Paul Dorsey of <a href="http://www.dulcian.com/">Dulcian, Inc</a>. wrote a very <a href="http://www.dulcian.com/papers/INSTEAD%20OF%20Trigger%20Views_ODTUG.htm">good article about this subject</a>, and here is an excerpt from his article overiew:</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p>Views are an important part of application development. Since Oracle 7.3, we quickly recognized the importance of using Oracleâs updateable view feature. An updateable view allows you to join several tables and perform updates against the driving table. For example, if you join EMP and DEPT in the traditional way and display columns from both tables, DML operations are possible against EMP but not DEPT. </p>
<p class="Text">For traditional relational database designs, this is enough functionality. For example, in a typical Forms application, when you are basing a block on a table, the additional columns that you want to display are lookups from other tables and can therefore be easily supported using traditional updateable views. These views are built using a combination of joins and outer joins or,<span>&nbsp; </span>in extreme cases, looking up additional information through functions embedded in the views. Under no circumstances should post query triggers be used to support this functionality. Post query triggers cause unnecessary network traffic and also embed the logic in the application rather than in the database or somewhere else where it can easily be reused.</p>
<p class="Text">What happens in a situation where the information you want to display in the block requires a query that is so complex that your ability to maintain (insert, update, delete) that information using a simple updateable view is eliminated? The updateable views are relatively restrictive. Only a single table can be updated. Joins must be created carefully and based on Foreign Key constraints in the database. No set operators such as UNION or MINUS can be used. For these reasons, it is common to end up with a block that cannot be updated as required. How do most developers handle this situation?</p>
<p class="Text" style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in">&lt;!--[if !supportLists]--&gt;a)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;!--[endif]--&gt;By placing complex logic in the form (WHEN-VALIDATE-ITEM triggers)</p>
<p class="Text" style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in">&lt;!--[if !supportLists]--&gt;b)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;!--[endif]--&gt;By writing procedures that access Formsâ ability to replace the Insert, Update, Delete routines and place that logic in the form</p>
<p class="Text">These practices are just as undesirable as using POST-QUERY triggers. The logic is in the wrong place and is not reusable. </p>
<p class="Text">The INSTEAD-OF trigger views feature was introduced by Oracle in version 8.15. This feature enables developers to create views on single or multiple tables or any other view imaginable by writing INSTEAD-OF triggers that tell the view how to behave when Inserts, Updates or Deletes are issued. Peter Koletzke and I first wrote about this feature in our Oracle Press book <i>Oracle Developer: Advanced Forms &amp; Reports</i> (2000). At the time, we gave the feature relatively brief mention because we believed that most of the systems we were building included blocks based on traditional updateable views, which allow updates to a single table. Now, there is a good reason to look more closely at INSTEAD-OF trigger views. </p></blockquote>
<p class="Text" dir="ltr">Database Journal also has an <a href="http://www.databasejournal.com/features/mssql/article.php/1437741">article on this subject</a>.</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-06#499">
  <rss:title>Customer demand for a ubiquitous InfoPath runtime</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2004-04-06T18:55:04Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">My little addition to the observation below re. InfoPath: when will this tool actually make use of ADO.NET or ODBC in a manner reflective of these data access APIs? There are supposed to facilitate database independence, but InfoPath simply does not want to know anything other than SQL Server or ACCESS? So we all buy and deploy copies of InfoPath, and then get rid of our non SQL Server and ACCESS databases? Wow! How about InfoPath emitting XForms compliant forms? Even better, what about</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p dir="ltr">My little addition to the observation below re. InfoPath: when will this tool actually make use of ADO.NET or ODBC in a manner reflective of these data access APIs? There are supposed to facilitate database independence, but InfoPath simply does not want to know anything other than SQL Server or ACCESS?</p>
<p dir="ltr">So we all buy and deploy copies of InfoPath, and then get rid of our non SQL Server and ACCESS databases? Wow!</p>
<p dir="ltr">How about InfoPath emitting XForms compliant forms? Even better, what about</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-06#506">
  <rss:title>Customer demand for a ubiquitous InfoPath runtime</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2004-04-06T18:55:04Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">My little addition to the observation below re. InfoPath: when will this tool actually make use of ADO.NET or ODBC in a manner reflective of these data access APIs? There are supposed to facilitate database independence, but InfoPath simply does not want to know anything other than SQL Server or ACCESS? So we all buy and deploy copies of InfoPath, and then get rid of our non SQL Server and ACCESS databases? Wow! How about InfoPath emitting XForms compliant forms? Even better, what about</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p dir="ltr">My little addition to the observation below re. InfoPath: when will this tool actually make use of ADO.NET or ODBC in a manner reflective of these data access APIs? There are supposed to facilitate database independence, but InfoPath simply does not want to know anything other than SQL Server or ACCESS?</p>
<p dir="ltr">So we all buy and deploy copies of InfoPath, and then get rid of our non SQL Server and ACCESS databases? Wow!</p>
<p dir="ltr">How about InfoPath emitting XForms compliant forms? Even better, what about</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-03-10#474">
  <rss:title>Microsoft Ship Dates Falling Like Dominoes (Yukon &amp; Whidbey)</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2004-03-10T23:15:56Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Microsoft Ship Dates Falling Like Dominoes ANALYSIS: It&#39;s not just Longhorn that&#39;s a long way off. Now the &#39;Yukon wave&#39; is receding into 2005. [via Microsoft Watch from Mary Jo Foley] As indicated in my post at the height of the PDC Yukon hoopla, you can</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><a href="http://www.microsoft-watch.com/article2/0,4248,1546542,00.asp?kc=MWRSS02129TX1K0000535">Microsoft Ship Dates Falling Like Dominoes</a> </p>
<p>ANALYSIS: It&#39;s not just Longhorn that&#39;s a long way off. Now the &#39;Yukon wave&#39; is receding into 2005. [via <a href="http://www.microsoft-watch.com/">Microsoft Watch from Mary Jo Foley</a>]</p></blockquote>
<div align="left">As indicated in my <a href="http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/index.vspx?id=138">post at the height of the PDC Yukon hoopla</a>, you can</div>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-01-06#442">
  <rss:title>Enterprise Databases get a grip on XML</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2004-01-06T23:17:07Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Databases get a grip on XMLFrom Inforworld.The next iteration of the SQL standard was supposed to arrive in 2003. But SQL standardization has always been a glacially slow process, so nobody should be surprised that SQL:2003 ? now known as SQL:200n ? isn?t ready yet. Even so, 2003 was a year in which XML-oriented data management, one of the areas addressed by the forthcoming standard, showed up on more and more developers? radar screens.ÃÂ  &gt;&gt; READ MORE This article rounds up product for 2003 in the critical area of Enterprise Database Technology. It&#39;s certainly provides an apt reflection of how Virtuoso compares with offerings from some the larger (but certainly slower to implement) database vendors in this space. As usual Jon Udell&#39;s quote pretty much sums this up: &quot;While the spotlight shone on the heavyweight contenders, a couple of agile innovators made noteworthy advances in 2003. OpenLink Software?s Virtuoso 3.0, which we reviewed in March, stole thunder from all three major players. Like Oracle, it offers a WebDAV-accessible XML repository. Like DB2 Information Integrator, it functions as database middleware that can perform federated ?joins? across SQL and XML sources. And like the forthcoming Yukon, it embeds the .Net CLR (Common Language Runtime), or in the case of Linux, Novell/Ximian?s Mono.&quot; Albeit still somewhat unknown to the broader industry we have remained true our &quot;innovator&quot; discipline, which still remains our chosen path to market leadership. Thus, its worth a quick Virtuoso release history, and featuresÃÂ recap as we get set to up the ante even further in 2004: 1998 - Virtuoso&#39;s initial public beta release with functional emphasis on Virtual Database Engine for ODBC and JDBC Data Sources. 1999 - Virtuoso&#39;s official commercial release, with emphasis stillÃÂ on Virtual Database functionality for ODBC, JDBC accessible SQL Databases. 2000 - Virtuoso 2.0 adds XML Storage, XPath, XML Schema, XQuery, XSL-T, WebDAV, SOAP, UDDI, HTTP, Replication, Free Text Indexing (*feature update*), POP3, and NNTP support. 2002 - Virtuoso 2.7 extends Virtualization prowess beyond data access via enhancements to its Web Services protocol stack implementation by enabling SQL Stored Procedures to be published as Web Services. It also debutsÃÂ its Object-Relational engine enhancements that include theÃÂ incorporation of Java and Microsoft .NET Objects into its User Defined Type, User Defined Functions, and Stored ProcedureÃÂ offerings. 2003 - Virtuoso 3.0 extends data and application logic virtualization into the Application Server realm (basically a Virtual Application server too!), by adding support for ASP.NET, PHP, Java Server Pages runtime hosting (making applications built using any of these languages deployable using Virtuoso across all supported platforms). Collectively each of these releases have contributed to a very premeditated architecture and vision that will ultimately unveil the inherent power of critical I.S infrastructure virtualizationÃÂ along the following lines; data storage, data access , and application logic via coherent integration of SQL, XML, Web Services, and Persistent Stored Modules (.NET, Java, and other object based component building blocks). ÃÂ </dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<blockquote style="margin-right: 0px;" dir="ltr"> <p><a class="listLinkLrg" title="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D" href="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D" target="_new"><strong><font face="Verdana">Databases get a grip on XML</font></strong></a><br /><font size="2"></font><font face="Verdana">From <a href="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D">Inforworld</a>.</font><br /><br /><font face="Verdana,Geneva,Arial,sans-serif" size="2">The
next iteration of the SQL standard was supposed to arrive in 2003. But
SQL standardization has always been a glacially slow process, so nobody
should be surprised that SQL:2003 ? now known as SQL:200n ? isn?t ready
yet. Even so, 2003 was a year in which XML-oriented data management,
one of the areas addressed by the forthcoming standard, showed up on
more and more developers? radar screens.ÃÂ  <a title="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D" href="http://newsletter.infoworld.com/t?ctl=4FEDB6:1F3948D" target="_blank">&gt;&gt; READ MORE</a></font></p></blockquote> <p dir="ltr"><font face="Verdana" size="2">This
article rounds up product for 2003 in the critical area of Enterprise
Database Technology. It&#39;s certainly provides an apt reflection of how
Virtuoso compares with offerings from some the larger (but certainly
slower to implement) database vendors in this space. As usual Jon
Udell&#39;s quote pretty much sums this up:</font></p> <blockquote style="margin-right: 0px;" dir="ltr"> <p dir="ltr"><!--StartFragment --><span class="artText"><em>&quot;While the spotlight shone on the heavyweight contenders, a couple of agile innovators made noteworthy advances in 2003. </em><a class="regularArticleU" href="http://www.infoworld.com/699"><em>OpenLink Software?s Virtuoso 3.0</em></a><em>,
which we reviewed in March, stole thunder from all three major players.
Like Oracle, it offers a WebDAV-accessible XML repository. Like DB2
Information Integrator, it functions as database middleware that can
perform federated ?joins? across SQL and XML sources. And like the
forthcoming Yukon, it embeds the .Net CLR (Common Language Runtime), or
in the case of Linux, Novell/Ximian?s Mono.&quot;</em></span> </p></blockquote> <p dir="ltr"><font face="Verdana" size="2">Albeit
still somewhat unknown to the broader industry we have remained true
our &quot;innovator&quot; discipline, which still remains our chosen path to
market leadership. Thus, its worth a quick Virtuoso release history,
and featuresÃÂ recap as we get set to up the ante even further in
2004:</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/virtuoso.htm">1998 - Virtuoso&#39;s initial public beta</a> release with functional emphasis on Virtual Database Engine for ODBC and JDBC Data Sources.</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/virtuoso1.htm">1999 - Virtuoso&#39;s official commercial</a> release, with emphasis stillÃÂ on Virtual Database functionality for ODBC, JDBC accessible SQL Databases.</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/v2releas.htm">2000 - Virtuoso 2.0</a>
adds XML Storage, XPath, XML Schema, XQuery, XSL-T, WebDAV, SOAP, UDDI,
HTTP, Replication, Free Text Indexing (*feature update*), POP3, and
NNTP support.</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/v27releas.htm">2002 - Virtuoso 2.7</a>
extends Virtualization prowess beyond data access via enhancements to
its Web Services protocol stack implementation by enabling SQL Stored
Procedures to be published as Web Services. It also debutsÃÂ its
Object-Relational engine enhancements that include
theÃÂ incorporation of Java and Microsoft .NET Objects into its User
Defined Type, User Defined Functions, and Stored
ProcedureÃÂ offerings.</font></p> <p dir="ltr"><font face="Verdana" size="2"><a href="http://www.openlinksw.com/press/virt3beta.htm">2003 - Virtuoso 3.0</a>
extends data and application logic virtualization into the Application
Server realm (basically a Virtual Application server too!), by adding
support for ASP.NET, PHP, Java Server Pages runtime hosting (making
applications built using any of these languages deployable using
Virtuoso across all supported platforms).</font></p> <p dir="ltr"><font face="Verdana" size="2">Collectively
each of these releases have contributed to a very premeditated
architecture and vision that will ultimately unveil the inherent power
of critical I.S infrastructure virtualizationÃÂ along the following
lines; data storage, data access , and application logic via coherent
integration of SQL, XML, Web Services, and Persistent Stored Modules
(.NET, Java, and other object based component building blocks).</font></p> <p dir="ltr"><font face="Verdana"></font>ÃÂ </p>
]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-12-03#436">
  <rss:title>Officially introducing Mono.Security</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-12-03T20:39:24Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Officially introducing Mono.Security I&#39;ve been talking a lot about Mono.Security but until today I didn&#39;t realize that it was never officially introduced - at least in my blog. The only existing introduction is the Mono&#39;s Crypto status page - which BTW is a great place to learn what&#39;s in and/or out Mono&#39;s cryptography. &lt;lazy-geek:copy-n-paste&gt;Rational: This assembly provides the missing pieces to .NET security. On Windows CryptoAPI is often used to provide much needed functionalities (like some cryptographic algorithms, code signing, X.509 certificates). Mono, for platform independence, implements these functionalities in 100% managed code.&lt;/ lazy-geek:copy-n-paste&gt; The most important piece of information is 100% managed code. This means that Mono.Security isn&#39;t tied to the Mono runtime and/or specific class library - you&#39;re free (really it&#39;s MIT X11 licensed) to use it on any runtime you choose.Structures ASN1 decoding, encoding and type conversions; PKCS #7 structures - used for Authenticode and SPC support and currently being updated for implementing System.Security.Cryptography.Pkcs in .NET 1.2;Many security file formats including little known / undocumented formats PVK - Private Key files. Files that contains the private part of a public key. The format is mostly used by makecert.exe. Keys can be encrypted with RC4tm using a user supplied password. Not very secure; SPC - Software Publisher Certificates. Files that contains a collection of X.509 certificates and/or CRLs. This is the format required by signcode.exe to append an Authenticode® signature to a PE file. [recent] PKCS #8 class to protect private keys (for the soon included PKCS #12 support);Cryptography ARCFOUR - A managed implementation of the alleged RC4 compatible stream cipher from RSA. Required for PVK file format and for SSL/TLS; MD2 - A managed implementation of the RFC1319 MD2 hash algorithm. Note: MD2 is deprecated and shouldn&#39;t be used in new designs. It is included into Mono.Security because many old, but still valid, X.509 certificates (mostly roots) have signatures based on MD2. MD4 - A managed implementation of the RFC1320 MD4 hash algorithm. Note: MD4 is BROKEN and shouldn&#39;t be used. It is included into Mono.Security because NTLM challenges require MD4. However this doesn&#39;t mean that NTLM is broken. MD5SHA1 - The concatenation of a MD5 and SHA1 hash required to implement TLS.Code signing StrongName support - AFAIK the only open source implementation capable of signing/verifying strongnames on assemblies; Authenticode® support for both signing, countersigning (timestamps) and verifying PE files (including .NET assemblies);Protocols TLS - Carlos Guzmán Álvarez has given his TLS (successor of SSL3) implementation to Mono! He&#39;s currently working on server side support and SSL compatibility - with an eye on the new .NET 1.2 API; [recent] NTLM authentication. Now used for SQL Server authentication, soon to be used for HTTP.X.509 certificates X.501 names decoding/encoding; X.509 certificate decoder with full support for X.509v3 extensions; X.509 certificate builder to create your own certificates! Very basic (planned to improve) chaining and validation. So the big, anticipated, questions were: &quot;is Mono.Security complete?&quot; - No, but does it need to be to be useful ? Not to me ;-) &quot;is Mono.Security mature?&quot; - No, it&#39;s not old enough to have been well tested. &quot;is Mono.Security totally safe?&quot; - No, supporting undocumented features is never safe - but it&#39;s almost as convenient as an AC in hell. but Miguel&#39;s question was subtler &quot;How mature are Mono Security classes?&quot; There&#39;s no quick answer to that one. Most of the APIs will continue evolve to match new challenges like newer frameworks, WSE... - at least until the Mono 1.0 release. Interface stability is not yet a big priority at this stage (but I won&#39;t break it just for fun - at least not more than twice ;-) ASN.1 support has been very stable for the last year - but it&#39;s clearly not designed for everyone. PKCS7 is more recent and still incomplete (wrt to 1.2); File formats are stable (as they don&#39;t change often ;-) and well tested because it&#39;s generally easy to find/generate test cases; Cryptography is very stable because the interfaces are normalized and test vectors are available for testing. Most of them could easily be optimized without too much effort - maybe I&#39;ll do another optimizathon for Christmas vacations; Code signing is still experimental. It works but it&#39;s difficult to test and heavily undocumented. More independent tests would be welcomed! Protocols, both TLS and NTLM, are recent and still incomplete wrt to the specifications (when available). But they do the work that is currently required of them; X.509 classes, has been somewhat on hold before the preview release of .NET 1.2. This is because the current framework uses the features but do not expose them (like certificate stores, chaining...). In this case waiting for the (preview) release made more sense that starting a complete implementation from scratch. So there&#39;s still a lots of stuff to do! Luckily I expect most of it to be pure fun :-). Please report to me if you&#39;re using the classes in your own projects - I know may do ;-). I&#39;d like bug reports and/or comments about your experience with Mono.Security. Kittens would also appreciate for sure... [via Monologue]</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<A href="http://pages.infinit.net/ctech/20031202-1004.html">Officially introducing Mono.Security</A> 
<P>I've been talking a lot about Mono.Security but until today I didn't realize that it was never <I>officially</I> introduced - at least in my blog.</P>
<P>The only existing introduction is the <A href="http://www.go-mono.com/crypto.html" target=_blank>Mono's Crypto status page</A> - which BTW is a great place to learn what's in and/or out Mono's cryptography.</P>
<P>&lt;lazy-geek:copy-n-paste&gt;<BR><B>Rational</B>: This assembly provides the missing pieces to .NET security. On Windows CryptoAPI is often used to provide much needed functionalities (like some cryptographic algorithms, code signing, X.509 certificates). Mono, for platform independence, implements these functionalities in 100% managed code.<BR>&lt;/ lazy-geek:copy-n-paste&gt;
<P>
<P>The most important piece of information is <I>100% managed code</I>. This means that Mono.Security isn't tied to the Mono runtime and/or specific class library - you're free (really it's <A href="http://www.opensource.org/licenses/mit-license.php" target=_blank>MIT X11</A> licensed) to use it on any runtime you choose.</P><B>Structures</B> 
<UL>
<LI>ASN1 decoding, encoding and type conversions;</LI>
<LI><A href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-7/index.html" target=_blank>PKCS #7</A> structures - used for Authenticode and SPC support and currently being updated for implementing <CODE>System.Security.Cryptography.Pkcs</CODE> in .NET 1.2;</LI></UL><B>Many security file formats including little known / undocumented formats</B> 
<UL>
<LI>PVK - Private Key files. Files that contains the private part of a public key. The format is mostly used by makecert.exe. Keys can be encrypted with RC4<SUP>tm</SUP> using a user supplied password. Not very secure;</LI>
<LI>SPC - Software Publisher Certificates. Files that contains a collection of X.509 certificates and/or CRLs. This is the format required by signcode.exe to append an Authenticode® signature to a PE file.</LI>
<LI><FONT color=#ff0000>[recent]</FONT> <A href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-8/index.html" target=_blank>PKCS #8</A> class to protect private keys (for the soon included <A href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-12/index.html" target=_blank>PKCS #12</A> support);</LI></UL><B>Cryptography</B> 
<UL>
<LI>ARCFOUR - A managed implementation of the <I>alleged RC4</I> compatible stream cipher from RSA. Required for PVK file format and for SSL/TLS;</LI>
<LI>MD2 - A managed implementation of the <A href="http://www.ietf.org/rfc/rfc1319.txt" target=_blank>RFC1319 MD2</A> hash algorithm. Note: MD2 is deprecated and shouldn't be used in new designs. It is included into Mono.Security because many old, but still valid, X.509 certificates (mostly roots) have signatures based on MD2.</LI>
<LI>MD4 - A managed implementation of the <A href="http://www.ietf.org/rfc/rfc1320.txt" target=_blank>RFC1320 MD4</A> hash algorithm. Note: MD4 is BROKEN and shouldn't be used. It is included into Mono.Security because NTLM challenges require MD4. However this doesn't mean that NTLM is broken.</LI>
<LI>MD5SHA1 - The concatenation of a MD5 and SHA1 hash required to implement TLS.</LI></UL><B>Code signing</B> 
<UL>
<LI>StrongName support - AFAIK the only open source implementation capable of signing/verifying strongnames on assemblies;</LI>
<LI>Authenticode® support for both signing, countersigning (timestamps) and verifying PE files (including .NET assemblies);</LI></UL><B>Protocols</B> 
<UL>
<LI>TLS - Carlos Guzmán Álvarez has given his TLS (successor of SSL3) implementation to Mono! He's currently working on server side support and SSL compatibility - with an eye on the new <A href="http://longhorn.msdn.microsoft.com/" target=_blank>.NET 1.2 API</A>;</LI>
<LI><FONT color=#ff0000>[recent]</FONT> NTLM authentication. Now used for SQL Server authentication, soon to be used for HTTP.</LI></UL><B>X.509 certificates</B> 
<UL>
<LI>X.501 names decoding/encoding;</LI>
<LI>X.509 certificate decoder with full support for X.509v3 extensions;</LI>
<LI>X.509 certificate builder to create your own certificates!</LI>
<LI>Very basic (planned to improve) chaining and validation.</LI></UL>
<P>So the big, anticipated, questions were: 
<UL>
<LI><I>"is Mono.Security complete?"</I> - No, but does it need to be to be useful ? Not to me ;-)</LI>
<LI><I>"is Mono.Security mature?"</I> - No, it's not <I>old</I> enough to have been well tested.</LI>
<LI><I>"is Mono.Security totally safe?"</I> - No, supporting undocumented features is never safe - but it's almost as convenient as an AC in hell.</LI></UL>
<P></P>
<P>but <A href="http://primates.ximian.com/~miguel/activity-log.php" target=_blank>Miguel</A>'s question was subtler <I>"How mature are Mono Security classes?"</I> There's no quick answer to that one.</P>
<UL>
<LI>Most of the APIs will continue evolve to match new challenges like newer frameworks, WSE... - at least until the <A href="http://www.go-mono.com/mono-roadmap.html" target=_blank>Mono 1.0 release</A>. Interface stability is not yet a big priority at this stage (but I won't break it just for fun - at least not more than twice ;-)</LI>
<LI>ASN.1 support has been very stable for the last year - but it's clearly not designed for everyone. PKCS7 is more recent and still incomplete (wrt to 1.2); 
<LI>File formats are stable (as they don't change often ;-) and well tested because it's generally easy to find/generate test cases;</LI>
<LI>Cryptography is very stable because the interfaces are normalized and test vectors are available for testing. Most of them could easily be optimized without too much effort - maybe I'll do another optimizathon for Christmas vacations;</LI>
<LI>Code signing is still <I>experimental</I>. It works but it's difficult to test and heavily undocumented. More independent tests would be welcomed! 
<LI>Protocols, both TLS and NTLM, are recent and still incomplete wrt to the specifications (when available). But they do the work that is currently required of them;</LI>
<LI>X.509 classes, has been somewhat <I>on hold</I> before the preview release of .NET 1.2. This is because the current framework uses the features but do not expose them (like certificate stores, chaining...). In this case waiting for the (preview) release made more sense that starting a complete implementation from scratch.</LI></UL>
<P>So there's still a lots of stuff to do! Luckily I expect most of it to be pure fun :-).</P>
<P>Please report to me if you're using the classes in your own projects - I know may do ;-). I'd like <A href="http://www.go-mono.com/bugs.html" target=_blank>bug reports</A> and/or comments about your experience with Mono.Security. <A href="http://www.jacksonh.net/jackson/blog/archive/2003/Nov-30.html" target=_blank>Kittens would also appreciate for sure...</P>
<DIV align=right>[via <A href="http://monologue.go-mono.com/">Monologue</A>]</DIV>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-10-31#410">
  <rss:title>Replace and defend -- Contd</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-10-31T20:58:52Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Reading the Longhorn SDK docs is a disorienting experience. Everything&#39;s familiar but different. Consider these three examples: [Full story: Replace and defend via Jon&#39;s Radio] &quot;Replace &amp; Defend&quot; is certainly a strategy that would have awakened the entire non Microsoft Developer world during the recent PDC event. I know these events are all about preaching to the choir (Windows only developers), but as someone who has worked with Microsoft technologies as an ISV since the late 80&#39;s there is something about this events announcements that leave me concerned. Ironically these concerns aren&#39;t about the competitive aspects of their technology disruptions, but more along the lines of how Microsoft (I hope inadvertently) generates the kinds of sentiments echoed in the comments thread from Scobles recent &quot;How to hate Microsoft&quot; post. As indicated in my response to this post, I don&#39;t believe Microsoft is as bad or evil as is instinctively assumed in many quarters, but I can certainly understand why they are hated by others which is really unfortunate, especially bearing in mind that they have done more good than harm to date (in my humble opinion) . Anyway, back to my concerns post PDC which I break down as follows: Disruptive assaults on existing standards with the only benefit being Microsoft platform centricity. Jon Udell addressed this in his &quot;Replace and Defend&quot; post (which kicked of this post), and I see exactly what he sees here, and I don&#39;t see any reason for this approach whatsoever. Even if one of these standards was deficient what stops the Microsoft from addressing these deficiencies, and then should the W3C&#39;s standards acceptance and ratification process bogs things down at least let the industry know you gave it openness a chance but have to move on etc.. Gradual obsolescence of existing Microsoft standards which used to provide interfaces for 3rd party ISV partners, and replacing these with totally closed infrastructure implementations that bind to Microsoft products only.  A good example is WinFS, I believe in the unified data storage concept, it&#39;s a vision that I&#39;ve believed in for many years, but there is no notion from any PDC presentation or Blog that I have read so far (I aggregate a serious number of feeds) that Microsoft is committed to an architectural strategy that enables 3rd party ISVs to hook their data stores and data sources into this storage infrastructure - it&#39;s simply about Yukon (SQL Server) and that&#39;s basically it. WinFS needs to architecturally separate the System Provider from the Data Provider (pretty much the OLE-DB architecture) with Microsoft naturally providing reference System Provider (pretty much what was demonstrated at PDC) and Data Provider (ADO.NET, OLE DB, and ODBC) implementations. Third parties can choose to produce custom WinFS Service or Data Providers which serve their data access needs. It&#39;s impractical to want to force every non SQL Server customer over to SQL Server in order them to exploit WinFS, and I certainly hope this isn&#39;t the definitive strategy at Microsoft.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P dir=ltr style="MARGIN-RIGHT: 0px">Reading the Longhorn SDK docs is a disorienting experience. Everything's familiar but different. Consider these three examples: </P>
<P dir=ltr style="MARGIN-RIGHT: 0px">[Full story: <A href="http://weblog.infoworld.com/udell/2003/10/31.html#a836">Replace and defend</A> via <A href="http://weblog.infoworld.com/udell/">Jon's Radio</A>]</P></BLOCKQUOTE>
<P dir=ltr style="MARGIN-RIGHT: 0px">"Replace &amp; Defend" is certainly a strategy that would have awakened the entire non Microsoft Developer world during the recent PDC event. I know these events are all about preaching to the choir (Windows only developers), but as someone who has worked with Microsoft technologies as an ISV since the late 80's there is something about this events announcements that leave me concerned. </P>
<P dir=ltr style="MARGIN-RIGHT: 0px">Ironically these concerns aren't about the competitive aspects of their technology disruptions, but more along the lines of how&nbsp;Microsoft (I hope inadvertently) generates the kinds of sentiments echoed in the <A href="http://longhornblogs.com/scobleizer/posts/345.aspx#FeedBack">comments thread </A>from <A href="http://longhornblogs.com/">Scobles</A> recent <A href="http://longhornblogs.com/scobleizer/posts/345.aspx">"How to hate Microsoft"</A> post. As indicated in my response to this post,&nbsp;I don't believe&nbsp;Microsoft is as bad or evil as is instinctively assumed in many quarters, but I can certainly understand why they&nbsp;are hated by others which is really unfortunate, especially&nbsp;bearing in mind that they have done more good than harm&nbsp;to date&nbsp;(in my humble&nbsp;opinion)&nbsp;. </P>
<P dir=ltr style="MARGIN-RIGHT: 0px">Anyway, back to my concerns post PDC which I break down as follows:</P>
<OL dir=ltr>
<LI>
<DIV style="MARGIN-RIGHT: 0px">Disruptive assaults on existing standards with the only benefit being Microsoft platform centricity. <A href="http://weblog.infoworld.com/udell/2003/10/31.html#a836">Jon Udell addressed this in his "Replace and Defend" post </A>(which kicked of this post), and I see exactly what he sees here, and I don't see any reason for this approach whatsoever. Even if one of these standards was deficient what stops the&nbsp;Microsoft from addressing these deficiencies, and then should the W3C's standards acceptance and ratification process bogs things down at least let the industry know you gave it openness a chance&nbsp;but have to move on etc.. <BR><BR></DIV></LI>
<LI>
<DIV style="MARGIN-RIGHT: 0px">Gradual obsolescence of existing Microsoft standards which used to provide interfaces for 3rd party ISV partners, and replacing these with totally closed infrastructure implementations that bind to Microsoft products only.&nbsp; A good example is <A href="http://msdn.microsoft.com/longhorn/default.aspx?pull=/msdnmag/issues/04/01/WinFS/default.aspx">WinFS</A>, I believe in the unified data storage concept, <A href="http://www.openlinksw.com/blog/~kidehen/index.vspx?id=406">it's a vision that I've believed in for&nbsp;many years</A>, but there is no notion&nbsp;from any PDC presentation or Blog that I have&nbsp;read so far (I aggregate&nbsp;a serious number of feeds)&nbsp;that Microsoft is committed to an architectural strategy that enables 3rd party ISVs to hook their data stores and data sources into this storage infrastructure -&nbsp;it's simply about <A href="http://www.openlinksw.com/blog/~kidehen/index.vspx?id=407">Yukon (SQL Server)</A> and that's basically it.</DIV></LI></OL>
<P style="MARGIN-RIGHT: 0px">WinFS needs to architecturally separate the <STRONG>System Provider</STRONG> from the <STRONG>Data Provider</STRONG> (pretty much the OLE-DB architecture)&nbsp;with Microsoft&nbsp;naturally providing reference System Provider (pretty much what was demonstrated at PDC)&nbsp;and Data Provider (ADO.NET, OLE DB, and ODBC) implementations. Third parties can choose to produce custom WinFS Service or Data Providers which serve their data access needs. It's impractical to want to force every non SQL Server customer over to SQL Server in order them to exploit WinFS, and I certainly hope this isn't the definitive strategy at Microsoft.</P>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-10-30#407">
  <rss:title>Yukon&#39;s Top 10 Development Features &amp; Virtuoso</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-10-31T04:39:03Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Yukon&#39;s Top 10 Development Features &amp; Virtuoso Yukon&#39;s top 30</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<a href="http://demo2.usnet.private:8890/?id=1307">Yukon&#39;s Top 10 Development Features &amp; Virtuoso</a> 
<p>Yukon&#39;s top 30</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-07-30#209">
  <rss:title>VSIP program free of charge</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-07-30T21:46:48Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Microsoft just made the VSIP program free of charge. Awesome. [via The Scobleizer Weblog] Now this is good news from Microsoft! This means that products like Virtuoso can now compete head-on with Yukon (on a level playing field when it arrives) as far as Visual Studio.NET integration goes. Hopefully I will no longer have to rant about any of the following: Missing Data Access Controls and Wizards for ODBC (we already have annbsp interesting Generic ADO.NET Provider en route to GA release) Tightly bound integration between Visual Studio.NET (&quot;Whidbey&quot; or &quot;Orcas&quot;)nbspand Yukon (next release of SQL Server), it&#39;s up to us (OpenLink) to get the same degree of integration re. Virtuoso (via VSIP), but most importantly Visual Studio&#39;s future will not be inextricably linked to Yukon&#39;s (let&#39;s hope the same applies to IE and Longhorn) I wonder if the same degree of openness could extend to Web Matrix? That would be something indeed!</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p dir="ltr">Microsoft just made the <a href="http://www.vsipdev.com/">VSIP program free of charge</a>. Awesome.</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p dir="ltr">[via <a href="http://radio.weblogs.com/0001011/">The Scobleizer Weblog</a>]</p></blockquote>
<p>Now this is good news from Microsoft! This means that products like <a href="http://www.openlinksw.com/virtuoso/whatis.htm">Virtuoso</a> can now compete head-on with Yukon (on a level playing field when it arrives) as far as Visual Studio.NET integration goes. Hopefully I will no longer have to rant about any of the following:</p>
<ol>
<li>Missing Data Access Controls and Wizards for ODBC (we already have annbsp interesting Generic ADO.NET Provider en route to GA release)</li>
<li>Tightly bound integration between Visual Studio.NET <a href="http://www.microsoft.com/presspass/press/2003/Jul03/07-29InnovationListPR.asp">("Whidbey" or "Orcas")</a>nbspand Yukon (next release of SQL Server), it's up to us (OpenLink) to get the same degree of integration re. Virtuoso (via VSIP), but most importantly Visual Studio's future will not be inextricably linked to Yukon's (let's hope the same applies to IE and Longhorn)</li></ol>
<p>I wonder if the same degree of openness could extend to Web Matrix? That would be something indeed!</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-26#192">
  <rss:title>Interesting Database History: INFORMIX</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-06-26T23:45:45Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Interesting Database History: INFORMIX From Wikipedia, the free encyclopedia. Informix is a relational database and for almost 20 years was also the name of the company who developed it. Informix DBMS was a development of the pioneering Ingres system that also led to Sybase and SQL Server, and was the #2 database system behind Oracle for some time in the 1990s. Their brush with success was surprisingly short-lived however, and by 2000 a series of management blunders had all but destroyed the company. In 2001 they were purchased by IBM in order to gain access to Informix&#39;s existing market share and customer base. Long term plans to merge Informix technology with DB2 are in place, since the Informix Arrowhead project is now called DB2 Arrowhead. IBM is also commited in supporting older versions. Read on.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<!--StartFragment --><A href="http://www.wikipedia.org/wiki/Informix">Interesting Database History: INFORMIX</A>
<P class=subtitle>From <A href="http://www.wikipedia.org/">Wikipedia</A>, the free encyclopedia. </P>
<P><STRONG>Informix</STRONG> is a <A class=internal title="Relational database" href="http://www.wikipedia.org/wiki/Relational_database">relational database</A> and for almost 20 years was also the name of the company who developed it. Informix DBMS was a development of the pioneering <A class=internal title=Ingres href="http://www.wikipedia.org/wiki/Ingres">Ingres</A> system that also led to <A class=internal title=Sybase href="http://www.wikipedia.org/wiki/Sybase">Sybase</A> and <A class=internal title="SQL Server" href="http://www.wikipedia.org/wiki/SQL_Server">SQL Server</A>, and was the #2 database system behind <A class=internal title=Oracle href="http://www.wikipedia.org/wiki/Oracle">Oracle</A> for some time in the 1990s. Their brush with success was surprisingly short-lived however, and by 2000 a series of management blunders had all but destroyed the company. In <A class=internal title=2001 href="http://www.wikipedia.org/wiki/2001">2001</A> they were purchased by <A class=internal title=IBM href="http://www.wikipedia.org/wiki/IBM">IBM</A> in order to gain access to Informix's existing market share and customer base. Long term plans to merge Informix technology with <A class=internal title=DB2 href="http://www.wikipedia.org/wiki/DB2">DB2</A> are in place, since the Informix Arrowhead project is now called DB2 Arrowhead. <A class=internal title=IBM href="http://www.wikipedia.org/wiki/IBM">IBM</A> is also commited in supporting older versions. </P>
<P><A href="http://www.wikipedia.org/wiki/Informix">Read on.</A></P>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-18#282">
  <rss:title>What&#39;s new in Web Matrix ?</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-06-18T12:02:22Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">I had been anticipating the release of Web Matrix 2.0, but was pretty disappointed with the blatant attempts to lock users into SQL Server and ACCESS (of course I know that manual imports are possible re. my .net provider for non Microsoft databases, but that&#39;s beside the point). From the feature list: Easy Data UI Generation.  Web Matrix makes it easy to create data bound pages without writing code. Drop SQL/MSDE or Access tables on your page to create data-bound grids, or start with Data Page templates for reports or Master/Detail pages. Code builders help you generate code to select, insert, update and delete SQL/MSDE or Access data.  [via WebLogs @ ASP.NET] It only makes it easy for two databases which are both Microsoft owned? What really baffles me is why they don&#39;t use ADO.NET, by the way this is their own data abstraction technology. The same approach has also been applied to InfoPath and this is certainly a disturbing trend for unsuspecting end-users, developers, systems architects, and decision makers. Before you know it you lose your database choices.   Could this be an oversight on the part of Microsoft? I don&#39;t think so somehow, we are taking a very interesting journey here from database independence to database specificity ( ODBC-&gt;OLEDB-ADO.NET-[SQL Server|Acces] ), all in a quest to covertly reduce choices (I think I&#39;ve seen this movie before! And I might have to rewrite the script).  </dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<P>I had been anticipating the release of Web Matrix 2.0, but was pretty disappointed with the blatant attempts to lock users into SQL Server and ACCESS (of course I know that manual imports are possible re. my .net provider for non Microsoft databases, but that's beside the point). From the feature list:</P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P><STRONG>Easy Data UI Generation</STRONG>.&nbsp; Web Matrix makes it easy to create data bound pages without writing code. Drop SQL/MSDE or Access tables on your page to create data-bound grids, or start with Data Page templates for reports or Master/Detail pages. Code builders help you generate code to select, insert, update and delete SQL/MSDE or Access data.&nbsp;<BR><FONT face=Verdana size=2>&nbsp;</FONT>[via <A href="http://weblogs.asp.net/">WebLogs @ ASP.NET</A>]</P></BLOCKQUOTE>
<DIV>It only makes it easy for two databases which are both Microsoft owned? What really baffles me is why they don't use ADO.NET, by the way this is&nbsp;their own data abstraction technology. The same approach has also been applied to InfoPath and this is certainly a disturbing trend for unsuspecting end-users, developers, systems architects, and decision makers. Before you know it you lose your database choices. </DIV>
<DIV>&nbsp;</DIV>
<DIV>Could this be an oversight on the part of Microsoft? I don't think so somehow, we are taking a very interesting journey here from database independence to database specificity ( ODBC-&gt;OLEDB-ADO.NET-[SQL Server|Acces] ), all in a quest to covertly reduce choices (I think I've seen this movie before! And I might have to rewrite the script).</DIV>
<DIV>&nbsp;</DIV>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-18#138">
  <rss:title>Get Ready for Yukon </rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-06-18T05:19:22Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Get Ready for Yukon The next release of SQL Server promises increased developer productivity and reduced DBA workload. by Roger Jennings June 2003 Issue .NET Magazine After reading this article I decided to put together a simple comparitive analysis of our existing product and the soon to be released Yukon. Our Universal Server product called Virtuoso will compete head on with this future release of SQL Server in many regards (.NET CLR hosting, Native XML Types, SQL-XML, XMLA, Web Services etc.), but I am also keen to see what interesting perspectives Microsoft&#39;s implementation brings to the table. Here is a summary comparison, note that some of the hyperlinks in the table below actually take you to live functionality demos (for effect these links point to a Linux server, and you can change the machine part of the url from &quot;demo&quot; to &quot;kingsleydemo&quot; to see the equivalent demos on an XP server).</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><a href="http://www.ftponline.com/dotnetmag/2003_06/magazine/columns/sqlconnection/default.asp">Get Ready for Yukon</a> </p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p>The next release of SQL Server promises increased developer productivity and reduced DBA workload. </p>
<p>by Roger Jennings June 2003 Issue <a href="http://www.ftponline.com/dotnetmag/">.NET Magazine</a> </p></blockquote>
<p>After reading this article I decided to put together a simple comparitive analysis of our existing product and the soon to be released Yukon.</p>
<p>Our <a href="http://www.openlinksw.com/virtuoso/whatis.htm">Universal Server</a> product called <a href="http://www.openlinksw.com/virtuoso">Virtuoso</a> will compete head on with this future release of SQL Server in many regards (.NET CLR hosting, Native XML Types, SQL-XML, XMLA, Web Services etc.), but I am also keen to see what interesting perspectives Microsoft&#39;s implementation brings to the table. Here is a summary comparison, note that some of the hyperlinks in the table below actually take you to live functionality demos (for effect these links point to a Linux server, and you can change the machine part of the url from &quot;demo&quot; to &quot;kingsleydemo&quot; to see the equivalent demos on an XP server).</p>
<table width="97%" border="1">
<tbody>
<tr>
<td width="42%"><font size="2"></font></td></tr></tbody></table>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-17#279">
  <rss:title>Ingres - A Forgotten Database, the untold story</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-06-17T11:18:57Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Ingres - A Forgottent Database The Untold Story Ingres (technically, Advantage Ingres Enterprise) is, arguably, the forgotten database. There used to be five major databases: Oracle, DB2, Sybase, Informix and Ingres. Then along came Microsoft and, if you listened to most press comment (or the lack of it), you would think that there were only two of these left, plus SQL Server. [From IT-Director] Oracle, Microsoft, and IBM would certainly like the illusion of a 3 horse race, as this is the only way they can induce Ingres, Informix, and Sybase users to jump ship, and this, even though database migrations are by far the most risk prone and problematic aspects of any IT infrastructure. Here is the interesting logic from the self-made big three, if you want to take advanatage of new paradigms and technologies such as XML, Web Services, and anything else in the pipeline you have to move all your data out of these databases, and then get all the mission critical applications re-associated with one of these databases, and by the way when you do so it is advisable that you use native interfaces (so that sometime in the future you have no chance whatsoever of repeating this folly at their expense). The simple fact of the matter (which the self-made big three do not want you to know) is that you can put ODBC, JDBC, even platform specific data access APIs such as OLE DB and ADO.NET atop any of these databases, and then explore and exploit the benefits of new technologies and paradigms as long as the tool pool supports one of more of these standards. Unfortunately the no-brainer above appears to be the more difficult of the choices before decision makers. In other words, many would rather dig themselves into a deeper hole (unknowingly i can only presume) that ultimately leads to technology lock-in. The biggest challenge before any RDBMS based infrastructure today isn&#39;t which of the self-made big three to migrate to wholesale, rather, how to make progressive use of the pool of disparate applications, and application databases that proliferate the enterprise. This is another way of understanding the burgeoning market for Virtual Databases, which in my opiion present the new frontier in database technology.  </dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<P><A href="http://www.it-director.com/article.php?articleid=10951">Ingres - A Forgottent Database The Untold Story</A></P>
<P><EM>Ingres (technically, Advantage Ingres Enterprise) is, arguably, the forgotten database. There used to be five major databases: Oracle, DB2, Sybase, Informix and Ingres. Then along came Microsoft and, if you listened to most press comment (or the lack of it), you would think that there were only two of these left, plus SQL Server</EM>. [From <A href="http://www.it-director.com/article.php?articleid=10951">IT-Director</A>]</P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Oracle, Microsoft, and IBM would certainly like the illusion of a 3 horse race, as this is the only way they can induce Ingres, Informix, and Sybase users to jump ship, and this, even though database migrations are by far the most risk prone and problematic aspects of any IT infrastructure. <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Here is the interesting logic from the self-made big three, if you want to take advanatage of new paradigms and technologies such as XML, Web Services, and anything else in the pipeline you have to move all your data out of these databases, and then get all the mission critical applications re-associated with one of these databases, and by the way when you do so it is advisable that you use native interfaces (so that sometime in the future you have no chance whatsoever of repeating this folly at their expense).<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The simple fact of the matter (which the self-made big three do not want you to know) is that you can put ODBC, JDBC, even platform specific data access APIs such as OLE DB and ADO.NET atop any of these databases, and then explore and exploit the benefits of new technologies and paradigms as long as the tool pool supports one of more of these standards.<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Unfortunately the no-brainer above appears to be the more difficult of the choices before decision makers. In other words, many would rather dig themselves into a deeper hole (unknowingly i can only presume) that ultimately leads to technology lock-in.<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The biggest challenge before any RDBMS based infrastructure today isn't which of the self-made big three to migrate to wholesale, rather, how to make progressive use of the pool of disparate applications, and application databases that proliferate the enterprise. <o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">This is another way of understanding the burgeoning market for Virtual Databases, which in my opiion present the new frontier in database technology.<o:p></o:p></SPAN></P>
<P>&nbsp;</P></BLOCKQUOTE>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-11#276">
  <rss:title>&lt;a href=&quot;http://www.sys-con.com/xml/article2a.cfm?id=652&amp;amp;count=18437&amp;amp;tot=14&amp;amp;page=12&quot;&gt;piece&lt;/a&gt;</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-06-11T21:13:07Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">An interesting piece by Michael Carey architect for Liquid Data at BEA re. Enterprise Information Integration from XML Journal. Key quote. Since the dawn of the database era more than three decades ago, enterprises have been amassing an ever-increasing volume of information - both current and historical - about their operations. For the past two of those three decades, the database world has struggled with the problem of somehow integrating information that natively resides in multiple database systems or other information sources (Landers and Rosenberg). This is the root cause of many of the systems integration challenges facing may IT decsion makers. They want to exploit the new and emerging technologies, but the internal disparity of data and application logic presents many obstacles. Michael had this to say in his introduction. The IT world knows this problem today as the enterprise information integration (EII) problem: enterprise applications need to be able to easily access and combine information about a given business entity from a distributed and highly varied collection of information sources. Relevant sources include various relational database systems (RDBMSs); packaged applications from vendors such as Siebel, PeopleSoft, SAP, and others; &quot;homegrown&quot; proprietary systems; and an increasing number of data sources that are starting to speak XML, such as XML files and Web services. Virtuoso (which coincedentally has been used to build and host this blog) has been developed to address the challenges presented above; by providing a Virtual Database Engine for disparate data and application logic (all the GEMs on this page have been generated on the fly using it&#39;s SQL-XML functionality). Additional article excerpts:With XQuery, the solution sketched above can be implemented by viewing the enterprise&#39;s different data sources all as virtual XML documents and functions. XQuery can stitch the distributed customer information together into a comprehensive, reusable base view. A critical issue at this point is how sensistive the XML VIEW is to underlying data source changes. Enterprises are dynamic, so static XML VIEWs are going to be suboptimal in many situations. Applications are only as relevant as the underlying data fluidity served up by the data access (this issue is data format agnostic). Virtuoso addresses this problem through its support of Persistent and Transient forms of XML VIEWs (which are derived from SQL, XML, Web Services, or any combination of these). Final excerpt:The relational data sources can be exposed using simple default XML Schemas, and the other sources - SAP and the credit-checking Web service - can be exposed to XQuery as callable XQuery functions with appropriate signatures. Unfortunately XML Schemas aren&#39;t easy, so making this a requirement for producing XML VIEWs is somewhat problematic (or should I say challenging). Of course this approach has it merits, but it does put a significant knowledge acquisition burden on the end-user or developer. This is why Virtuoso also supports an approach based on SQL extensions for generating  XML from SQL that facilitate the production of Well Formed and/or Valid XML documents on the fly from heterogeneous SQL Data Sources (this syntax is identical to the FOR XML RAW | AUTO | EXPLICIT modes of SQL Server). It can also use it&#39;s in-built XSL-T engine to further transform other non SQL XML data sources (and then generate an XML Schema for the final product if required and validate against this schema using it&#39;s in-build XML Schema validaton engine). This article certainly sheds light on the kinds of problems that EII based technologies such as Virtual Databases are positioned to address. There is a live XQuery demo of Virtuoso at: http://demo.openlinksw.com:8890/xqdemo</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<P>An interesting <A href="http://www.sys-con.com/xml/article2a.cfm?id=652&amp;count=18437&amp;tot=14&amp;page=12">piece</A> by Michael Carey architect for Liquid Data at BEA re. Enterprise Information Integration from <A href="http://www.sys-con.com/xml">XML Journal</A>.</P>
<P>Key quote.</P>
<P><EM>Since the dawn of the database era more than three decades ago, enterprises have been amassing an ever-increasing volume of information - both current and historical - about their operations. For the past two of those three decades, the database world has struggled with the problem of somehow integrating information that natively resides in multiple database systems or other information sources (Landers and Rosenberg).</EM> </P>
<P>This is the root cause of many of the systems integration challenges facing may IT decsion makers. They want to exploit the new and emerging technologies, but the internal disparity of data and application logic presents many obstacles.</P>
<P>Michael had this to say in his introduction.</P>
<P><EM>The IT world knows this problem today as the enterprise information integration (EII) problem: enterprise applications need to be able to easily access and combine information about a given business entity from a distributed and highly varied collection of information sources. Relevant sources include various relational database systems (RDBMSs); packaged applications from vendors such as Siebel, PeopleSoft, SAP, and others; "homegrown" proprietary systems; and an increasing number of data sources that are starting to speak XML, such as XML files and Web services</EM>.<BR></P>
<P>Virtuoso (which coincedentally has been used to build and host this blog) has been developed to address the challenges presented above; by providing a Virtual Database Engine for disparate data and application logic (all the GEMs on this page have been generated on the fly using it's SQL-XML functionality).</P>
<P>Additional article excerpts:<BR><EM>With XQuery, the solution sketched above can be implemented by viewing the enterprise's different data sources all as virtual XML documents and functions. XQuery can stitch the distributed customer information together into a comprehensive, reusable base view.</EM> </P>
<P>A critical issue at this point is how sensistive the XML VIEW is to underlying data source changes. Enterprises are dynamic, so static XML VIEWs are going to be suboptimal in many situations. Applications are only as relevant as the underlying data fluidity served up by the data access (this issue is data format agnostic).</P>
<P>Virtuoso addresses this problem through its support of Persistent and Transient forms of XML VIEWs (which are derived from SQL, XML, Web Services, or any combination of these).</P>
<P>Final excerpt:<BR><EM>The relational data sources can be exposed using simple default XML Schemas, and the other sources - SAP and the credit-checking Web service - can be exposed to XQuery as callable XQuery functions with appropriate signatures.</EM> </P>
<P>Unfortunately XML Schemas aren't easy, so making this a requirement for producing XML VIEWs is somewhat problematic (or should I say challenging). Of course this approach has it merits, but it does put a significant knowledge acquisition burden on the end-user or developer. This is why Virtuoso also supports an approach based on SQL extensions for generating&nbsp; XML from SQL that facilitate the production of Well Formed and/or Valid XML documents on the fly from heterogeneous SQL Data Sources (this syntax is identical to the FOR XML RAW | AUTO | EXPLICIT modes of SQL Server). It can also use it's in-built XSL-T engine to further transform other non SQL XML data sources (and then generate an XML Schema for the final product if required and validate against this schema using it's in-build XML Schema validaton engine).</P>
<P>This article certainly sheds light on the kinds of problems that EII based technologies such as Virtual Databases are positioned to address.</P>
<P>There is a live XQuery demo of Virtuoso at: <A href="http://demo.openlinksw.com:8890/xqdemo"><a href="http://demo.openlinksw.com:8890/xqdemo">http://demo.openlinksw.com:8890/xqdemo</a></A></P>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-09#266">
  <rss:title>How Databases Changed The World</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-06-09T09:28:17Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">How Databases Changed The World by Tim DiChiara, Site Editor (SearchDatabase.com) How did the database industry get started? How has it changed the face of business? What were the key milestones, the big obstacles and the lessons learned? I recently came across an interesting panel discussion addressing these very issues, featuring many of the database pioneers and leaders of the last 30 years:Chris DateHerb Edelstein Bob Epstein (Sybase who shared code with Microsoft for remarketing on SQL Server on OS/2 which inevitably lead to the Microsoft SQL Server we know today)Ken Jacobs (Oracle&#39;s Dr. DBA)Pat Selinger  (DB2 precursor called System R) Roger Sippl (Informix)Michael Stonebraker (Ingres, Postgres, and Mariposa)The event is available via streaming video and was recorded in February at the Computer History Museum in Mountain View, California. After a chatty and lengthy (45 minutes!) introduction only interesting to hardcore insiders, you can see Chris Date waxing eloquent about Ted Codd (complete with quotes from Shakespeare, no less), Herb Edelstein waxing eloquent about Chris Date, and Michael Stonebraker at his geeky best. There&#39;s also interesting trivia about the beginnings of SQL, the role of INGRES, why the relational model will stand the test of time and some friendly Oracle and IBM bashing (and Microsoft and Sybase and...). I urge all you data management pros interested in broadening your knowledge of the field to check it out! If you&#39;re still not satiated, don&#39;t forget about our collection of backgrounders about the DBMS and the data management industry. sqlrdbmsdatabase</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
 <p><a href="http://searchdatabase.techtarget.com/bestWebLinks/0,289521,sid13_tax281575,00.html"><b>How Databases Changed The World</b></a>     by Tim DiChiara, Site Editor (<a href="http://www.searchdatabase.com">SearchDatabase.com</a>)      </p><p>How did the database industry get started? How has it changed the face of business? What were the key milestones, the big obstacles and the lessons learned?    I recently came across an interesting panel discussion addressing these very issues, featuring many of the database pioneers and leaders of the last 30 years:</p><a href="http://en.wikipedia.org/wiki/Chris_Date">Chris Date</a><br /><a href="http://www.computerhistory.org/events/lectures/db_02102003/edelstein/">Herb Edelstein</a> <br /><a href="http://www.computerhistory.org/events/lectures/db_02102003/epstein/">Bob Epstein</a> (<a href="http://en.wikipedia.org/wiki/Sybase">Sybase</a> who shared code with Microsoft for remarketing on SQL Server on OS/2 which inevitably lead to the <a href="http://en.wikipedia.org/wiki/Microsoft_SQL_Server">Microsoft SQL Server</a> we know today)<br /><a href="http://www.oracle.com/corporate/pressroom/html/kjacobs.html">Ken Jacobs</a> (<a href="http://en.wikipedia.org/wiki/Oracle_database">Oracle</a>&#39;s Dr. DBA)<br /><a href="http://www.witi.com/center/witimuseum/halloffame/2004/pselinger.php">Pat Selinger </a> (<a href="http://en.wikipedia.org/wiki/DB2">DB2</a> precursor called System R) <br /><a href="http://en.wikipedia.org/wiki/Informix">Roger Sippl</a> (<a href="http://en.wikipedia.org/wiki/Informix">Informix</a>)<br /><a href="http://en.wikipedia.org/wiki/Michael_Stonebraker">Michael Stonebraker</a> (<a href="http://en.wikipedia.org/wiki/Ingres">Ingres</a>, <a href="http://en.wikipedia.org/wiki/PostgreSQL">Postgres</a>, and <a href="http://mariposa.cs.berkeley.edu/about.html">Mariposa</a>)<br /><br />The event is available via streaming <a href="http://www.computerhistory.org/events/lectures/db_02102003/">video</a> and was recorded in February at the Computer History Museum in Mountain View, California.    After a chatty and lengthy (45 minutes!) introduction only interesting to hardcore insiders, you can see Chris Date waxing eloquent about Ted Codd (complete with quotes from Shakespeare, no less), Herb Edelstein waxing eloquent about Chris Date, and Michael Stonebraker at his geeky best. There&#39;s also interesting trivia about the beginnings of SQL, the role of INGRES, why the relational model will stand the test of time and some friendly Oracle and IBM bashing (and Microsoft and Sybase and...).     I urge all you data management pros interested in broadening your knowledge of the field to check it out! If you&#39;re still not satiated, don&#39;t forget about our collection of backgrounders about the DBMS and the data management industry.      
<a href="index.vspx?tag=sql" rel="tag" style="display:none;">sql</a><a href="index.vspx?tag=rdbms" rel="tag" style="display:none;">rdbms</a><a href="index.vspx?tag=database" rel="tag" style="display:none;">database</a>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-03#358">
  <rss:title>&lt;a href=&quot;http://weblogs.asp.net/rholloway/posts/8197.aspx&quot;&gt;Deconstructing the Yukon Delay &lt;/a&gt;</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-06-03T21:28:41Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Deconstructing the Yukon Delay Microsoft is citing customer concerns about product stability and internal dependencies on Whidbey as the primary drivers for the project delays in the Yukon release. The software is now projected to release in the second half of 2004. I&#39;m the last person that would criticize Microsoft for delaying the schedule to ensure that the product is reliable, however I take exception with their claim that customer concern is a factor. If customers were not voicing their concerns over product stability, how would Microsoft do anything differently? The nature of the product, being a database server, is that is must be reliable and secure. I think this is Microsoft&#39;s way of responding to perception that they release &quot;beta&quot; quality software without sufficient testing and allow the customers to discover the issues. In my opinion the Whidbey dependence is the primary driver for the scheduling delays, although without inside knowledge of the product development initiative it is probably not possible to understand the complexities. Microsoft is probably better off citing the new Yukon features and the Whidbey dependencies rather than &quot;customer concerns&quot; over reliability. Security and reliability concerns need to be Microsoft&#39;s concerns, not the customer&#39;s.[via Randy Holloway&#39;s Blog] Transalates to: we have some additional time to make Virtuoso even better!</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[Deconstructing the Yukon Delay 
Microsoft is <a href="http://www.eweek.com/article2/0,3959,1116195,00.asp">citing</a> customer concerns about product stability and internal dependencies on Whidbey as the primary drivers for the project delays in the Yukon release.  The software is now projected to release in the second half of 2004.  I'm the last person that would criticize Microsoft for delaying the schedule to ensure that the product is reliable, however I take exception with their claim that customer concern is a factor.  If customers were not voicing their concerns over product stability, how would Microsoft do anything differently? The nature of the product, being a database server, is that is must be reliable and secure.  I think this is Microsoft's way of responding to perception that they release "beta" quality software without sufficient testing and allow the customers to discover the issues.

In my opinion the Whidbey dependence is the primary driver for the scheduling delays, although without inside knowledge of the product development initiative it is probably not possible to understand the complexities.  Microsoft is probably better off citing the new Yukon features and the Whidbey dependencies rather than "customer concerns" over reliability. Security and reliability concerns need to be Microsoft's concerns, not the customer's.[<a href="http://weblogs.asp.net/rholloway/posts/8197.aspx">via Randy Holloway's Blog]
</a>
<br>
<i>Transalates to: we have some additional time to make Virtuoso even better!</i>
]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-30#69">
  <rss:title>ASP.NET Forums</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-05-30T18:13:16Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">ASP.NET Forums Last night we updated the ASP.NET Website to ASP.NET 1.1. So far so good, we found a couple of bugs in the forums that we had to patch this morning, but overall the site seems to run faster! Today we got even more good news, we should have our new dual-processor SQL box online by-end-of-week. It&#39;s somewhat amazing that our little SQL Server (single-proc. 750 MHZ 1GB RAM) has handled the load of (we&#39;re serving about 100K unique users / day on the site right now.): All the content from www.asp.net (all content is stored in the DB) All the interactive content from www.asp.net/ControlGallery/ All the interactive content from www.asp.net/Forums/ (requires the most database utilization) All the interactive online versions of the starter kits (such as IBuySpy Store, Portal, etc.) Unfortunately the search functionality of the forums is killing CPU utilization on the SQL Server. Once we get the new DB in place we&#39;ll dedicate it to the forums --- should definitley speed up the site even more! [via Rob Howard&#39;s Blog]</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<A href="http://weblogs.asp.net/rhoward/posts/2954.aspx">ASP.NET Forums</A> 
<P><FONT face=Arial>Last night we updated the <A href="http://www.asp.net/">ASP.NET Website</A>&nbsp;to ASP.NET 1.1. So far so good, we found a couple of bugs in the forums that we had to patch this morning, but overall the site seems to run faster! Today we got even more good news, we should have our new dual-processor SQL box online by-end-of-week. It's somewhat amazing that our little SQL Server (single-proc. 750 MHZ 1GB RAM) has handled the load of (<FONT face=Arial>we're serving about 100K unique users / day on the site right now.)</FONT>:</FONT></P>
<UL>
<LI><FONT face=Arial>All the content from <A href="http://www.asp.net/">www.asp.net</A> (all content is stored in the DB)</FONT></LI>
<LI><FONT face=Arial>All the interactive content from <A href="http://www.asp.net/ControlGallery/">www.asp.net/ControlGallery/</A> </FONT></LI>
<LI><FONT face=Arial>All the interactive content from <A href="http://www.asp.net/Forums/">www.asp.net/Forums/</A>&nbsp;(requires the most database utilization)</FONT></LI>
<LI><FONT face=Arial>All the interactive online versions of the starter kits (such as IBuySpy Store, Portal, etc.)</FONT></LI></UL>
<P><FONT face=Arial>Unfortunately the search functionality of the forums is killing CPU utilization on the SQL Server. Once we get the new DB in place we'll dedicate it to the forums --- should definitley speed up the site even more! </FONT>[via <A href="http://weblogs.asp.net/rhoward/">Rob Howard's Blog</A>]</P>
<DIV></DIV>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-21#319">
  <rss:title>&lt;big&gt;SQL Injection FAQ &lt;/big&gt;</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-05-21T22:27:45Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">SQL Injection FAQ Â http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;;tabid=3Â  Are other SQL Servers (Sybase, Oracle, DB2) subject to SQL injection? Yes, to varying degrees. Here is a site that can get you more details on some of the issues with other SQL Servers. http://www.owasp.orgWhat is SQL Injection and why is all this information not included in the regular FAQ? SQL Injection is simply a term describing the act of passing SQL code into an application that was not intended by the developer. Â  Since this topic is not specifically restricted to SQL Server it is not included in the normal FAQ.Â  In fact, much of the problems that allow SQL injection are not the fault of the database server per-se but rather are due to poor input validation and coding at other code layers.Â  However, due to the serious nature and prevalence of this problem I feel its inclusion in a thorough discussion of SQL Server security is warranted. What causes SQL Injection? SQL injection is usually caused by developers who use &quot;string-building&quot; techniques in order to execute SQL code.Â  For example, in a search page, the developer may use the following code to execute a query (VBScript/ASP sample shown): Set myRecordset = myConnection.execute(&quot;SELECT * FROM myTable WHERE someText =&#39;&quot; &amp; request.form(&quot;inputdata&quot;) &amp; &quot;&#39;&quot;) The reason this statement is likely to introduce an SQL injection problem is that the developer has made a classic mistake - poor input validation.Â  We are trusting that user has not entered something malicious - something like the innocent looking single quote (&#39;).Â  Let&#39;s consider what would happen if a user entered the following text into the search form: &#39; exec master..xp_cmdshell &#39;net user test testpass /ADD&#39; -- Then, when the query string is assembled and sent to SQL Server, the server will process the following code: SELECT * FROM myTable WHERE someText =&#39;&#39; exec master..xp_cmdshell &#39;net user test testpass /ADD&#39;--&#39; Notice, the first single quote entered by the user closed the string and SQL Server eagerly executes the next SQL statements in the batch including a command to add a new user to the local accounts database.Â  If this application were running as &#39;sa&#39; and the MSSQLSERVER service is running with sufficient privileges we would now have an account with which to access this machine.Â  Also note the use of the comment operator (--) to force the SQL Server to ignore the trailing quote placed by the developer&#39;s code. More Very intresting that these are all Native Interface based exploits.Â  So the security issue isn&#39;t ODBC, JDBC, ADO.NET, or OLE DB specific (although they certainly increase the potential damage that can be unleashed via metadata analysis en route to that huge Cartesian Product ; the mother of all Exploits!). Our Session Rules Book was devised in 1993 with many of these issues in mind, and to this date there are no other ODBC/JDBC/OLE DB products out there that even come close to acknowledging this reality.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p align="center"><font color="#0080c0" size="2"><big><strong><big>SQL Injection FAQ </big></strong></big></font></p>
<p align="center">
</p><p align="center"><strong><font color="red"></font></strong></p><strong><font color="red">Â </font></strong><a href="http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&tabid=3"><strong><font color="red"><a href="http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;;tabid=3">http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;;tabid=3</a><br /></font></strong></a><strong><font color="red">Â </font></strong> <br />
<div align="center">
<center>
<table width="80%" border="0">
<tbody>
<tr>
<td width="100%">
<p><big><strong><font size="2">Are other SQL Servers (Sybase, Oracle, DB2) subject to SQL injection?</font></strong></big></p>
<p><font size="2">Yes, to varying degrees. Here is a site that can get you more details on some of the issues with other SQL Servers. </font><a href="http://www.owasp.org/" target="_blank"><a href="http://www.owasp.org/"><font size="2">http://www.owasp.org</font></a></a></p><font size="2"><b>What is SQL Injection and why is all this information not included in the regular FAQ?</b> </font>
<p><font size="2">SQL Injection is simply a term describing the act of passing SQL code into an application that was not intended by the developer. Â  Since this topic is not specifically restricted to SQL Server it is not included in the normal FAQ.Â  In fact, much of the problems that allow SQL injection are not the fault of the database server per-se but rather are due to poor input validation and coding at other code layers.Â  However, due to the serious nature and prevalence of this problem I feel its inclusion in a thorough discussion of SQL Server security is warranted.</font></p>
<p><big><strong><font size="2">What causes SQL Injection?</font></strong></big></p>
<p><font size="2">SQL injection is usually caused by developers who use &quot;string-building&quot; techniques in order to execute SQL code.Â  For example, in a search page, the developer may use the following code to execute a query (VBScript/ASP sample shown):</font></p>
<p><font face="Courier New" color="#ff0000" size="2">Set myRecordset = myConnection.execute(&quot;SELECT * FROM myTable WHERE someText =&#39;&quot; &amp; request.form(&quot;inputdata&quot;) &amp; &quot;&#39;&quot;)</font></p>
<p><font size="2">The reason this statement is likely to introduce an SQL injection problem is that the developer has made a classic mistake - poor input validation.Â  We are trusting that user has not entered something malicious - something like the innocent looking single quote (&#39;).Â  Let&#39;s consider what would happen if a user entered the following text into the search form:</font></p>
<p><font size="2">&#39; exec master..xp_cmdshell &#39;net user test testpass /ADD&#39; --</font></p>
<p><font size="2">Then, when the query string is assembled and sent to SQL Server, the server will process the following code:</font></p>
<p><font face="Courier New" color="#ff0000" size="2">SELECT * FROM myTable WHERE someText =&#39;&#39; exec master..xp_cmdshell &#39;net user test testpass /ADD&#39;--&#39;</font></p>
<p><font size="2">Notice, the first single quote entered by the user closed the string and SQL Server eagerly executes the next SQL statements in the batch including a command to add a new user to the local accounts database.Â  If this application were running as &#39;sa&#39; and the MSSQLSERVER service is running with sufficient privileges we would now have an account with which to access this machine.Â  Also note the use of the comment operator (--) to force the SQL Server to ignore the trailing quote placed by the developer&#39;s code.</font></p>
<p><a href="http://www.sqlsecurity.com/faq-inj.asp"><font size="2">More</font></a></p>
<p><em><font color="#000000" size="2">Very intresting that these are all Native Interface based exploits.Â  So the security issue isn&#39;t ODBC, JDBC, ADO.NET, or OLE DB specific (although they certainly increase the potential damage that can be unleashed via metadata analysis en route to that huge Cartesian Product ; the mother of all Exploits!). Our Session Rules Book was devised in 1993 with many of these issues in mind, and to this date there are no other ODBC/JDBC/OLE DB products out there that even come close to acknowledging this reality.</font></em></p></td></tr></tbody></table></center></div>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-21#48">
  <rss:title>&lt;big&gt;SQL Injection FAQ &lt;/big&gt;</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-05-21T22:27:45Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">SQL Injection FAQ  http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;;tabid=3  Are other SQL Servers (Sybase, Oracle, DB2) subject to SQL injection? Yes, to varying degrees. Here is a site that can get you more details on some of the issues with other SQL Servers. http://www.owasp.orgWhat is SQL Injection and why is all this information not included in the regular FAQ? SQL Injection is simply a term describing the act of passing SQL code into an application that was not intended by the developer.   Since this topic is not specifically restricted to SQL Server it is not included in the normal FAQ.  In fact, much of the problems that allow SQL injection are not the fault of the database server per-se but rather are due to poor input validation and coding at other code layers.  However, due to the serious nature and prevalence of this problem I feel its inclusion in a thorough discussion of SQL Server security is warranted. What causes SQL Injection? SQL injection is usually caused by developers who use &quot;string-building&quot; techniques in order to execute SQL code.  For example, in a search page, the developer may use the following code to execute a query (VBScript/ASP sample shown): Set myRecordset = myConnection.execute(&quot;SELECT * FROM myTable WHERE someText =&#39;&quot; &amp; request.form(&quot;inputdata&quot;) &amp; &quot;&#39;&quot;) The reason this statement is likely to introduce an SQL injection problem is that the developer has made a classic mistake - poor input validation.  We are trusting that user has not entered something malicious - something like the innocent looking single quote (&#39;).  Let&#39;s consider what would happen if a user entered the following text into the search form: &#39; exec master..xp_cmdshell &#39;net user test testpass /ADD&#39; -- Then, when the query string is assembled and sent to SQL Server, the server will process the following code: SELECT * FROM myTable WHERE someText =&#39;&#39; exec master..xp_cmdshell &#39;net user test testpass /ADD&#39;--&#39; Notice, the first single quote entered by the user closed the string and SQL Server eagerly executes the next SQL statements in the batch including a command to add a new user to the local accounts database.  If this application were running as &#39;sa&#39; and the MSSQLSERVER service is running with sufficient privileges we would now have an account with which to access this machine.  Also note the use of the comment operator (--) to force the SQL Server to ignore the trailing quote placed by the developer&#39;s code. More Very intresting that these are all Native Interface based exploits.  So the security issue isn&#39;t ODBC, JDBC, ADO.NET, or OLE DB specific (although they certainly increase the potential damage that can be unleashed via metadata analysis en route to that huge Cartesian Product ; the mother of all Exploits!). Our Session Rules Book was devised in 1993 with many of these issues in mind, and to this date there are no other ODBC/JDBC/OLE DB products out there that even come close to acknowledging this reality.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<P align=center><FONT color=#0080c0 size=2><BIG><STRONG><BIG>SQL Injection FAQ </BIG></STRONG></BIG></FONT></P>
<P align=center>
<P align=center><STRONG><FONT color=red></FONT></STRONG></P><STRONG><FONT color=red>&nbsp;</FONT></STRONG><A href="http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;tabid=3"><STRONG><FONT color=red><A href="http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;;tabid=3">http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&amp;;tabid=3</A><BR></FONT></STRONG></A><STRONG><FONT color=red>&nbsp;</FONT></STRONG> <BR>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=0>
<TBODY>
<TR>
<TD width="100%">
<P><BIG><STRONG><FONT size=2>Are other SQL Servers (Sybase, Oracle, DB2) subject to SQL injection?</FONT></STRONG></BIG></P>
<P><FONT size=2>Yes, to varying degrees. Here is a site that can get you more details on some of the issues with other SQL Servers. </FONT><A href="http://www.owasp.org/" target=_blank><A href="http://www.owasp.org/"><FONT size=2>http://www.owasp.org</FONT></A></A></P><FONT size=2><B>What is SQL Injection and why is all this information not included in the regular FAQ?</B> </FONT>
<P><FONT size=2>SQL Injection is simply a term describing the act of passing SQL code into an application that was not intended by the developer. &nbsp; Since this topic is not specifically restricted to SQL Server it is not included in the normal FAQ.&nbsp; In fact, much of the problems that allow SQL injection are not the fault of the database server per-se but rather are due to poor input validation and coding at other code layers.&nbsp; However, due to the serious nature and prevalence of this problem I feel its inclusion in a thorough discussion of SQL Server security is warranted.</FONT></P>
<P><BIG><STRONG><FONT size=2>What causes SQL Injection?</FONT></STRONG></BIG></P>
<P><FONT size=2>SQL injection is usually caused by developers who use "string-building" techniques in order to execute SQL code.&nbsp; For example, in a search page, the developer may use the following code to execute a query (VBScript/ASP sample shown):</FONT></P>
<P><FONT face="Courier New" color=#ff0000 size=2>Set myRecordset = myConnection.execute("SELECT * FROM myTable WHERE someText ='" &amp; request.form("inputdata") &amp; "'")</FONT></P>
<P><FONT size=2>The reason this statement is likely to introduce an SQL injection problem is that the developer has made a classic mistake - poor input validation.&nbsp; We are trusting that user has not entered something malicious - something like the innocent looking single quote (').&nbsp; Let's consider what would happen if a user entered the following text into the search form:</FONT></P>
<P><FONT size=2>' exec master..xp_cmdshell 'net user test testpass /ADD' --</FONT></P>
<P><FONT size=2>Then, when the query string is assembled and sent to SQL Server, the server will process the following code:</FONT></P>
<P><FONT face="Courier New" color=#ff0000 size=2>SELECT * FROM myTable WHERE someText ='' exec master..xp_cmdshell 'net user test testpass /ADD'--'</FONT></P>
<P><FONT size=2>Notice, the first single quote entered by the user closed the string and SQL Server eagerly executes the next SQL statements in the batch including a command to add a new user to the local accounts database.&nbsp; If this application were running as 'sa' and the MSSQLSERVER service is running with sufficient privileges we would now have an account with which to access this machine.&nbsp; Also note the use of the comment operator (--) to force the SQL Server to ignore the trailing quote placed by the developer's code.</FONT></P>
<P><A href="http://www.sqlsecurity.com/faq-inj.asp"><FONT size=2>More</FONT></A></P>
<P><EM><FONT color=#000000 size=2>Very intresting that these are all Native Interface based exploits.&nbsp; So the security issue isn't ODBC, JDBC, ADO.NET, or OLE DB specific (although they certainly increase the potential damage that can be unleashed via metadata analysis en route to that huge Cartesian Product ; the mother of all Exploits!). Our Session Rules Book was devised in 1993 with many of these issues in mind, and to this date there are no other ODBC/JDBC/OLE DB products out there that even come close to acknowledging this reality.</FONT></EM></P></TD></TR></TBODY></TABLE></CENTER></DIV>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-18#304">
  <rss:title>&lt;a href=&quot;http://dotnetweblogs.com/rholloway/posts/7161.aspx&quot;&gt;Whidbey/Yukon Connection&lt;/a&gt;</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-05-18T17:45:33Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Whidbey/Yukon Connection Mary Jo provides an overview of some the upcoming features in Whidbey, and emphasizes the link between that product and the Yukon release. If anything concerns me about the upcoming Yukon release, this dependency is it. Its going to be tough to coordinate shipping these two products with all of the new functionality in each. [via Randy Holloway&#39;s Blog]</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<A href="http://dotnetweblogs.com/rholloway/posts/7161.aspx">Whidbey/Yukon Connection</A> <BR><A href="http://www.microsoft-watch.com/">Mary Jo</A> provides an <A href="http://www.microsoft-watch.com/article2/0,4248,1091178,00.asp">overview</A> of some the upcoming features in Whidbey, and emphasizes the link between that product and the Yukon release. If anything concerns me about the upcoming Yukon release, this dependency is it. Its going to be tough to coordinate shipping these two products with all of the new functionality in each. [via <A href="http://dotnetweblogs.com/rholloway/">Randy Holloway's Blog</A>]
<DIV></DIV>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-18#31">
  <rss:title>&lt;a href=&quot;http://dotnetweblogs.com/rholloway/posts/7161.aspx&quot;&gt;Whidbey/Yukon Connection&lt;/a&gt;</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-05-18T17:45:33Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Whidbey/Yukon Connection Mary Jo provides an overview of some the upcoming features in Whidbey, and emphasizes the link between that product and the Yukon release. If anything concerns me about the upcoming Yukon release, this dependency is it. Its going to be tough to coordinate shipping these two products with all of the new functionality in each. [via Randy Holloway&#39;s Blog]</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<A href="http://dotnetweblogs.com/rholloway/posts/7161.aspx">Whidbey/Yukon Connection</A> <BR><A href="http://www.microsoft-watch.com/">Mary Jo</A> provides an <A href="http://www.microsoft-watch.com/article2/0,4248,1091178,00.asp">overview</A> of some the upcoming features in Whidbey, and emphasizes the link between that product and the Yukon release. If anything concerns me about the upcoming Yukon release, this dependency is it. Its going to be tough to coordinate shipping these two products with all of the new functionality in each. [via <A href="http://dotnetweblogs.com/rholloway/">Randy Holloway's Blog</A>]
<DIV></DIV>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-15#292">
  <rss:title>&lt;span class=&quot;largeHEADLINE&quot;&gt;Microsoft Struggles To Get Yukon Database Beta Out The Door &lt;/span&gt;</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-05-15T15:51:34Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">Microsoft Struggles To Get Yukon Database Beta Out The Door By Barbara Darrow, CRN Boston -- The clock is ticking on Yukon. Microsoft has promised the first real beta of its next-generation database for the first half of the year. Depending on how first half is defined, that gives the company just over a month. Company sources said the push is on internally to deliver a beta drop by June 1, just in time for the company&#39;s TechEd conference in Dallas.</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<span class="largeHEADLINE">Microsoft Struggles To Get Yukon Database Beta Out The Door </span><br /><img height="8" alt="spacer" hspace="0" src="http://i.cmpnet.com/internetweek/blank.gif" width="20" border="0" /><br /><b>By Barbara Darrow, CRN</b> 
<p><img height="8" alt="spacer" hspace="0" src="http://i.cmpnet.com/internetweek/blank.gif" width="8" border="0" /><br /><!-- ARTICLE BODY --><!-- BODY -->Boston -- The clock is ticking on Yukon. 
</p><p>Microsoft has promised the first real beta of its next-generation database for the first half of the year. Depending on how first half is defined, that gives the company just over a month. Company sources said the push is on internally to deliver a beta drop by June 1, just in time for the company&#39;s TechEd conference in Dallas.</p>]]></content:encoded>
 </rss:item>
 <rss:item xmlns:rss="http://purl.org/rss/1.0/" rdf:about="http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-14#277">
  <rss:title>eCRM Evaluation and Comparison (of sorts)</rss:title>
  <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-05-14T19:38:01Z</dc:date>
  <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">The next release of Microsoft SQL Server, code-named &quot;Yukon,&quot; will reshape the Windows relational database management system (RDBMS) landscape. Yukon promises to incorporate the benefits of native XML and object-oriented databases within a fully programmable relational database framework. A new Reporting Service, support for InfoPath (formerly XDocs) data-entry forms, and Transact-SQL (T-SQL) enhancements round out Yukon&#39;s new feature set. David Campbell, Microsoft&#39;s product unit manager for the SQL Server engine, gave .NET developers a Yukon preview at VSLive! San Francisco this past February. In this article, I&#39;ll analyze Campbell&#39;s &quot;Database of the Future: A Preview of Yukon and Other Technical Advancements&quot; keynote address from an IT management and SQL Server DBA perspective. For more see full article</dc:description>
  <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><span class="DropCap">T</span>he next release of Microsoft SQL Server, code-named &quot;Yukon,&quot; will reshape the Windows relational database management system (RDBMS) landscape. Yukon promises to incorporate the benefits of native XML and object-oriented databases within a fully programmable relational database framework. A new Reporting Service, support for InfoPath (formerly XDocs) data-entry forms, and Transact-SQL (T-SQL) enhancements round out Yukon&#39;s new feature set. David Campbell, Microsoft&#39;s product unit manager for the SQL Server engine, gave .NET developers a Yukon preview at VSLive! San Francisco this past February. In this article, I&#39;ll analyze Campbell&#39;s &quot;Database of the Future: A Preview of Yukon and Other Technical Advancements&quot; keynote address from an IT management and SQL Server DBA perspective. </p>
<p>For more see full <a href="http://www.fawcette.com/dotnetmag/2003_06/magazine/columns/sqlconnection/default.asp">article</a></p>]]></content:encoded>
 </rss:item>
</rdf:RDF>