Jive is set of latest technologies bought together and applied to emerging domain of social software.


Here are few technical details about how jive 5 actually works and what technologies are inside


Technical stack


Spring: Spring framework is the mother board for jive and it connects all the components together without having them depending on each other.

It contains various components like Core, AOP, JDBC etc which are very easy to use and light weight.


Struts: This is web/view layer of Jive which includes MVC design pattern and has SOY/Freemarker based views. This is one of the most popular MVC framework and is easy to use well documented framework. It also provides lots of build in features like action support classes, UI components, Tokenizer, Validation and flow control.


Sitemesh:  This component decorates the UI with header footer and common elements.


Apache CXF: This is used for exposing functionality as webservices. Jive 5 uses JAXRS based RESTFul webservices.


How jive starts up


Jive as any other web applicaton has web.xml descriptor which controls its lifecycle.


Web.xml  -> DelegateFilterProxy (many pre and post processing elements)


                    -> JiveApplicationContextLoaderListener (Bootstraps Spring along with ContextConfigLocation element


                         -> JiveContextLoader (loads all the spring configuration files)


                         -> spring-setupWebContext (loads all the struts MVC) -> strutsFilter



Along with this Jive has customized Freemarker manager which sets global static properties to be available across the views.