An Overview of Content Management Framework
Frameworks are not actual solutions, but provide the tools for you to create your own solutions. Anyone who has programmed in Java knows about a framework. A Content Management Framework provides an array of tools and libraries that you can use to create an application to meet your needs. Many organizations have started investing in such frameworks, and in large, heterogeneous environments the budget is as high as six to seven figures and it takes some years to implement a solution. Some examples of such frameworks are Vignette, TeamSite, and the Python-based Zope.
Now let us see the architecture and features of a Content Management Framework developed using Java and are based on XML. You can deploy the Content Management Framework to access the content of heterogeneous data sources via one uniform transactional XML interface to build complex web and non-web applications. The Content Management Framework provides the programmer with a hierarchical XML file system that can contain the content of virtual any back-end system.
Today's web technologies build systems that provide dynamic content personalized to meet the needs of the users, so that they can make informed business decisions instead of just publishing static HTML content. The systems are faced with the difficult task of handling the ever increasing vast amount of information with greater security. Therefore, although this has nothing to do with the actual business logic of an application, the code to handle the increasing quantity and quality of the information quickly becomes a major part of such projects.
Also the information is stored in different back-end systems such as RDBMS, ODBMS, mail systems, web server, and news systems with different access methods and APIs, different data formats and different transaction models. Newly created web based information systems not only have to integrate the data from different sources, but also have to integrate existing and yet to be developed business logic, which is deployed in different environments. These are some of the problems faced by most developers. Similar code is developed again and again which has nothing to do with the actual business logic of the application. This code just provides the underlying foundation. Therefore the design and implementation of the fundamental classes often does not allow the application to scale as needed.
A Content Management Framework provides a foundation for applications, which have to deal with the above mentioned content management problems. The Content Management Framework consists of classes, which implement the infrastructure and basic functionality to provide the programmer a transactional XML Facade for the underlying data sources and a set of Application Programming Interfaces (APIs) that allows to plug-in new back-end systems. The Content Management Framework acts as the integration layer between the publishing and the database/application server back-end layer.
This Content Management Framework is based on XML. The APIs are completely XML centric. That is, XML is not just used to transfer data to/from the system, but all features, that the API exposes, are reflecting the special needs of XML and the currently available XML tools and technologies, such as DOM, SAX, XPath, parsers, etc. As the Content Management Framework is fully based on XML, this can limit the possibilities of the system but keeps the design clear and the implementation efficient. Some of the features of this Content Management Framework include hierarchial view on the content, versioning, querying, and meta data.
Management Framework provides a directory structure, which is used to
define several access paths to the data. This directory is in XML. So,
the programmer can view the entire content of one system as one big XML
document. This for example allows to search the content of different data
sources via one XPath query. Versioning does only apply to data sources
that are able to natively handle XML data, for example XML databases,
or back-end systems that support versioning by itself. XML gives the data
a hierarchical structure. Such structures are not suited for some types
of querying, for example data mining. On the other hand, XML data is well
suited to do semantically rich queries. The use of XML alone does not
enable semantic searching features. Each application provides a different
view on the content. For example, most Enterprise Information Systems
need access control and workflow features. Instead of implementing such
features in the Content Management Framework kernel, it just provides
a way to assign meta data to the actual content and a very flexible way
to check these meta data.
Latest developments in the content developments industry :