If you have ever developed serious web applications, you immediately will see a large degree of overlap between the features a CMS offers and the features you expect from a web application server. Most CMS software sits on top of a web application server, using its underlying infrastructure to handle HTTP connectivity, users, groups, permissions and even the database API. In some ways, CMS was the first popular class of application to be deployed on the Web, much as spreadsheets were the first applications used on personal computers.
Overall, it's a good thing CMS software is written on top of an application server, especially in the open-source world. This means you can add new modules to the core CMS, handle new types of documents, change the templates, extend the database and add new types of permissions and work-flow rules. But it's important to remember the difference between an application server and a CMS. The former provides the infrastructure for creating applications, and the latter is an application you can customize.
So if you're looking to create a web-based newspaper, magazine or corporate news site, a CMS is undoubtedly the right type of software for you. But if you want to create a web-based application that tracks donations to your favorite charity, a CMS probably won't provide the flexibility you need. The difference between web applications and web publications has always been a murky one, but as web applications become increasingly sophisticated, CMS software will be recognized as one type of product you can run on a web platform.
Because content management systems normally run on top of an application server, your choice of CMS might depend on the type of server on which it runs. Many companies have moved to J2EE (Java 2 Enterprise Edition) as their underlying platform. Indeed, the well-known Vignette CMS originally was designed to work with Tcl but migrated to J2EE when the buzz surrounding J2EE became too great to ignore. Because J2EE is a standard, rather than a product, customers can choose application servers and CMS software separately. You can use the open-source Tomcat/JBoss duo or the proprietary offerings from companies like BEA or IBM.
If you dislike Java, or if your development team is more familiar with another set of technologies, you might consider a non-J2EE CMS. Such products do exist, and we will look at several of them in the coming months, such as Zope's CMF, the CMF-based Plone, Bricolage (Perl/PostgreSQL), PHPNuke/PostNuke/Xoops (PHP) and Midgard (PHP).
Regardless of what technology you decide to use, a CMS is increasingly necessary and useful for producing web sites. Even if you're the only person working on your web site, moving to a CMS is probably a wise move, if only to help standardize the look, feel and delivery of content on your site. And, if you ever decide to add new types of content, the CMS will probably be able to handle it, though you might need to tinker with it somewhat.
CMS software is probably the first type of application designed for the Web. Most content management solutions are expensive and proprietary, but an increasing number of open-source options are available for those who want greater freedom and lower cost. Given that content management systems normally need a great deal of customizing and tuning, this is another niche for which open-source tools are an excellent fit.
Reuven M. Lerner (firstname.lastname@example.org) is a consultant specializing in open-source web/database technologies. He and his wife Shira recently celebrated the birth of their second daughter, Shikma Bruria. Reuven's book Core Perl was published by Prentice Hall in early 2002, and a second book about open-source web technologies will be published by Apress in 2003.
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Keeping track of IP address
2 min 33 sec ago
- Roll your own dynamic dns
5 hours 15 min ago
- Please correct the URL for Salt Stack's web site
8 hours 27 min ago
- Android is Linux -- why no better inter-operation
10 hours 42 min ago
- Connecting Android device to desktop Linux via USB
11 hours 11 min ago
- Find new cell phone and tablet pc
12 hours 9 min ago
13 hours 38 min ago
- Automatically updating Guest Additions
14 hours 46 min ago
- I like your topic on android
15 hours 33 min ago
- This is the easiest tutorial
22 hours 8 min ago