(There really is a prize inside but to find it you have to read to the end of this entry)
One of the nicest things about writing about technology, especially new technology (or a new release), is talking to people who will eventually use it (as developers or architects, that is.) I get to see their eyes light up, their voices inflect, and watch them become energized- it's as if they've just been handed a new toy or a long overdue answer to a prayer.
I've been talking to folks about Documentum 6. What does it offer that previous versions did not? This is the first of four superficial, developer-oriented posts based on information gathered after EMC World 2007.
New in D6 Part 1
Aspects for Documentum:
I watched a friend's face go from bored to COOL! when the subject was mentioned at the EMC-CMA Conference in April.
What are ASPECTS? Before defining them in Documentum terms, here's what Wikipedia says about them in general terms:
In software engineering, the programming paradigms of aspect-oriented programming (AOP), and aspect-oriented software development (AOSD) attempt to aid programmers in the separation of concerns, specifically cross-cutting concerns , as an advance in modularization. AOP does so using primarily language changes, while AOSD uses a combination of language, environment, and method.
Separation of concerns entails breaking down a program into distinct parts that overlap in functionality as little as possible. All programming methodologies- including procedural programming and object oriented programming require some separation and encapsulation of concerns (or any area of interest or focus) into single entities. For example, procedures, packages, classes, and methods all help programmers encapsulate concerns into single entities. But some concerns defy these forms of encapsulation. Software engineers call these crosscutting concerns, because they cut across many modules in a program.
So, what are ASPECTS in Documentum speak? Here's how they're explained on the WordOfPie blog.
"Right now, say you have an object type for project documents. You have a couple of pieces of meta-data including a Project lookup. No biggie, extend dm_document (or your enterprise document type). What if you have project emails coming in through DCO? You have to extend the dm_mail_archive type in the same manner. Thus you are managing the model in 2 places. This can get worse, but we'll stop there. With ASPECTS, you can create a Project Aspect and apply it to the types dynamically. That's right, Aspects can be applied at any time to a document, not just when a document is created."
For anyone who has any trepidation on using Aspects for Documentum when D6 is released, note that EMC has tested them out pretty well. How do I know? An insider at EMC told me that they've been using them for quite a while without a glitch.
So what's the prize. A really fun oFone, or at least the commercial for one. Check it out, I bet that you'll smile