basicPortal.com is an open source portal based on Struts and JSTL with a DAO that does standard J2EE security, CMS, aproval, RSS feeds, task tracking, etc. The goal of this project is to leverage several Jakarta projects into a simple vertical sample app that contains the functionality common to 80% of web projects, allowing developers customize the last 20%.
Check out http://basicportal.com
The goal of this project is to leverage a combination of several of the Apache Foundation's Jakarta projects into a simple vertical sample application that contains the functionality common to 80% of web projects -- we let developers customize the last 20%.
The BasicPortal project should allow high developer productivity (of several modules per day per developer) and be KISS; simple to teach and be comprised accepted of good practices (best practices).
They may have to run a live version so people can see, before downloading like asp.net
A couple of interesting notes for anyone curious about the various downloads included in the project ....
The 'setup suite' download on sourceforge (186mb) seems to include full versions of :
1. Eclipse 2.1
Lastly, and most importantly, I attempted to run the 'setupJasic.exe' and it informed me that my copy has already expired....
just an fyi
There is also almost free live over-the-web training featuring basicPortal coming up.
It has 4 famous published authors on Struts.
It also has Resin 3.0 so we can do labs in JSP 2.0. ( We have permision to distribute from Resin).
It also has PosgreSQL, so that when people install a portal it comes with IDE and DB.
A lot of other things are included - anyway, click above and see if you would like to train on it. This way all the students have same JDK, and enviroment.
Imagine, if Open Source folks develop similar verticals for CRM applications, ERP Applications and other business application which is OPEN, EXTENDABLE and of course FREE.
Imagine when a CRM application is a free download ....
and if there is no buy in by management or staff the project will still fail. CRM is a download away. In most cases the software is not the problem.
Sorry but $475 for the training session isn't "almost free" as you claim. At least not in my opinion.
It wasn't clear to me how the persistence logic is implemented. The DAO pattern is mentioned but what is the underlying technology? JDBC? JDO?
Are you guys planning on making a demo website available?
This class won best training by readers of Java Developers Journal!
The price is $155 today! (it goes up every few days), which is covers the cost of 5 video sessions via WebEx and phone; for each of the students, so you can see 4 seperate published authors on Struts present, (see and hear).
A normal J2EE class is $2400, and almost never in the city you are, and you just learn hello world in 12 J2EE techonlogies, nothing practical.
You learn by labs multi row CRUD, master detail processing, validation, navigation, drop down list box, scalability, and applied best practices, etc.
I think you get best for less this way, but ... maybe you do not see the value.
I meant where's the basic Portal demo?
demo of basicPortal.com is runing at baseBeans.com
My opinion: this is a typical Open Source software development nowadays: "Re-inventing the wheel" ;-) Maybe there are a lot of jobless developers available? ;-)
I know that it is harder to continue or join a workgroup of other available Open Source projects but what about the buzz word: "integration"? If you want to become an "expert", you should also be capable to make some integrations and continue other development projects. IMHO, in the real world you often have to continue some software projects and not only building everything from scratch.
I hope at least, that BasicPortal already knows about the availability of LPortal... and also another Open Source Portal available from JavaLobby... (check it from google or JavaLobby).
A very good portal solution from Brian Liferay Portal: Open Source MIT License:
Use: Struts, JBoss, etc.... all Open Source!
(Also with demo ;-))
Open Source eLearning Platform based on EJOSA (Enterprise Java Open Source Architecture)
You mentioned life ray and other open source portal solutions, have you checked into Jahia?
> My opinion: this is a typical Open Source software development nowadays: "Re-inventing the wheel" ;-) Maybe there are a lot of jobless developers available? ;-)
This is often the case, but we also have a lot of people who are employed that find it enjoyable to work on a portal project like the JLCP :)
> I know that it is harder to continue or join a workgroup of other available Open Source projects but what about the buzz word: "integration"? If you want to become an "expert", you should also be capable to make some integrations and continue other development projects. IMHO, in the real world you often have to continue some software projects and not only building everything from scratch.
This is true. JLCP hopes to be able to integrate with a lot of other products, namely Jive and possibly some webmail applications not to mention different user authentication and storage facilities.
> I hope at least, that BasicPortal already knows about the availability of LPortal... and also another Open Source Portal available from JavaLobby... (check it from google or JavaLobby).
> A very good portal solution from Brian Liferay Portal: Open Source MIT License:
> Use: Struts, JBoss, etc.... all Open Source!
> (Also with demo ;-))
We looked at LPortal, but didn't really find that it suited our needs. We're also looking into working with BasicPortal, but it may only be possible to reuse a small amount of the components. We're in the process of developing our 0.5.0 release which we hope to be feature complete. We also finally got a Standalone version working with Hibernate 2, JBoss and McKoi, which should make it easier for anyone to download and use the JLCP. If anyone has questions, you can reach me by email at matt at javalobby dot org.
JLCP Project Lead.
BasicPortal uses custom DAOs, Liferay uses EJBs.
Liferay also has a demo at my.liferay.com and has a ton of features (web mail, doc library, calendar, wiki, msg boards, polls, shopping, etc). Both are based on Struts.
Pros of DAOs: Light weight, very fast, simple.
Cons of DAOs: Clustering...
Pros of EJBs: Transactions, simple. You can cluster in 3 tiers, a cluster of web servers can hit a cluster of ejb servers that hit a cluster of dbs.
Cons of EJBs: Slow... like using a tank to swat a fly.
And... now there are more options for users choosing open source portals, and that's a good thing cause everyone benefits.
I looked into Liferay half-a-year ago, and found that you implemented it on top of the app server (i.e. Liferay encapsulates the app server) rather than resides in the appserver as a component.
This seems to tie down Liferay to a specific server, e.g. JBoss, etc.
Can you comment on this?
Liferay works on Orion, JBoss (jetty and tomcat), weblogic and pramati...
It uses a lot of services that are app server dependent, so instead of using its own connection pool, Liferay uses a data source that the app server provides.
It sure would be easier to port a simple servlet between different app servers, but then you have to write your own transaction management, connection pooling, etc. The whole point of j2ee is that you let the app server develop the hard core stuff, you build your app on top of it, and your app should work across all j2ee certified servers.
In practice, this is a pain because each app server has their own ejb-jar.xml file to map ejb20 beans to the db... etc. (which is why tools like xdoclet is key, minimizes repetitive work).
The positive thing is... I can assure you Weblogic, jboss, and orion can write transaction management/connection pooling stuff way better than me :)
Liferay works on Orion, JBoss (jetty and tomcat), weblogic and pramati...
Thanks. I took a look at your deployment matrix. Seems that you are tied to a specific server (and probably version) - e.g. you don't support Websphere & JRun.
It is good that you support free (JBoss), cheap (Orion) and expensive (Weblogic) servers. But not all potential users are willing to run the above servers. Some may prefer JRun, or something else.
A big problem to me is the app server version. If my user is using a different/later version of the app server than Liferay supports, then I cannot guarantee that Liferay will work. If I develop my applications/portlets for Liferay, that ties me down to Liferay's support.
Another problem is that Liferay does not run as a J2EE component. It seems to run as an application/server that uses a J2EE app server a its engine. This means I cannot deploy Liferay on an existing app server instance. This is a problem if my user does not have a spare license (e.g. Weblogic).
At least, this was true around the middle of last year.
Yes, you are correct... since Liferay uses a lot of the J2EE features, until Liferay supports every app server specific XML descriptor for J2EE 1.3 features, it will not work on all J2EE 1.3 certified servers.
So that is a drawback... we're working on adding more support for more app servers, but looking at JBoss, orion, and weblogic.. we figure we got a large percentage out there. Still need to work on WebSphere and a few others...
Cons of DAOs: Clustering...
JLCP uses Hibernate to implements its DAOs. Hibernate works just *fine* in a clustered environment (it was designed from the ground up with clustered operation in mind).
There is nothing about the DAO pattern which precludes clustering. In fact, I expect a DAO-based system to knock the socks off an entity beans system in or out of a cluster!
(I also keep hearing about how "caching" is an advantage of entity beans, as if other persistence frameworks don't have caches!)
I meant that a DAO based architecture, unless coupled with EJBs, cannot be clustered in a 3-tier environment....
So at most, you can do a cluster of web servers and a cluster of dbs...
But not a custer of web servers talking to a clustered middle tier with clustered dbs...
If you want direct access to the EJBs, with Liferay, you can access the session beans which contain the logic... without ever going through the web server.
... or more generally does anyone know of a resource that compares the different open source projects? Jetspeed seems to have been around the longest and maybe that's it's problem. Doesn't use Struts, etc. Is it out-of-date? I guess the appeal of BasisPortal is that it's built with the latest/greatest technologies.
Struts is not the only good j2ee framework availble. As fa as I am concerned the most mature Open Source j2ee Portal is Liferay from www.liferay.com. It uses Struts and EJB. Most Portals use ejb heavily though, I think, there is no need for using them. Sybase Portal, for instance, runs only on Tomcat! No EJB,JDO or DAO
I played around with Jetspeed and my true opinion is: Jetspeed sucks !
Jetspeed is built on the Turbine web application framework from Jakarta. I'm not going to get into a Struts vs. Turbine war here, but there are some services that Turbine provides that Struts doesn't, and vice versa. I definitely wouldn't describe Jetspeed as out of date.
My 2 cts,
All the existing java portal framework (commercial or open source) will need to integrate and support the specifications defined by the JSR 168 and the Oasis WSRP in 2003 to stay attractive. There are currently plans to launch generic referecne implementations of both standards under the Apache umbrella (
This will help commoditize the portal market and what will become important in the future will be what is AROUND the portal layer (= content management system, dynamic site management, suite of productivity and collaboration portlets, wizards to automatically create portlets from existing HTML fragments, database, XML sources,...) to offer a complete and integrated web framework, not the portal aggregation mechanism itself.
- wwww.jahia.org -
when I read this article I thought it was an interesting alternative to Expresso (www.jcorporate.com) because the latter is not realy a portal.
After downloading the 200 MB zip file I extracted the 22 MB basicportal webapp from it (all the rest are tools, libs, ...), installed it into tomcat and ran it.
I´ve got an error. Reason: the class files were not included in the 200 MB package. Then I tried to compile them.
I´ve got the next error. Reason: cannot resolve Symbol (TilesEvent). This class should be located in src/basicWebLib/org/apache/basicWebLib/dispatch. But it wasn't and it wasn't anywhere else in the src folder. OK, get it from the cvs repository I thought.
The next problem occured. The class (file) wasn't there.
Because the basicportal is in alpha state I thought the developers might have some problems in coordinating themselves and I decided to have a look at the live example at basebeans.com. I created a user and didn´t get a response if it was successfull or not. So I tried to login and ...
The next error. Bad login. I created another user but also with no success
I also tried to participate the group at yahoo.com. And as you can imagine this also didn´t work, because only registered users have access.
In the meantime I saw that another 200 MB package is available for download. Maybe this includes the missing files?
Is this your understanding of announcing a product, even an open source product?
There are other open source products around which are slightly better rolled out. I think there is a lot of work to do for you.