4
Herko's comments are on point. Most Java portals are a framework for portlets that interface to other back end systems. Jetspeed is a perfect example of this. Liferay does this too, but allows for some more coding within the portal itself.
The PHP portals are really less portals in this traditional sense, and more of an application framework. For instance, 90% of XOOPS modules use the XOOPS core classes, and keep their data in MySql in XOOPS controlled tables. As you see, you use XOOPS as a framework to create XOOPS assisted applications.
To some people (Big Corps) Portals are a way to bring disperate systems to a single user interface and signon. The Java portals are geared toward that. They often do not provide a core data access functionality. They may provide user authentication and session management, but this information is then passed on to other applications completely seperate from the portal. It is not uncommon for applicaitions in a Java portal to have existed prior to the portal being created and the portal is simply another way of accessing the data. Java is good for this because of it's strength as a web scripting language and as a robust traditional programming language. PHP does not have both options.
Java portal tend to be very complex to set up, and once set up, only a very minimum framwork to be expanded by custom development.
I want complete web apps not integrated legacy apps. Therefore I choose the simpler XOOPS to the Java engines. With that simplicity comes a complete out of the box system, but also limitations to what I can do.
Hope this helps.