Thursday, March 20, 2008

Why JSR 170?

The Java Content Repository API (JSR-170) is an attempt to standardize an API that can be used for accessing a content repository.

Various CMSs from different vendors have been on the market for quite some time, and all of these CMSs ship their own version of a content repository. The problem is, each CMS vendor provides its own API for interacting with the content repository shipped with that vendor's CMS. This is a problem for the application developer, since he has to learn a particular vendor's API and potentially tie up his code with one particular CMS implementation.

JSR-170 tries to solve this problem by standardizing the API that should be used for connecting to any content repository. With JCR-170, you develop code by only using the javax.jcr.* classes and interfaces. This should be able to work with any JSR-170 compliant content repository.

You can think about JSR-170 as a JDBC-like API for content repositories, allowing you to develop your program independently of any particular content repository implementation. At runtime, you can configure this program to work either with a natively JSR-170 compliant content repository (e.g., Communique or Apache Jackrabbit) if your repository is not natively JSR-170 compliant (e.g., Documentum or Vignette), then you can use some kind of repository-specific JSR-170 driver that takes care of converting your JSR-170 method calls to repository-specific method calls.

The JCR-170 API has different advantages for different stakeholders in content repository space.

Developers do not have to spend time learning each vendor's repository-specific API. Instead, once she is comfortable with JSR-170, a developer should be able to work with any JSR-170 compliant content repository. In the past, developers had to make choice between a CMS with great features and poor development tools, or one with great development tools but poor features. Now that the interface between content repository and CMS applications is standardized, you can choose the best choices from both worlds.
Corporations won't have to face problem of vendor lock-in. More commonly, many corporations have more than one CMS either because different departments choose to use different CMSs in the past, or because some acquired company used a different CMS system. In the past, corporations spent a lot of money getting these different systems to interact with each other. With JSR-170, they can be assured that same application will work with all CMSs.
CMS vendors were forced to develop and maintain their own content repository implementations, which meant lots of infrastructure code. Now they can leave development of the content repository to some other vendor and concentrate more on their core competency: developing CMS applications.

Read more...

Portal Content Management

Organizations need to provide timely, relevant information to customers, partners, and employees anywhere in the world, to meet today's business requirements. Some of the hurdles that the organizations face in achieving this are IT bottlenecks, information getting lost, irrelevant and outdated information. If these problems are not looked at properly, then this will lead to escalating costs and ... erode customer satisfaction which will be a great loss for the organization. One good solution for all these problems is to create and deliver highly relevant content on a portal.

Companies can deploy a unified content and portal infrastructure to meet its business goals. This infrastructure should have tools that can unify content and infrastructure between portals to provide a consistent user experience and tools that can empower non-technical users within the organization to create, manage, and publish their own information to enterprise portals. In addition, the tools enable distribution of trusted, up-to-date, and accurate information to support multiple portal initiatives including partner extranets, and employee intranets and add content intelligence to increase the relevance and targeting of information for end users.

Problems that arise due to IT bottlenecks in the content contribution process and problems due to administrative overhead in the portal publishing process can be solved by empowering non-technical business users to contribute content to the portal. When you need to provide a unique infrastructure for the portals of partners, employers, and customers, you can unify the content and content infrastructure between portals to provide a consistent user experience. When end users need to access multiple applications and repositories for all of their content, content across enterprise applications can be integrated and delivered to accessed portals. Portal content management solutions not only empower non-technical users to within your organization to create and publish their own portal content but also ensures that the information published is relevant and personalized to serve multiple portal audiences

Some of the key benefits of portal content management include the ability to manage more content assets at lower cost, publish portal content faster and improves the reach of relevant content to the appropriate audiences. In addition, portal content management also empowers non-technical users to easily publish content on their own, increase online collaboration with partners or customers, and achieves better, faster integration of content via integrations with enterprise applications.

Portal content management software provide a simple, web-based user interface for creating and publishing content to portals, to empower non-technical, line-of-business users to create, manage, and publish their own content. The Portal content management software also provides a powerful navigation system for editing and updating content within the portal. Portal content management solutions ensure that only relevant content is delivered to each audience based on an enterprise taxonomy that drives content tagging and categorization for creation and powerful attribute search within the portal. This ensures that the content and metadata published are mapped to personalization rules created and deployed in the enterprise portal.

Powerful attribute finders of Portal content management software enable end users to easily locate content within the enterprise taxonomy that is exposed as intuitive, browseable categories in the enterprise portal. The enterprise content management platform of Portal content management software provide robust enterprise content management services such as workflow, versioning, lifecycle management, and security. Enterprise integration services provided by Portal content management solutions enable easy integration of transactional data from enterprise applications such as ERP, CRM, etc.

Read more...

Thursday, March 6, 2008

Web Services in Content Management

What is Web Services?

A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-process able format.
Web Services is another form of an RPC based communications, not completely unlike CORBA or COM+ but its platform neutral.

Steps to implement Web Services

- The service directory is a central place where clients of a web service can query for a published Web Services.
- After clients find the service, the clients have to know how to interact with the service.
Therefore, we need something explaining how to perform operations against a web services. The description will also explain the operations and message format.
- The Service Message is what the client creates to send to the web service to perform an operation.
- Lastly, there is the communication protocol to interact with the service.

Current CMS Functionality

- Library Services
Library services are similar to a library catalog system. It allows certain people to view, check out, review, view meta data, and track version of content.
- Categorization
Most CMS products allow the warehousing of classification terms for the classifying of assets. Then the CMS will store the terms in the library system as meta data.
- Search
This is the mechanism that allows the users to find CMS assets.
- Distribution
This is where many of the products on the market differ. Some product deploys content, to a file system. Others can deploy content to a database. Yet some others can replicate content to a proprietary caching system. Then of course some products perform a mixture of the previous.
- Workflow
Most products have some sort of workflow sub system to allow content creators and managers to implement some sort of business process around their CMS assets. Here some products have a very robust workflow engine and others have very simple engines.
- Transformation
Lastly, most content management systems allow for transformations of content. Either converts XML content to HTML, standard office application files to PDF, or video files to jpegs, and many other transformations.

How can Web Services improve CMS?

In today's business world, enterprise content is a corporation's secret weapon -- and Achilles heel. Corporate records and information, including e-mail are being seen as assets that need to be managed and mined for information.

But there's a downside to all that enterprise content as well. Increasing regulatory requirements for financial reporting, managing health care records, keeping e-mail and more places big burdens on corporations.

To solve the problem, enterprises turn to content management systems. Increasingly, vendors are turning to Web services as the glue that holds content management systems together and that ties them into the rest of the enterprise.

Let's imagine that CMS services can be exposed to other applications through a Web Services interface. The illustration above shows some of the methods that could be made available to other applications, either to invoke within the CMS, or to utilize for content outside the CMS repository.

Consider this scenario. Your company regularly releases new products, both to its e-catalog and out to its distributor channel. Upon doing so, you need to deploy content related to those products to various websites. Using a services-oriented architecture, your company's product data management or e-commerce systems could activate the CMS distribution service to push particular content into production (even related content outside the CMS) when certain products get released. If that's too automatic a business process, the workflow service could be triggered instead, to activate an approval process.

This is possible today in a few of the more developed CMS products that have packaged up their APIs as Web Services interfaces.

Read more...