Content Solutions Architecture
Whether vendors like it or not, it's obvious that customer demand is driving business. The good news for vendors though is that when it comes to managing content, customers across the board increasingly demand very similar things.
It's certainly important to break down the customer needs into the various roles of responsibility, such as content contributors and administrators, or IT administrators or Management. In many regards again though, the needs for all these groups are very similar: In the end, information is only valuable when it's of high quality, comes in the right format to be used and is accessible, as well as protected from unauthorized access, if necessary. However, it should also be easy and fast to access. Time is money after all, and the user experience is by now an important decision-making factor when selecting the right content solution.
So far so good - all sounds easy and straight-forward. But let's look into more detail about how these demands cause challenges and can even contradict each other:
Scalable Solutions,
what does that mean? It certainly includes the aspect that the server setup should allow to scale up performance as access demands increase. It is typically implemented with a so-called "n-tier" architecture, which in the case of SharePoint looks somewhat like this (Figure 1).
Load-balancing and Clustering are standard in an n-tier architecture, but they need to be supported by each individual component of the solution, be it the back-end databases, the web frontend servers, or any of the application servers that serve specific needs or content types.
What this setup should deliver is what customers want: access to all content whenever they need it – Guaranteed Availability of Content.
Of course there are many other factors which need to be considered, such as the bandwidth on networking connections etc. This article does not intend to provide a complete run-down, but rather points at the core challenges and its dimensions when setting up a content solution.
It is easy to understand that it requires significant effort and resources from the IT department to set up such a scalable server solution. So it'is quite obvious that, typically, IT will resist the demands to implement individual solutions for each content type to be separately managed. It simply makes more sense to centrally solve all content solutions.
Security usually means two things: preventing unauthorized access, but also that it should be easy to make changes to the overall authentication system. Otherwise, content can become inaccessible because it's practically too difficult to give someone access.
Administrating access to an encompassing portal usually requires a hierarchical approach to managing the IT side of access and overall authentication providers, as well as allowing potential further breakdown into multiple levels of content administration.
So while the IT guys wrestle with fundamental authentication systems providing Active Directory, LDAP or Single-Sign-on functionality, the content administrators have to decide who takes what kind of role and who gets to make what kind of exceptions to the rule.
SharePoint - just like pretty much every other system of scale - comes with a bit of a challenge to comprehend the whole authentication concept and, of course, with the usual minor setup issues that makes software administration into an adventure game. But once you're past that, it's pretty straight forward and efficient to delegate control and to provide access.
It needs to be mentioned that, by default, access privileges are inherited top to bottom. Just that - and of course with the precondition that you choose a good role-based access to start with - eliminates a lot of setup needs right from the start.
Notably, the latest SharePoint generation - Windows SharePoint Services 3 which is the basis of the commercial products known by the acronym MOSS 2007 (Microsoft Office SharePoint Server 2007) - has a lot of significant improvements, when it comes to Authentication. E.g., it's important to mention that SharePoint finally has single item-level granularity. So, whenever you need to give access to one asset for that one person, it's now a simple procedure.
Microsoft states that they run SharePoint for all their thousands of site collections. That's implicitly the best proof of concept that the Authentication concept Microsoft has implemented is scalable – Protected Content, but also Practical Access
Especially when it's so easy to give access to assets and making exceptions to the rule, it becomes important to monitor who has accessed what. As a much appreciated side-effect, it can help with analysis to improve site performance, but also to serve any regulatory demand that bureaucracy might impose on you.
The commercial MOSS 2007 products include records management functionality that actually makes sense way beyond the traditional audit capabilities which facilitate Transparency for Managers on office documents like contracts and financial sheets. The Information Management Policy Settings in MOSS 2007 allows to audit centrally or on a more granular level, on what content was accessed, or when it is scheduled or will expire. This functionality is just as valuable on other assets, like images, too.
Certainly, some typically very large companies might have to go with an even more complex and expensive system to cater to bureaucratic demands, but most mid-size businesses should be well-served with this fundamental records management functionality, providing the required Compliance.
Streamlined Workflow & Business Process Automation are probably the most significant improvements in the latest SharePoint releases, although to be more precise: the Windows Workflow Foundation (aka WF) is not directly tied to SharePoint, but
actually comes as one of three major new components in ASP.NET 3.0 (along with the nifty Windows Presentation Foundation and the Windows Communication Foundation). Many users of previous SharePoint versions had demanded workflow functionality, and Microsoft delivered with WSS3.
We'll cover Workflow in more detail in the next section of this 6 part article, but it needs to be said that Microsoft has, for once, chosen a proper name for its workflow technology (the author of this article is usually up in arms about the naming decisions with Microsoft products and technologies!): it's a true foundation, meaning that conceptually it has quite some depth and breadth like persistance, compensation and many other techniques you'd expect. On the other hand it's by no means a complete commercial workflow product. E.g. feedback has already outlined demand in several directions. But this is where Microsoft can realistically count on ISVs and System Integrators to fill the gaps for customers and create business by utilizing the SharePoint platform.
By now customers have understood that streamlining workflow and to make employees work more efficiently together is, in most cases, the best way to aim at major Significant Efficiency Improvements.
Standards are natural demands these days. Nobody can afford to run several different systems of the same kind. IT will always try to standardize on one kind of database, and the same reasons also apply to choosing a version control system to hold all documents, assets and content. Now that workflow is finally becoming a mainstream application, it's easy to see that also one workflow engine and one set of communications and services standards are all one would want.
Certainly it isn't possible and realistic that all information can be stored in one system, but there is the need to keep the overall number of systems that then have to be connected as low as possible.
Between the various systems used, there are now two possibilities to harmonize the separate systems and make their data available in custom personalized portals: either an Enterprise Content Management system like SharePoint provides the integration with the leading Line of Business systems and makes them transparently available, or expensive integration between these systems has to be developed or rented through Integration as a Service (IaaS).
In any case, it doesn't take a Ph.D. to understand that a central ECM solution managing at least several of the content solutions like WCM or records management etc. leads to a Lower TCO (Total Cost of Ownership)
Simplicity, the need that's always there for everyone (ok, maybe except for the die-hard command-line programmers!) seems to be traded off in the n-th revision of a product in exchange for another 150 features. With the latest SharePoint release however, Microsoft has delivered a reasonably well-designed system. It serves well as a platform because it implements individual and consistent concepts and an overall architecture. Consistency alone is usually a big plus when aiming at Simplicity. Whether one manages the settings for a document library or a slide library, or whether a page needs to be approved or an image altered, the same procedures and similar interface are being used. That helps!
It's now up to ISVs and System Integrators to enhance the user interface with the newly released AJAX interfaces, or similar toolboxes from ISVs to enhance SharePoint's user interface, to deliver complete content solutions, and create a compelling User Experience.