3 Replies Latest reply on Nov 2, 2006 5:31 PM by walbar

    Is JBoss Portal ready for prime enterprise use?

    walbar

      We are evaluating open source portals and CMSs to implement a high traffic web enterprise system. We have already checked Liferay, Alfresco and others. We would like to have your feedback in the following topics.

      - Can a development be started with JBoss Portal 2.6 in its current state? What are the risks? Our first production deploy would be in February. In case this isn?t possible, what is the risk of starting with 2.4 and changing to 2.6 whenever it turns to be possible?

      - We are planning to use EJBs 3.0 in the back-end running on JBoss AS. Can the front-end (JBoss Portal) run over the same version of JBoss AS?

      - Can we configure JBoss Portal to run in a Farm? We don?t want any kind of overhead associated with session replication or cache sharing. We would have a load balancer with sticky sessions.

      - Does JBoss offer support for JBoss Portal? Is version 2.6 supported? When would it be?

      - We are required to have a Staging environment, any plan to support this? Which would be the recommended starting path?
      We have though about 2 possibilities:
      a. Having 2 database schemas in parallel, one for Staging and the other for production (read-only). At the time of publishing, and ETL would transfer the data from the staging context to production and then refresh the state in some way.
      b. Implement persistence of pages, portlet layouts, and portlet preferences to the JCR therefore having the versioning and staging facilities proper of JSR 170.

      - JBoss Portal CMS support seems to be very basic. We require structured content edition and a page browser when inserting links in the WYSIWYG HTML editor. We have liked the WCM from Alfresco, is there any plan to integrate it with JBoss, when? If we choose to follow this path on our own, could you point us in the right direction?

      - Our extranet users (visitors) wouldn?t manage neither portlets nor layouts. Would it be a good decision to have all of them mapped to only one user (?guest?) in JBoss Portal.

      - We need to have a very fine grained control of the cache http meta-data to send appropriate cache commands to the caching servers (Squid). How could we achieve this?

      - Do you have plans to support ESI (Edge Side Includes)?

      - A very strong requirement for us is to have a per-portlet configurable application cache. The JSR 168 standard provides it in a per-user basis however we need it per-portlet and application wide, can JBoss Poral be configured this way or we should use an additional cache layer like OSCache. Portlet caching in JBoss is performed per-user or per-session basis? If per-user is the case, having all extranet visitors as the ?guest? JBoss Portal user would solve the problem?

      - We are expecting around 40k hits per second. Is the JBoss Portal performance enough for such traffic? Do you have success cases in high traffic portals? We are planning to have 10 JBoss Portal servers in Farm for the front-end and 10 JBoss ASs in cluster for the back-end running Stateless Session Beans 3.0.

      - The system has many sites (countries) with different look & feels, can JBoss Portal be configured to run the same portal (same set of pages) with different look & feels? If that is the case, can it manage a cache for each site (country)? If a small set of pages needs a different configuration (portlets in the page, layout, portlet configuration), how we should model this?

      - We are thinking of using Acegi security. In some cases security constraints would imply to remove portlets from pages. How can we achieve this?

      - Would you implement eBay with JBoss Portal?

      Thanks in advance for your answers.

      Waldemar Baraldi

        • 1. Re: Is JBoss Portal ready for prime enterprise use?
          walbar

          Please don't be shy. Any comment on these topics would be of great help for us, and, as we see it, for the whole community.

          There's not much information about developing with open source portals in the web, so it would be great if we can share doubts and experiences.

          Thanks again,

          Waldemar

          • 2. Re: Is JBoss Portal ready for prime enterprise use?

            These questions are commonly answered by our sales engineers, but Ill take a crack at the ones I can answer:

            "walbar" wrote:

            - Can a development be started with JBoss Portal 2.6 in its current state? What are the risks? Our first production deploy would be in February. In case this isn?t possible, what is the risk of starting with 2.4 and changing to 2.6 whenever it turns to be possible?


            2.6 will change as its a dev branch. You are safe to start with 2.4.x, and then migrate to 2.6GA. As of 2.4, we offer a migration application for conversion of data, to smooth the migration process. http://docs.jboss.com/jbportal/v2.4/reference-guide/en/html/changelog.html#migrating_database

            "walbar" wrote:

            - We are planning to use EJBs 3.0 in the back-end running on JBoss AS. Can the front-end (JBoss Portal) run over the same version of JBoss AS?


            Yes. The JEMS installer is capable of configuring all of this for you, so you dont fall in to library-hell.

            "walbar" wrote:

            - Can we configure JBoss Portal to run in a Farm? We don?t want any kind of overhead associated with session replication or cache sharing. We would have a load balancer with sticky sessions.


            Yes. We also offer a pre-configured clustered version in 2.4. We don't offer this for 2.6 yet, as its a dev branch, and we dont want to slow down releases in QA for HA.

            "walbar" wrote:

            - Does JBoss offer support for JBoss Portal? Is version 2.6 supported? When would it be?


            Yes. 24x7 support, and we also offer development support (pre-production). I'm not sure if we scope support by version. Since portal sits at the top of our stack, we also offer inclusive support packages for the underlying components... cache, clustering, hibernate, AS, etc... We employ the leads and most of the committers on those projects, so you dont have to worry about having some inexperienced oaf answer you for, lets say, hibernate support. ;-)

            "walbar" wrote:

            - We are required to have a Staging environment, any plan to support this? Which would be the recommended starting path?
            We have though about 2 possibilities:
            a. Having 2 database schemas in parallel, one for Staging and the other for production (read-only). At the time of publishing, and ETL would transfer the data from the staging context to production and then refresh the state in some way.
            b. Implement persistence of pages, portlet layouts, and portlet preferences to the JCR therefore having the versioning and staging facilities proper of JSR 170.


            There will be *some kind* of support for this in 2.6. There will be extended support of this feature using JBossON. 2.6 support will most likely consist of a snapshot dump for the admin, that he can then move to production.

            Most of our customers now, are using method "a", but DB synching can be tricky. ;-) So we will offer something to facilitate this.

            There is a relevant thread here: http://jboss.org/index.html?module=bb&op=viewtopic&t=90764 Thoma Heute is in charge of this component.

            "walbar" wrote:

            - JBoss Portal CMS support seems to be very basic. We require structured content edition and a page browser when inserting links in the WYSIWYG HTML editor. We have liked the WCM from Alfresco, is there any plan to integrate it with JBoss, when? If we choose to follow this path on our own, could you point us in the right direction?


            Alfresco's admin side can be currently deployed on jboss portal. What we are in need of, is a "viewer portlet", like the one we bundle. Work for this viewer portlet will likely being after 2.6, unless the community contributes it earlier. ;-)

            "walbar" wrote:

            - Our extranet users (visitors) wouldn?t manage neither portlets nor layouts. Would it be a good decision to have all of them mapped to only one user (?guest?) in JBoss Portal.


            Yes... or just not let them have dashboards at all.

            "walbar" wrote:

            - We need to have a very fine grained control of the cache http meta-data to send appropriate cache commands to the caching servers (Squid). How could we achieve this?
            - Do you have plans to support ESI (Edge Side Includes)?


            Sorry, can't answer these.

            "walbar" wrote:

            - A very strong requirement for us is to have a per-portlet configurable application cache. The JSR 168 standard provides it in a per-user basis however we need it per-portlet and application wide, can JBoss Poral be configured this way or we should use an additional cache layer like OSCache. Portlet caching in JBoss is performed per-user or per-session basis? If per-user is the case, having all extranet visitors as the ?guest? JBoss Portal user would solve the problem?


            You can set the cache interval in the portlet.xml, so that value then applies to all instances of the portlet.

            "walbar" wrote:

            - We are expecting around 40k hits per second. Is the JBoss Portal performance enough for such traffic? Do you have success cases in high traffic portals? We are planning to have 10 JBoss Portal servers in Farm for the front-end and 10 JBoss ASs in cluster for the back-end running Stateless Session Beans 3.0.


            JBoss.org runs on a HP DL380, 2x3GHz CPU, 2G RAM. It sees roughly 3-5 million pages/mo.

            I can't tell you customer data, though. :-(

            "walbar" wrote:

            - The system has many sites (countries) with different look & feels, can JBoss Portal be configured to run the same portal (same set of pages) with different look & feels?


            Yes. Via xml descriptor or adminUI.

            "walbar" wrote:

            If that is the case, can it manage a cache for each site (country)? If a small set of pages needs a different configuration (portlets in the page, layout, portlet configuration), how we should model this?


            We do not have a portal-instance-level cache available. Cache is configured, per-portlet.

            "walbar" wrote:

            - We are thinking of using Acegi security. In some cases security constraints would imply to remove portlets from pages. How can we achieve this?


            My name is Roy, and im the resident security idiot. ;-)

            "walbar" wrote:

            - Would you implement eBay with JBoss Portal?


            Can I get some free PS2 games?

            • 3. Re: Is JBoss Portal ready for prime enterprise use?
              walbar

              Hi Roy,

              Thanks a lot for your prompt, complete and enthusiastic answer. We have lots of requirements to balance and this information is of great help.

              When I was talking about implementing eBay I meant: if you had to implement something like eBay, would you use JBoss Portal? I ask that because we have many requirements similar to the features eBay is offering, and a huge number of hit per second. We are not getting any free PS2 games... I wonder if we should ask for them... :-)

              Back to the point, I would like to ask a couple more questions.

              According to our design it would be neccesary to have the notion of page state and some portlets having their state in the page request. Their cache expiration time would be 0 and they would render each time the page renders getting this state from the request. This way we would be abe to implement some web behaviour in the traditional way. In fact we would be implementing a per-page MVC.

              I find the portlet development model to be more close to a rich client application over http than a web site paradigm. This I am afraid, is not what is needed for the portal I am working on.
              Let´s show the issue with an example:
              Suppose I have a search page. In this search page I might have a portlet that shows a text box accepting keywords and a search button, and also a result list portlet on the same page beneath it. Now, let?s say the user inputs a keyword, presses the search button and obtains a list of results consisting of several pages. This mechanism involves IPC because the action is performed over the search portlet and the results list portlets needs to be re-rendered affected by the results found. The model behind the search portlet would contain the keywords and the model behind the results list portlet would have the keywords + the results page number. Now the user selects page 2, the result list porlets receives an action and changes its model to page=2. During render this value is used to display the second page.

              Now let?s suppose the user opens a new tab in Firefox, and issues a new search with different keywords. The new list of results also contains several pages. Afterwards the user switches back to the first tab and refreshes the page. My guess is that it will incorrectly show the first page of the second tab in the first tab.

              Thanks again,

              Regards,

              Waldemar