<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Content on Content Management &#187; Secure File</title>
	<atom:link href="http://contentoncontentmanagement.com/category/secure-file/feed/" rel="self" type="application/rss+xml" />
	<link>http://contentoncontentmanagement.com</link>
	<description></description>
	<lastBuildDate>Tue, 16 Mar 2010 04:45:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<atom:link rel="next" href="http://contentoncontentmanagement.com/category/secure-file/feed/?page=2" />

		<item>
		<title>CMIS</title>
		<link>http://contentoncontentmanagement.com/2008/09/cmis/</link>
		<comments>http://contentoncontentmanagement.com/2008/09/cmis/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 15:49:05 +0000</pubDate>
		<dc:creator>David Roe</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Secure File]]></category>
		<category><![CDATA[Or]]></category>

		<guid isPermaLink="false">http://contentoncontentmanagement.com/?p=129</guid>
		<description><![CDATA[Big news in the content management world last week.  The big guys(EMC, IBM, MS, Oracle&#8230;and pretty much everyone) came together and proposed a protocol based standard for content management.  The standard, which basically leverages the Atom Publishing Protocol appears to &#8230; <a href="http://contentoncontentmanagement.com/2008/09/cmis/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Big news in the content management world last week.  The big guys(EMC, IBM, MS, Oracle&#8230;and pretty much everyone) came together and proposed a protocol based standard for content management.  The standard, which basically leverages the Atom Publishing Protocol appears to be primarily a REST based service, with additional support for SOAP and potentially JSON formats.  </p>
<p>Take away all the acronyms for a moment and basically we are talking about a language and repository independent method for communicating with content management systems.</p>
<blockquote><p>The CMIS standard will expose core/common ECM repository capabilities in an intentionally generic way. These will allow for applications to be constructed that can work with content residing in one or more ECM repositories, without having to understand implementation differences between the individual repositories or worrying about interface inconsistencies between the repositories.  <em>From CMIS Part I – Introduction, General Concepts, Data Model, and Services</em></p></blockquote>
<p>There it is.  Abstraction, it&#8217;s a thing of beauty.  Code to an interface not an implementation.  This is exactly what the industry has been needing for some time, a standardized method for interacting with a content repository.  No more APIs, hierarchical repositories or windows explorer plugins, just a simple http-based standard for managing content.</p>
<h3>Why is this cool</h3>
<p>You&#8217;re talking about Microsoft, IBM, EMC, Oracle, SAP(and many others) getting together and agreeing on a standard way of doing things.  Assuming they not only implement the standard in their content repositories, but leverage in their other applications(portals, email servers, databases, app servers, BPM apps, search engines, ERPs, etc) we could be looking at a new wave of interoperability in these systems.</p>
<p>Everyone uses the JDBC example for ECM standards because of the obvious similarities between a content repository and a database, but I always thought that it was way to optimistic of a goal.  All of these systems are so very different that it&#8217;s been hard to imagine a single standardized method for communicating with them.  A change like that would require all the vendors to get on the same page and agree on a single integration method..that seemed like a pipe-dream until last week.</p>
<h3>Some questions though</h3>
<p><span style="font-weight: normal;">At the risk of bringing down all the positive feelings on CMIS, I did have a couple questions as I read through the documentation:</span></p>
<ul>
<li>Nothing about workflow &#8211; I have never seen a content management system that lacks workflow or at least some sort of approval mechanisam.  Even if it&#8217;s just an approve and reject, I think if you&#8217;re going to support creating and updating content, you have to have a way to approve changes, otherwise you still have folks heading back to the CMS.</li>
<li>CMIS SQL &#8211; CMIS will leverage a SQL-92 subset for querying content in the repository.  There will be a full text search as well, but SQL?  Perhaps it&#8217;s me but I feel like you query for data and search for content.  Search, like workflow, is something that most CMSs provide natively and very often the language of search is the Universal Query Syntax.  CMIS SQL seems like a tough integration to implement, as you&#8217;ll have to bypass the search engine and directly query the database, in addition to it being a great place to introduce a security hole.</li>
</ul>
<h3>Why Oracle Should(and probably is) ALL ABOUT THIS</h3>
<p>I am also little surprised that EMC and IBM are the first companies mentioned on this standard, when, to me at least, it so clearly gives Oracle such a clear advantage.  Not to sound like a sales pitch, but Oracle&#8217;s 11g database right now is head and shoulders above the rest when it comes to storing files.  You can compress them, encrypt them, cache them and de-duplicate them.  The functionality is known as SecureFiles and Oracle&#8217;s latest CMS offering, Universal Online Archive, as well as (and this is all based on rumor) the next version of UCM leverage SecureFiles by default.  As the content repositories becomes more decoupled, I really have a hard time seeing how Oracle doesn&#8217;t end up just owning that space.  Get ready for SharePoint, powered by Oracle and CMIS.</p>
<h3>And the wait begins</h3>
<p>I&#8217;m a consultant, so like many of the current and potential CMS customers out there, I&#8217;m now starting the waiting game to see where this goes.  Open Source ECM vendor Alfresco apparently has already developed their CMIS integration, we&#8217;ll see how long it takes the other vendors to follow suit.  The real fun part will actually not be when the content management systems begin implementing the service, but when the other applications begin supporting it&#8217;s consumption.  This should be a lot of fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://contentoncontentmanagement.com/2008/09/cmis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle 11g Secure File Features with Oracle UCM</title>
		<link>http://contentoncontentmanagement.com/2008/04/oracle-11g-secure-file-features-with-oracle-ucm/</link>
		<comments>http://contentoncontentmanagement.com/2008/04/oracle-11g-secure-file-features-with-oracle-ucm/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 03:36:55 +0000</pubDate>
		<dc:creator>David Roe</dc:creator>
				<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Secure File]]></category>

		<guid isPermaLink="false">http://ContentOnContentManagement.com/?p=79</guid>
		<description><![CDATA[Last week I and several others talked about Oracle&#8217;s announcement of their new product Universal Online Archive.  While UOA should be a pretty cool application, many of the features mentioned are actually available now in the 11g database and can easily be leveraged &#8230; <a href="http://contentoncontentmanagement.com/2008/04/oracle-11g-secure-file-features-with-oracle-ucm/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last week <a href="http://contentoncontentmanagement.com/2008/04/14/new-addition-to-oracle-ecm-stack/">I and several others</a> talked about Oracle&#8217;s announcement of their new product Universal Online Archive.  While UOA should be a pretty cool application, many of the features mentioned are actually available now in the 11g database and can easily be leveraged by Oracle UCM.</p>
<h3>So what are these features?</h3>
<p>Oracle 11g has a <a href="http://www.oracle.com/technology/pub/articles/oracle-database-11g-top-features/index.html">ton of new features</a>, but the ones most interesting from a content repository standpoint are the new BLOB storage capabilities called SecureFiles.  What they allow you to do is create a BLOB field in a table, but instead of just saving the file in the database table, you can now:</p>
<ul>
<li>Compress it</li>
<li>Encrypt it</li>
<li>Deduplicate it (ok that doesn&#8217;t make sense..but we&#8217;ll cover it soon)</li>
</ul>
<p>Those are some pretty cool features, ones which are great from a just a database perspective, but become very pretty handy if you&#8217;re talking about a content repository.  The fact that UCM has traditionally stored it&#8217;s content on the filesystem has always been a selling point for me; small databases, better performance, what would I gain by storing my content in a database?  <a href="http://bexhuff.com/2008/04/oracle-universal-online-archive-the-killer-app-for-oracle-secure-files">Bex Huff I think actually answers this best</a>:</p>
<blockquote><p><span>For the longest time, the folks at Stellent balked at using the database for file storage. Using the filesystem made much more sense because of performance reasons, which made up for the additional complexity of the architecture. However, if the user has 11g, there really is no better option than storing content items in the database.</span></p></blockquote>
<p>There it is&#8230;No better option than storing content in the database?  We have to give that a go.</p>
<h3>Giving it a go</h3>
<p>There are a couple prerequisites required before we can store UCM content in it&#8217;s database:</p>
<ul>
<li>Minimum UCM version is 10gr3</li>
<li>UCM must be running on a 11g database</li>
<li>A JDBC Filestore provider must be configured in UCM, here&#8217;s a link to the installation <a href="http://download-east.oracle.com/docs/cd/E10316_01/cs/cs_doc_10/documentation/admin/admin_FS_provider_10en.pdf">PDF</a></li>
</ul>
<p><strong>Step 1 &#8211; Verify if Secure File Support</strong></p>
<p>The 11g database enabled SecureFile support by default, but if you want to make sure it&#8217;s working you can run the following commands as SYSDBA:</p>
<p><code>SQL&gt;show parameter COMPATIBLE;<br />
NAME                                 TYPE        VALUE<br />
------------------------------------ ----------- -------------<br />
compatible                           string      11.1.0.0.0<br />
</code></p>
<p>The database must have a version setting higher than 11.0.0.0.0</p>
<p><code> SQL&gt; show parameter db_securefile<br />
NAME                                 TYPE        VALUE<br />
------------------------------------ ----------- --------------<br />
db_securefile                        string      PERMITTED<br />
</code></p>
<p>There are a couple different values that will work for db_securefile, PERMITTED is the default, ALWAYS or FORCE should work as well.  If you need to change this value, run:<br />
<code><br />
ALTER SYSTEM SET db_securefile = 'PERMITTED';</code></p>
<p><strong>Step 2 &#8211; Drop and Recreate the BFILEDATA Column</strong></p>
<p>The FILESTORAGE table created by the file store provider is configured for BASICFILE support, which unfortunately will not allow us to take advantage of any of the new BLOB features.  Also unfortunate is that it appears the only way to enable SecureFiles is to drop and recreate the BLOB column.  </p>
<p>Since I&#8217;m just using my local laptop, this isn&#8217;t really a big deal for me as my table is empty.  Where I am going with this is that in these next few steps you could loose data if you&#8217;ve already stored it in the FILESTORAGE table&#8230;so be careful.  Take a back up and if you&#8217;re using JDBC storage move you data somewhere else first.</p>
<p>As the UCM user drop the existing BFILEDATA BLOB column:</p>
<p><code>alter table FILESTORAGE drop column BFILEDATA;</code></p>
<p>Now add the column back only this time using the SECUREFILE Store As identifier:</p>
<p><code>alter table FILESTORAGE<br />
add ("BFILEDATA" BLOB)<br />
LOB ("BFILEDATA") STORE AS SECUREFILE filestorageblob(<br />
TABLESPACE "UCM_SYSTEM" ENABLE STORAGE IN ROW CHUNK 8192<br />
STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645<br />
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT));<br />
</code></p>
<p>So what we&#8217;ve done is removed the old BLOB field(which was originally configured as a BASICFILE and replaced it with a BLOB configured for SecureFile support.  Even though that&#8217;s set, we still aren&#8217;t taking advantage of new features.  That will require a couple modifications to the column.</p>
<h3>Compression</h3>
<p>SecureFile compression comes in a couple different flavors; None, Medium or High which correspond to the level of compression applied to the field.  SecureFile compression is completely separate from any table or index compression in place already, so if you compress the BLOB it&#8217;s just the BLOB nothing else.  You&#8217;ll want to think about performance some when setting compression, as there should be an increase in latency and also CPU utilization when enabled.</p>
<p>Compression can be added with any of the following:</p>
<p><code> alter table FILESTORAGE<br />
modify LOB("BFILEDATA") (<br />
COMPRESS HIGH<br />
);</code></p>
<p><code>alter table FILESTORAGE<br />
modify LOB("BFILEDATA") (<br />
COMPRESS MEDIUM<br />
);</code></p>
<p>Or removed with this one</p>
<p><code>alter table FILESTORAGE<br />
modify LOB("BFILEDATA") (<br />
NOCOMPRESS<br />
);</code></p>
<p><strong>Encryption</strong></p>
<p>SecureFile encryption adds an additional layer of security to your database by encrypting your BLOB files while they reside in the Oracle data file.  The encryption is designed to prevent unauthorized access to the BLOB in case someone gets their paws on your data files.  I have to admit that this one seems like a little bit overkill considering that like compression, encryption will cause a cpu and latency hit.  I guess I just don&#8217;t think that many data files are getting hacked, but I could be wrong.</p>
<p>Enabling encryption requires adding a new folder named wallet to the database&#8217;s admin folder.</p>
<p><code> /oracle/product/database/admin/wallet<br />
</code></p>
<p>Then log in to the database as sysdba and run:</p>
<p><code> ALTER SYSTEM SET WALLET OPEN IDENTIFIED BY "[your password here]";<br />
</code></p>
<p>Reconnect back with your UCM account and update the BLOB:</p>
<p>Add encryption<br />
<code><br />
ALTER TABLE FILESTORAGE<br />
MODIFY LOB("BFILEDATA")<br />
(ENCRYPT USING 'AES256');<br />
</code><br />
Remove it<br />
<code><br />
ALTER TABLE FILESTORAGE<br />
MODIFY LOB("BFILEDATA")<br />
(DECRYPT);<br />
</code></p>
<h3>Deduplication</h3>
<p>Deduplication may be the most clever feature included in SecureFiles.  Each file checked in to a BLOB field is compared against the others, if the new file is a duplicate, only a pointer to the original is stored.  Of course you as the user never knows the difference.  Query either row and the file is returned.</p>
<p>The thing that is really cool about deduplication from a UCM perspective is that very often UCM actually stores duplicate files.  In addition to user&#8217;s checking in the same file twice, quite a few file formats are simply copied over to the web layout folder.  If you&#8217;re running both your vault and weblayout from the JDBC Filestore provider, even if the file type is configured to be copied out to the weblayout it will only be stored once in the database.</p>
<p>Adding the deduplication is pretty easy:</p>
<p>Enable deduplication<br />
<code><br />
ALTER TABLE FILESTORAGE<br />
MODIFY LOB("BFILEDATA") (<br />
  DEDUPLICATE<br />
);<br />
</code></p>
<p>Disable it</p>
<p><code> ALTER TABLE FILESTORAGE<br />
MODIFY LOB("BFILEDATA") (<br />
  KEEP_DUPLICATES<br />
);</code></p>
<p><strong>That&#8217;s it</strong></p>
<p>As you can see there are quite a few options when it comes to configuring SecureFiles in general, but the integration with UCM is actually pretty simple.  I ran through a couple test check ins while writing this post(some of the items being images that went though the refinery) all of which went though smoothly, though a little slower than a standard filesystem check in.  I plan on leaving my local server with this configuration for some time, so we&#8217;ll see how it goes. </p>
<h3>References</h3>
<p><a href="http://www.liberidu.com/blog/?p=264">www.liberidu.com</a></p>
<p><a href="http://www.oracle-base.com/articles/11g/SecureFiles_11gR1.php">www.oracle-base.com</a></p>
<p><a href="http://www.derkeiler.com/Mailing-Lists/securityfocus/bugtraq/2006-01/msg00309.html">www.derkeiler.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://contentoncontentmanagement.com/2008/04/oracle-11g-secure-file-features-with-oracle-ucm/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.452 seconds -->
