Choos­ing a CMS So­lu­tion for Java Ap­pli­ca­tion Ar­chi­tec­ture

In this ar­ti­cle, the au­thor presents a com­par­a­tive study of dif­fer­ent CMS so­lu­tions, dis­cussing their mer­its and de­mer­its when used in Java ap­pli­ca­tion ar­chi­tec­ture.

OpenSource For You - - Contents -

With wide­spread ac­cess to the In­ter­net, peo­ple pre­fer to do many of their favourite jobs on­line—like shop­ping, bank­ing, at­tend­ing meet­ings, etc. Ear­lier, tasks re­quir­ing on­line (Web based) tech­nol­ogy proved to be costly due to re­sources and other con­straints. Nowa­days, with the in­ven­tion and wide­spread us­age of cloud com­put­ing as well as ac­cess to shared or rentable re­sources over the Net, peo­ple pre­fer on­line com­put­ing to a great ex­tent.

A CMS (con­tent man­age­ment sys­tem) com­prises a set of tech­niques and fea­tures to han­dle shared data and to man­age the re­lated work­flow. Knowl­edge man­age­ment sites (shar­ing ar­ti­cles and tech­ni­cal query fo­rums) are ex­am­ples of a CMS. Con­tent man­age­ment is cou­pled with work­flow man­age­ment (like a se­ries/se­quence of pre­de­fined work­flows for han­dling con­tent). To make it sim­pler, since the vol­ume of users on­line is too huge for han­dling unau­tho­rised con­tent pub­lish­ing, a gate­way is pro­vided for the ap­proval process (like up­load, ac­cept, ap­prove, pub­lish, share) which is de­fined with dif­fer­ent stages, be­fore be­com­ing avail­able to pub­lic users.

Choos­ing a CMS so­lu­tion

There are a lot of so­phis­ti­cated CMS so­lu­tions avail­able in the in­dus­try, but you must find what’s most ap­pro­pri­ate for your re­quire­ment. So let’s dis­cuss some of the most pop­u­lar CMS so­lu­tions and also do a com­par­a­tive study on them.

Do keep in mind that this ar­ti­cle does not cover the us­age and com­plete tech­ni­cal back­ground of the CMS so­lu­tions dis­cussed as that may de­vi­ate from the topic of in­ter­est. Rather, it gives an in­tro­duc­tion to these so­lu­tions and straight away runs through their pros and cons by do­ing a com­par­a­tive anal­y­sis.

De­sign­ing CMS based ar­chi­tec­ture

Be­fore get­ting into the CMS so­lu­tions and a com­par­a­tive study, let’s first un­der­stand what makes a CMS web­site com­pre­hen­sive and hence ap­pre­ci­ated by com­mon users. For this, we have to an­a­lyse var­i­ous com­mon re­quire­ments of a CMS so­lu­tion and see how to han­dle them.

We need to un­der­stand what the third party tools re­quired for the de­vel­op­ment of a CMS are and how we get sup­port from them. It also means that we need to do a thor­ough anal­y­sis

of the flex­i­bil­ity of these tools when com­bined with our CMS so­lu­tion. For ex­am­ple, if we need sup­port for PDF print­ing or bar­code print­ing, we need to check the fea­si­bil­ity of of­fer­ing these fea­tures with tools like Adobe In­de­sign or iText.

We need to an­a­lyse our com­peti­tors and de­sign a so­lu­tion that not only of­fers all the fa­cil­i­ties pro­vided by them, but even more. Also, the de­signer has to an­a­lyse the sup­port for a mul­ti­lin­gual sys­tem or for in­ter­na­tion­al­i­sa­tion (i18n) if re­quired for the sys­tem, so that it caters to users across var­i­ous coun­tries. i18n sup­port is not an easy-to-han­dle de­sign as it re­quires deep study into the type of lan­guage sup­port (like Uni­code sup­port) and lo­cale­spe­cific data re­quire­ments (like coun­try-wise time zones, cur­ren­cies, etc).

Also, the de­signer has to keep in mind other tech­no­log­i­cal and lo­gis­tic re­quire­ments like the per­for­mance of the sys­tem, its re­li­a­bil­ity (it should not hang, restart or re­spond in­ap­pro­pri­ately to the user), de­vel­op­ment re­lated road­blocks like in­suf­fi­cient time for de­vel­op­ment, etc. It should also be easy/flex­i­ble to main­tain, mod­ify and de­ploy, and de­sign­ers should fac­tor in chang­ing re­source (sys­tems and hard­ware) needs and net­work traf­fic.

De­cid­ing and plan­ning for these re­quire­ments will make the CMS so­lu­tion com­pre­hen­sive and ro­bust for users, while be­ing easy and flex­i­ble to im­ple­ment, han­dle and main­tain for the devel­op­ers.


Dru­pal is a grow­ing CMS so­lu­tion which uses PHP for Web de­sign­ing (the front­end). This is a flex­i­ble and light­weight sys­tem, which can sit on ap­pli­ca­tion servers like Apache or Mi­crosoft IIS.

We can con­fig­ure Dru­pal eas­ily with a data­base sys­tem based on MySQL or Post­greSQL. Dru­pal has sev­eral

ad­van­tages like i10n sup­port (in­ter­na­tion­al­i­sa­tion), a faster so­lu­tion and ACL (ac­cess con­trol list) pro­vi­sion­ing (user han­dling with ac­cess per­mis­sions), to name a few.

The draw­backs in­clude poor sup­port (com­mu­nity users are few) and less sup­port for doc­u­ment man­age­ment (DM). Re­cently, Dru­pal de­vel­oped a pack­age for Al­fresco in­te­gra­tion to sup­port bet­ter doc­u­ment man­age­ment.


Joomla! is a pop­u­lar open source CMS which is flex­i­ble and has a wide va­ri­ety of con­tent themes (Web de­sign mod­els or skele­tons of Web page de­signs). It has good sup­port for blog­ging and DM, and from dif­fer­ent com­mu­ni­ties and fo­rums. The draw­backs are that it has sup­port only for

Apache and has a poor ACL (user man­age­ment). Also, be­ing a heavy­weight re­sults in slower and poor per­for­mance.


Al­fresco is the lead­ing CMS so­lu­tion based on Java and has very good sup­port on a wide va­ri­ety of linked ap­pli­ca­tions/tools and fa­cil­i­ties. It has the sup­port of a large de­vel­op­ment com­mu­nity (blogs and fo­rums) which uses it across dif­fer­ent do­mains.

It is not so light­weight and not as fast as Dru­pal.

An­other notable draw­back is that setup and con­fig­u­ra­tion are com­par­a­tively te­dious.

Ta­ble 1 gives a com­par­i­son of these CMS so­lu­tions. By: Magesh Kasthuri The au­thor is a se­nior dis­tin­guished mem­ber of the tech­ni­cal staff at Wipro. He is an en­ter­prise ar­chi­tect in BFSI. He has au­thored a se­ries of ar­ti­cles on Docker based DevOps in OSFY ear­lier and can be reached at [email protected]

Newspapers in English

Newspapers from India

© PressReader. All rights reserved.