<?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>kominetz &#187; Aspects</title>
	<atom:link href="http://kominetz.com/tag/aspects/feed/" rel="self" type="application/rss+xml" />
	<link>http://kominetz.com</link>
	<description>Software, Technology, Productivity</description>
	<lastBuildDate>Fri, 13 Aug 2010 02:47:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Beating a Dead dmHorse</title>
		<link>http://kominetz.com/2010/08/12/beating-a-dead-dmhorse/</link>
		<comments>http://kominetz.com/2010/08/12/beating-a-dead-dmhorse/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 16:23:15 +0000</pubDate>
		<dc:creator>john.kominetz</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Aspects]]></category>
		<category><![CDATA[BOF]]></category>
		<category><![CDATA[DFC]]></category>
		<category><![CDATA[DMCL]]></category>
		<category><![CDATA[Documentum]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[quality]]></category>

		<guid isPermaLink="false">http://kominetz.com/?p=861</guid>
		<description><![CDATA[My response to Pie&#8217;s Quality of Documentum Over the Years bears repeating, even if I am beating a dead dmHorse: I started with version 2, back when I was just a newly-minted UNIX geek. One thing you missed with the &#8230; <a href="http://kominetz.com/2010/08/12/beating-a-dead-dmhorse/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_862" class="wp-caption alignright" style="width: 310px"><a href="http://kominetz.com/wp-content/uploads/2010/08/1268416725-puppies.jpg"><img class="size-medium wp-image-862" title="Puppies!" src="http://kominetz.com/wp-content/uploads/2010/08/1268416725-puppies-300x240.jpg" alt="Puppies!" width="300" height="240" /></a><p class="wp-caption-text">Don&#39;t google &quot;dead horse&quot; for images.</p></div>
<p>My response to Pie&#8217;s <a title="Quality of Documentum Over the Years -- wordofpie.com" href="http://wordofpie.com/2010/08/03/quality-of-documentum-over-the-years/#comment-19463">Quality of Documentum Over the Years</a> bears repeating, even if I am beating a dead dmHorse:</p>
<p>I started with version 2, back when I was just a newly-minted UNIX geek.  One thing you missed with the transition to 4i was the introduction of the DFC.  DMCL had a very UNIX feel; a simple, open API designed to be glued into any programming language. DFC was just Java then, with a COM layer growing over it later. That was also the point where EMC became more marketing-driven and started chasing the Internet bubble at the expense of their existing clients.</p>
<p>Both were attempts to capitalize on hot topics of the time, Java and the Web. I never bought that the DFC would make a whole pool of talent available; Documentum&#8217;s about the model, not the means. However,  the marketroids successfully reframed it. Hiring managers now believe they can take Java people and mold them into Documentum people, and I hear gasps of disbelief when I say Java or Visual Studio aren&#8217;t requirements to do Documentum&#8211;a good Java programmer is not necessarily a good Documentum developer.</p>
<p><em>This Java mentality did increase the number of people with Documentum on their resumes, but the talent didn&#8217;t increase as much as the volume. It just diluted (maybe also tainted) the pool. It became harder to find good people in the now-mirky waters.</em></p>
<p>The lack of focus then is what brings us to the lack of quality now. Innovation at the model and server level is rare, and frankly I don&#8217;t give Documentum much geek cred anymore because of it. Great ideas like BOF and Aspects are stapled into an API rather than made an inherent part of the product. Too much work up the stack (and on vertical solutions) has made the product top-heavy and tottery. EMC continues to chase markets (i.e., case management) rather than concentrate on making a solid core product.</p>
]]></content:encoded>
			<wfw:commentRss>http://kominetz.com/2010/08/12/beating-a-dead-dmhorse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Aspect of My Disappointment</title>
		<link>http://kominetz.com/2008/02/28/the-aspects-of-my-disappointment/</link>
		<comments>http://kominetz.com/2008/02/28/the-aspects-of-my-disappointment/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 21:39:30 +0000</pubDate>
		<dc:creator>john.kominetz</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Aspects]]></category>
		<category><![CDATA[D6]]></category>
		<category><![CDATA[Documentum]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[jython]]></category>

		<guid isPermaLink="false">http://kominetz.com/2008/02/28/the-aspects-of-my-disappointment/</guid>
		<description><![CDATA[I found EMC&#8217;s webinar, Leveraging Composer and Aspects, informative given the format and one hour time limit. Composer is the Eclipse plug-in and looks good overall. An aspect is a software design technique which could revolutionize Documentum data architecture. How &#8230; <a href="http://kominetz.com/2008/02/28/the-aspects-of-my-disappointment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I found EMC&#8217;s webinar, <em>Leveraging Composer and Aspects</em>, informative given the format and one hour time limit.  Composer is the Eclipse plug-in and looks good overall.  An <a href="http://en.wikipedia.org/wiki/Aspect_%28computer_science%29" title="Aspect (Computer Science) -- wikipedia.org" target="_blank">aspect is a software design technique</a> which could revolutionize Documentum data architecture.  How EMC implemented aspects, however, repeats their architectural mistake with DBOF.  Oh well.</p>
<p>Composer looks competently-enough done to be a welcome replacement to the persnickety Documentum Application Builder (DAB).   The look and feel (and clutter) is pure Eclipse&#8211;no sexy Apple minimalist influence here.  The win here is one-stop shopping:  Developers won&#8217;t split their attention (nor workstations their resources) across two programs.  That&#8217;s definitely a Good Thing.</p>
<p>Aspects in theory are great.   They allow per-instance extension of both state and behavior, so objects get what they need when they need it.  The reduction in type bloat alone is worth it.  There&#8217;s no need for all those &#8220;optional attributes&#8221; just in case a particular instance becomes a document of record or gets included in a submission.  Fabulous.  In happy wonderful fantasy land, I&#8217;d scrap dm_document completely for a true lightweight object, then staple on versioning, lifecycles, web content, retention, and whatever as needed.</p>
<p>Aspects bring some real architectural benefits, too.  Adding an aspect at runtime doesn&#8217;t require ALTER TYPE activity which can crap out the database on some really big (or really underpowered) docbases.   Older docbases will also benefit from this easy way to add <em>and remove</em> new functionality without the potential dangers of hacking around the existing type hierarchy.  Documentum architects now have a built-in way to do composition, a technique that is largely replacing inheritance in OOP design theory because it keeps the design open and adaptable.</p>
<p>Aspects in practice aren&#8217;t so great.  My fear that aspects would use the DBOF model of requiring Java code client-side has been confirmed, although they made an effort to minimally support DQL since attributes are involved.  (No word on DQL limitations imposed by aspects yet.)  Turning the docbase into a JAR pusher has improved the deployment situation, but it&#8217;s still pushing functionality too far up the stack for my liking.  More moving parts mean more things can fail, get out of sync, or confound.</p>
<p>This design flaw will persist for as long as EMC is swinging their Java hammer, even on screws like scripting. Perhaps <a href="http://developer.emc.com/developer/articles/using_jython_with_dfc.htm" title="Using Jython to connect ... -- developer.emc.com" target="_blank">EMC catching onto jython</a> a few months back means they&#8217;re reaching back into the toolbox.  Funny how they had to make a simple script look so big with all the extraneous print statements&#8211;very Java of them.  If only there were another way to pass messages from a client to Documentum without the DFC.  Hmmm.</p>
<p>Here&#8217;s what I&#8217;m thinking:  All custom client applications and integrations should use DFS going forwrd&#8211;assuming it doesn&#8217;t have its own issues.  DFC programming should be restricted to the uber-server, that big  box drawn around the <em>real</em> docbase servers, webtop servers, DFC servers, full-text indexing servers, site caching servers, etcetera.  Only push DARs&#8211;yes, they had to go there&#8211;to Documentum application servers.  What goes on in the uber-server stays in the uber-server&#8211;including every single line of DFC code.</p>
<p>Aspects are too useful to discount for a few architectural missteps&#8211;as long as you&#8217;re careful where you walk.</p>
<p>Tech Deep Dive:  Exploring Documentum Architecture &#8212; Leveraging Composer and Aspects<br />
Available soon on <a href="http://www.emc.com/events/ondemand-events.esp" target="_blank" title="EMC Events On Demand">EMC Events On Demand</a> (developer access may be required)</p>
]]></content:encoded>
			<wfw:commentRss>http://kominetz.com/2008/02/28/the-aspects-of-my-disappointment/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
