Do you really expect Java Portal Server to host "standard" Java WebApps?

It has been suggested that this might be a smart approach to minimize changes to existing server configurations, but are they really valid / supported? I haven't been able to find anything specific anyway.

In practice, JBoss Portal Server V2.4.2 has problems loading classes, so things like the Stripes downloadable example or the default Wicket quickstart application won't start, but I'm not sure if the problem is server specific or general - Anyone?

Note. It doesn't have to do with displaying / moving an existing web app to the portal, just if the Portal Server needs to be a valid AppServer as well?

0


source to share


6 answers


The answer is that yes, indeed , but specific versions of JBoss Portal V2.4. * there are problems with the loader class so only simpler web applications will work correctly.



0


source


JSR 286 Specification (Portlet 2.0) :

PLT.2.7

Relationship with Java 2 Platform, Standard and Enterprise Edition

The Portlet API v2.0 is based on Java Platform Standard 5.0 and Enterprise Edition v1.4. Portlet containers must at least meet the requirements described in clause 1.4 of the J2EE Specification to run in a J2EE environment.

Therefore, it is not unreasonable to expect standard server-side applications to run within the portal.



However, by definition, the portal will include more libraries in the global class space. Adding libraries to the container always comes with the risk of incompatibilities and the need to control which classes / resources are exposed to your application and how (first-class application loading, etc.). I have had problems in the past with third-part libraries whose dependencies conflicted with the version that came with the portal. I would not expect dependency management to be easier.

Write once, check everywhere, as they say.

+2


source


I guess the question is to decide if a standard web application can be rendered as a portlet from a Portlet container. It's impossible. Portlets must be based on the GenericPortlet class and have custom deployment descriptors. There is a JSR-168 standard that defines the requirements for a portal. The JSR-286 spec is on the way.

The only thing you can do is create a portlet that will serve your existing application through an iframe, but that is of course ugly.

There is a free book for portlets called " Portlets and Apache Portals" that might be helpful. Consult the spec. This is an interesting blog post .

0


source


From my experience that is the correct suggestion. Portlet applications are often Webapps too (they can contain a servlet, for example, to provide access to application logic also through links that should be displayed in one of the portlets), so they contain both a portlet.xml file and a web.xml file, and See also j2ee classes and jsr168 classes. The WSRP standard also contains a resource link type that should be a normal application server for the remote server.

The Websphere Portal Server is also an Application Server.

0


source


I have mixed servlets and portlets in the same web application using JBoss Portal, BEA WebLogic Portal and Apache Jetspeed 2.

However, converting a servlet to a portlet can be difficult. The use of bridging technology like Portals Bridges does exist, but I was lucky enough to avoid having to do such a conversion and have no direct experience other than playing with tutorials.

0


source


Hmm ... but can it / exclusively / contain servlets, or in other words, the application must have at least 1 portlet? (I don't / want to serve a portlet, just a servlet, but I only have a Portal!)

Even if the application contains a portlet, there is nothing to suggest that the portlet should be shown on the page. If you are writing such an application, just create as many servlets as you want, link to them directly, and don't put any dummy / default portlet on any page anywhere.

I wrote a JSR-168 compliant application with a blank portlet and servlet that was used to retrieve some XML stock price data. For several months everything that was ever invoked was a servlet, the portlet was never seen anywhere on the site. Later, I added a portlet that provided some additional data from the XML feed.

0


source







All Articles