EMC Documentum and Microsoft SharePoint reveal a vast divide in both resolve and vision.
EMC will tell you that Documentum is the obvious choice for enterprise implementations managing very large data and content inventories. EMC begins in the basement (with disk and server) and provides infrastructure that content-able implementations can exploit for the end-users benefit. Documentum is first and foremost a server backend, independent of any given UI framework and can be viewed as a content aware RDBMS layer above the traditional data layer.
Microsoft developed SharePoint from the user back to the server. SharePoint is indeed an interface first and provides platform architecture designed to support the experience. Not surprisingly, the nuts and bolts of SharePoint rely on other Microsoft technology to perform. SQL server with the addition of file streams is somewhat equivalent to the EMC Documentum Content Server role. SharePoint however achieves the functionality in a single scalable layer as opposed to two in the Documentum world.
Business Logic
A few years ago EMC Documentum held the crown for providing best in class business logic integration via the Business Object Framework that allows integrators (consultants) to write and register specific Java classes to execute business specific (non-Documentum) logic triggered by library services events (save, write, lock, view, etc…). The BOF capability allowed implementations to directly extend the Documentum DFC API and is quite efficient.
SharePoint business logic is largely workflow driven and much more asynchronous in nature than the EMC BOF layer. Lately improvements in .Net and Microsoft SharePoint’s best friend K2 has begun to fully exploit the SharePoint vision and much more synchronous “composition” based business logic can be applied to event triggers specific to content type items, lists and webs in a fashion that does NOT require a heads-down programmer to create or maintain. Again, the implementation starts with the experience and the time a user spends extending SharePoint functionality is largely spent working through the consumption tool (Browser).
Documentum’s answer lies in the newish Process Engine and UI. Process Engine introduces the ability to perform no-code workflows (aka K2) that are (or at least can be) event driven and defined visually through a thick windows client. Future releases will be optimized to provide a more synchronous execution of successive automatic workflow activities and in time the functional offering will be a competitive K2 alternative. Due to the close relationship between K2 and Microsoft I don’t think we will ever see a Documentum compatible offering although this would provide great benefit to many clients.
Cloud Capability
Without doubt Microsoft SharePoint, especially 2010, is the clear leader with regard to “cloud-ability”. There is no shortage of hosting partners providing both SharePoint and Exchange in a multi-tenant environment for extremely low customer investment levels. Microsoft itself is hosting Exchange, SharePoint, Live Meeting, Communicator, and Dynamics CRM at incredible monthly per-user rates. From experience trying to offer Documentum Services in an operational model (no capital expense) to clients is an impossible challenge with regard to turning a profit. The largest stumbling block is not the sales model either (although change is needed). But rather the server architecture is not written with the cloud in mind. Microsoft on the other hand is now releasing Office/SharePoint 2010 expressly to improve (if not completely mature) the cloud model.
Virtualization is the Foggy Future
Only time will tell, but if history is a reliable forecast, EMC needs to be thinking complete rewrite. It’s time to reorganize the very good server and client functionality into a softer cloud focused architecture. As customers continue to strive to reduce operating costs the current trend to virtualize server infrastructures with VMWare and Hyper-V will move to a more cloud like implementation when we will finally let go of the server mentality. Within 3 years I would be surprised to see large companies accept new software that must be provisioned at a server layer.
With the upcoming release of SharePoint 2010 and Access 2010 the barrier to complex application development in the SharePoint platform will be simplified to point and click. Do you remember the days when an access DB could satisfy departmental solution needs? Those days are returning in 2010 and carry significant advantages to those who opt for SharePoint Online.
Simply building out application and complex reporting in Microsoft Access 2010 will yield the ability to “release” the data model, forms, etc… into SharePoint at the click of a mouse. Stay tuned for your IT costs to be reduced!
Below is an excerpt for the Access 2010 online help entry regarding “Web Databases” (aka SharePoint Applications):
Build a database to share on the Web
You can use Access Services, a new component of SharePoint, to build web database applications. This helps you:
Secure and manage access to your data
Share data throughout an organization, or over the Internet
Create database applications that don’t require Access to use
This article provides an overview of how Access Services works, and introduces you to web database design. For an introduction to desktop databse design, see the article Database design basics.
Overview
Access Services provides a platform for you to create databases that you can use on the Web. You design and publish a web database by using Access 2010 and SharePoint, and people use the web database in a Web browser.
How it works
When you publish a web database, Access Services creates a SharePoint site that contains the database. All of the database objects and data move to SharePoint lists in that site.
Note To build a web database, you need Designer permissions on the SharePoint site where you want to publish it. For more information about SharePoint permissions, see the See Also section.
Forms and reports run in the browser
Forms, reports, and UI macros run inside the browser. This lets Access refresh data on the screen without having to redo the whole page.
You can create a form to help people navigate your application. A new control, the Navigation control, makes it easy to add standard Web-style navigation buttons to a form for this purpose.
Note The Navigation Pane (the feature that you use in Access to browse the objects in a database) is not available in a Web browser.
Data is stored in SharePoint lists
All of your tables become SharePoint lists, and records become list items. This lets you use SharePoint permissions to control access to your web database.
Queries and data macros run on the server
All SQL processing happens on the server. This helps improve network performance by limiting traffic to result sets.
Share on the Internet
You can use SharePoint Online to publish your web database to the Internet. SharePoint Online is an Internet-facing SharePoint deployment, hosted by Microsoft. For more information, see the See Also section.
Note This service is not available during beta.
Create a web database
This section describes key new features and provides steps for the basic design tasks you need to complete to create a web database.
Before you begin
There are a few tasks that you should perform before you start to design your web database. Moreover, there are design differences between web databases and desktop databases that you should know about, espcially if you are an experienced Access developer.
Determine the purpose of your database Have a clear plan so you can make good decisions when working out design details.
Find and organize the information required If you line up your data before you start designing, you can avoid having to refit your design to accommodate unexpected data challenges.
Identify the SharePoint site you will use to publish You cannot publish at all without SharePoint. If you want to test your design in a browser while you design it (not a bad idea), you have to publish it first.
Plan your security You can take advantage of SharePoint security to control access to your web database. Plan security early so you can build it into your design.
Design differences between desktop and web databases
Some database features that you can use in a desktop database are not available with Access Services. However, there are new features that support many of the same scenarios as these desktop-only features. If you are used to using one of these features, you should familiarize yourself with the ways these new features work.
The following table lists the desktop-only features, and the new feature that helps support the same scenario.
Scenario
Desktop-only feature
New feature
Designing database objects
Design view
Enhanced Datasheet view; Layout view
Reviewing summarized data, such as sums, averages, and groups
Group functions
Data macros
Programming events
VBA
Data macros; New macro design experience with Intellisense
Looking up a record and display it in a report
Lookups
Navigate to a database object
Navigation Pane
Navigation control or other form element
Desktop-only features with no Access Services counterpart
Union queries
Crosstab queries
Overlapping controls on forms
Table relationships
Conditional formatting
Various macro actions and expressions
Note You can create many client objects in a Web database, but you cannot use them in a browser. however, they are part of the Web database and can be used in Access 2010 on the desktop. People can open the Web database in Access, and then use the client objects. This is an effective way to share a database, and also opens new opportunities for working together over the Web. SharePoint handles any concurrency issues.
Consider using a template
When you have determined what your application must do, consider whether a database template would work. Database templates are pre-built applications that you can use as-is or modify to suit your particular needs.
You can review the available templates from the New place in Backstage view. For more information about the templates that come with Access 2010, see the article Introduction to the Access 2010 templates.
Get started with a blank web database
Click the File tab, and then click New.
The File tab opens Backstage view, a new part of the Access interface where you’ll find commands that apply to an entire database, such as Publish to SharePoint. When Backstage view is displayed, the File tab label changes to Back.
In Backstage view, the New tab has commands for creating a database.
Under Available Templates, click Blank Web Database.
Review the proposed file name in the File Name box, and the path for the database file, listed just below. You can change the file name by typing in the File Name box.
To change the path, click the folder icon next to the File Name box to browse for a location to put your database file.
Click Create. Your new web database opens and displays a new empty table.
Design a Web table
Note You use Datasheet view to design a Web table.
When you first create a blank web database, Access creates a new table and opens it in Datasheet view.
After you modify and use the new table, you’ll most likely want to create more tables.
Create a new Web table
With your web database open:
On the Create tab, in the Tables group, click Table.
Select the field that has formatting and properties that you want to set.
On the ribbon, click the Modify Fields tab.
Use the commands in the Formatting and Properties groups to change the settings.
Add a calculated field
You can add a field that displays a value that is calculated from other data in the same table. Data from other tables cannot be used as the source for the calculated data. Some expressions are not supported by calculated fields.
Select a new, empty field.
On the ribbon, click the Modify Fields tab.
In the Fields & Categories group, click Calculated Field.
The Expression Builder opens.
Use the Expression Builder to create the calculation for the field. Remember that you can only use other fields from the same table as data sources for the calculation. For Help using the Expression Builder, see the article Use the Expression Builder.
Set up data validation rules
You can use an expression to validate input for most fields. You can also use an expression to validate input for a table, which can be handy if you want to validate input for a field that does not support validation, or if you want to validate field input based on the value of a different field.
You can also specify the message that is displayed when a validation rule prevents input, known as a validation message.
Set up a field validation rule and message
Select the field to which you want to add a validation rule.
On the ribbon, click the Modify Fields tab.
In the Validation group, click Field Validation, and then click Validation Rule.
The Expression Builder opens.
Use the Expression Builder to create your validation rule. For Help using the Expression Builder, see the article Use the Expression Builder.
In the Validation group, click Field Validation, and then click Validation Message.
Type the message that you want to display when input data is not valid, and then click OK.
Set up a table validation rule and message
Open the table to which you want to add a validation rule.
On the ribbon, click the Modify Fields tab.
In the Validation group, click Table Validation, and then click Validation Rule.
The Expression Builder opens.
Use the Expression Builder to create your validation rule. For Help using the Expression Builder, see the article Use the Expression Builder.
In the Validation group, click Table Validation, and then click Validation Message.
Type the message that you want to display when input data is not valid, and then click OK.
Create a relationship between two Web tables
To create a relationship in a web database, you use the lookup wizard to create a lookup field. The lookup field goes in the table that is on the many- side of the relationship, and points to the table that is on the one- side of the relationship.
Maintain data integrity by using data macros
You can implement cascade updates and deletes by using data macros.
Create a Web query
You can use a query as the data source for forms and reports. Queries run on the server, helping minimize network traffic.
For example, suppose you use a Web database to track charitable contributions. You want to see who donated money while an event was occuring. You could use a query to select the data and prepare it for use in forms and reports.
Note This procedure uses the charitable contributions template as an example. You can follow along if you create a new database by using the charitable contributions database template.
On the Create tab, in the Other group, click Web Query.
In the Show Table dialog box, double-click each table that you want to include, and then click Close.
In this example, double-click Constituents, Donations, Events, and EventAttendees.
Create any required joins by dragging fields from one object to another in the query design window.
In this example, drag the ID field from Constitutents to the DonorConstituentID field in Donations, and then drag the DonorConstituentID field from Donations to the ConstituentID field in EventAttendees.
Add the fields that you want to use. You can drag the fields to the grid, or you can double-click a field to add it.
In this example, add Event from the table Events, DonationDate from the table Donations, and Greeting, FirstName, and LastName from the table Constituents.
Add any criteria that you want to apply.
In this example, you want to limit DonationDate so that it falls between the StartDate and EndDate of the event. In the query design grid, in the Criteriarow under DonationDate, type >=[StartDate] And <=[EndDate].
Create a Web form
Forms are the main way to enter and edit data in your Web database, and are also useful for reviewing data. Forms run in the browser, helping optimize performance. When you open a form, your browser gets the required data from the SharePoint server. You can filter and sort the data in the form without needing to get data from the server again.
Tip For best performance, limit the records retrieved by your main forms and reports.
Select a table or query to use as a data source.
Note If you want to create an unbound form, skip ths step.
On the Create tab, in the Forms group, click one of the following buttons:
Form Create a simple form that shows one record at a time, using the object you selected as a data source.
Note If you are creating an unbound form, this button is not available.
Multiple items Create a form that shows multiple records at a time, using the object you selected as a data source.
Note If you are creating an unbound form, this button is not available.
Blank form Create a form that has nothing on it.
Datasheet Create a form that looks and behaves like a datasheet, using the object you selected as a data source.
Note If you are creating an unbound form, this button is not available.
Create a Web report
Reports are the main way to review or print data from your Web database. Reports run in the browser, helping optimize performance. When you open a report, your browser gets the required data from the SharePoint server. You can filter and sort data in the report without needing to get data from the server again.
Tip For best performance, limit the records retrieved by your main forms and reports.
Select a table or query to use as a data source.
On the Create tab, in the Reports group, click one of the following buttons:
Report Create a basic report using the object you selected as a data source.
Blank Report Create a report that has nothing on it.
Create a Navigation form
People need a way to navigate your application. Remember — the Navigation Pane is not available in a Web browser. For people to use your database objects, you must provide them a means. You can create a Navigation form and specify that it be displayed whenever someone opens your application in a Web browser.
Tip You may want to wait until last to create your Navigation form, so you can add all your objects to the form when you create it.
On the ribbon, click the Create tab.
In the Forms group, click Navigation, and then select a navigation layout from the list.
To add an item, drag it from the Navigation Pane to the Navigation control.
Note You can only add forms and reports to a Navigation control.
Add any other controls that you want to the body of the Navigation form. For example, you might want to provide search functionality across all forms by adding a few controls to your Navigation form.
Publish and synchronize changes to your application
Before you publish a Web database, consider running the Compatibility Checker. The Compatibility Checker examines your database objects for issues that would prevent them from publishing correctly. If no issues emerge, the Compatibility Checker reports that your database is Web-compatible. If problems are discovered, the Compatibility Checker creates a table that lists the issues.
Click the File tab.
Under Information about database_name, click Run Compatibility Checker.
Publish a Web database
Click the File tab, and then click Share.
Under Special locations, click Publish to SharePoint.
In the middle of the tab, under Publish to SharePoint, fill in the following:
In the Web Locationbox, type the Web address of the SharePoint server where you want to publish your database. For example, http://Contoso/.
In the Web Application Name box, type a name for your Web database. This name will be appended to the Web Location to produce the URL for your application.
For example, if the Web Location is http://Contoso/ and the Web Application Name is CustomerService, the URL is http://Contoso/CustomerService.
Click Publish to SharePoint.
Synchronize a Web database
After you make design changes or take a database offline, you eventually want to synchronize. Synchronizing resolves differences between the database file on your computer and the Web application on the SharePoint server.
I can remember dealing with clients that were struggling with over 100 Lotus Notes/Domino servers just to keep basic collaboration and email up and running… These same clients were installing 40Meg thick clients to access the proprietary dinosaurs that were increasingly strangling their IT departments and slowing response to business needs. Sad, scary stories that led to many career “changes” in those organizations. Microsoft Business Productivity Online Services provides messaging, collaboration, customizable workspaces and infrastructure while promising:
“Microsoft® Online Services is built on the pillars of streamlined communication, simplified IT management, and business-class security and reliability. Each pillar supports the overall value that customers get: rich, flexible, reliable, and secure online communication and collaboration services that simplify IT management and support enhanced user productivity and business agility.
We’re ready to support your customers, wherever they want to take their business. Our stable and dedicated data center infrastructure can scale dynamically to meet their additional capacity requirements.” — Microsoft.
Very intriguing future for us all…. Is BPOS the new Web 2.0 Operating system? This is where I intend to move my business back end so that my current servers can be re-deployed for component and hosted complimentary web service offerings. Over the next few months I will post on our progress in this move. Stay tuned.
See my notes below for an early take on new and updated SharePoint features. More important than the individual changes is the effect the release will have on the IT industry as a whole. With MOSS 2007 Microsoft pushed deep into the composition model (meaning the users build their own IT). To some extent they were successful as many adopters have grown their SharePoint intranets into large sprawling information-scapes. The downside is that the implementation methodologies across the plethora of site collections varies widely even among sites owned by the same corporate departments.
SharePoint 2010 provides the necessary infrastructure improvements to solve the issue of unbridled growth (nice to know where the horse is headed too). Properly implemented, SharePoint 2010 should allow large and small companies to create thousands of sites and collections that all share a consistent data model. What happens when products are capable of providing infrastructure and implementation frameworks for companywide IT? IT departments shrink as support and SME needs are consolidated around the new user driven technology. This phenomenon will hold true as long as the new implementations are capable of being centrally governed. Microsoft thinks so too and has included new central administration capabilities in the product. Hold on to your hats everyone, this is going to be an interesting ride that will move your business model whether you like it or not (and that’s a good thing). » Read more: SharePoint 2010 is a Mover and a Shaker
Many PHP based CMS tools are now available for hosted web applications and provide many of the basic features found in SharePoint and Documentum WebTop. While it isn’t surprising to see folks attempt to build out a high quality, feature rich, affordable solution these days, there is an interesting twist on the story. Most of the open CMS tools have focused more on “composition” capabilities rather than extending core library services. In a nut shell, today you can register a domain, pay for hosting, select one of many CMS tools pre-installed by the host provider and create your web presence or application by simply clicking through the UI. Let’s equate “Composition” with “No-Code Solution”. » Read more: Free CMS Tools are Changing Client Expectations…
Drive innovation and efficiency into your business with Business Productivity Online Suite (BPOS) from Microsoft and support from EAC’s proven industry professionals [read more]