Welcome!

Weblogic Authors: JP Morgenthal, RealWire News Distribution

Related Topics: Weblogic

Weblogic: Article

WebLogic Portal 8.1

WebLogic Portal 8.1

WebLogic Portal 8.1 Beta is out and builds upon the successful and well received WebLogic Portal 7.0. Portal 7.0 dominated industry reviews last year, winning many "best technology" awards (for example, Best Enterprise Portal Solution in the 17th annual Software & Information Industry Association (SIIA) Codie Awards) as well as recognition as the best portal product. Most important: Java developers loved it.

The keys to Portal 7.0's success were its open architecture, ease of use, and overall high-quality portal features such as personalization and interaction management. The architecture allowed an ease of integration with either BEA WebLogic Integration or other third-party business process providers. Its user interface allows an ease of look and feel updates, and a division of labor between GUI specialists and Java developers. Portal features such as personalization (delivering audience-specific content), entitlements (restricting access to the correct resources), dynamic navigation, and interaction tracking were intuitively designed in a way that simplified developer usage.

So how do you improve on a classic? First you build on its strengths. Portal 8.1 provides all of the benefits of Portal 7.0 while adding new features that improve integration with the rest of the WebLogic platform. More wizards and graphical component designers were added. BEA has also added more Java Controls, which provide a head start on application development by simplifying API or J2EE resource calls. In addition, Portal 8.1 now allows for the addition of multiple portals within the same overall Web application.

One of the biggest changes in WebLogic 8.1 involved the development environment updates to WebLogic Workshop, which has evolved into a complete developer tool capable of integrating Web services, Enterprise JavaBeans (EJBs), JavaServer Pages (JSPs), and busines processes into the portal environment. This provides a one-source tool for most areas of portal development. A debugging source code editor has also been added to Workshop. The numerous updates to Workshop itself are covered in a related article on page 28.

Portlet functionality has also been dramatically improved. The drag and drop creation of portlets and their components works well and greatly eases development. JSP portlets, Web services portlets, and Java Page- flow portlets can all be created at the click of a few buttons (and maybe a little typing). The portal development interface combines visual logic with vast utility, and provides what BEA calls "Converged Portal Development," using Workshop to build custom portals that combine business processes and Web services.

Portal Sample
The sample portal represents a fictional company called Avitek (see Figure 1). There is an initial sign-on page, "Avitek Inweb," followed by three tabs representing "Content," "News," and "Bookmarks."

A portal created by WebLogic consists of a single XML file, which is constructed automatically by Workshop when the Portal Designer is employed to build a portal. A snippet from the sample.portal Avitek example XML file is shown below:

markupType="Desktop" title="Avitek
Intranet - A platform for Information Sharing">
markupName="avitek"
markupType="LookAndFeel" skeleton="default"
skeletonPath="
/framework/skeletons/" skin="avitek" />

Luckily, you don't really care what this looks like as you are using WebLogic Workshop. To open the Avitek portal simply open the XML file. Workshop uses the XML file to determine the portal contents and presents the developer view (see Figure 2).

Let's go through what you see from the sample.portal view in Workshop.

On the upper left, there are two tabs labeled Application and Files. The Application tab has a directory structure and provides access to all of the modules that are currently part of the portalApp sample application. The Files tab lists the file names for all of the same directory modules.

Below that area is a Palette tab that lists available construction elements. Currently, Book and Page are showing. A Book provides the ability to add a collection of Pages to one portal area. A Page represents a specific area of the portal.

In the middle of the Workshop screen is the visual representation of the portal application being built. Files from the application and palette tabs can be dragged and dropped to this area when adding new functionality. You can see four pages within the sample application. The first page has two columns, each with a portlet. A portlet is an access point to an application within the portal. Within the sample, a Login portlet is on the left and a Dev2Dev portlet is on the right. Both use JSPs to provide their content.

Immediately to the right of the portal representation are the Property Editor and Document Structure tabs. The Document Structure tab provides a directory structured listing of the various components of the portal desktop. The Property Editor provides the ability to set specific values for each of these components. Key Property Editor attributes for a Page include Title, which specifies the name of the page; and Navigation, which identifies and type of navigation (tabs or text). Other properties exist, most are fairly well named and, after you look them up once or twice, remain in memory.

The Data Palette falls below the Property Editor in the sample screenshot. It lists the Portal data components. For the sample, all of the available portlets are listed. These can easily be dragged into any of the pages.

Finally, the tour of the sample portal concludes with the tri-tabbed section immediately below the footer of the portal representation. The tabs are Build, Output, and Content Preview. The Build tab shows the results of any application build process. The Output tab shows functional output that occurs given Workshop usage. For example, if you have the debugger on, the various debugger outputs are depicted. Dynamic content can be previewed with the Content Preview tab.

After reviewing the sample and working through a tutorial (see Reference section), I created some sample portals. Creating them is straightforward once you get the hang of it. First, create an application to contain the portal. Follow that with the project to build within. Then it's simply a matter of adding Books (collections of pages) or Pages (containers for portlets). Stylesheets can be included very easily as can specific JSPs for the header or footer.

Most items employ a drag-and-drop mechanism for inclusion. The other main area for updating (aside from code) is the Property Editor tab on the right-hand side of the Workshop screen. The usage pattern I settled on was to select the item in the Document Structure tab and then update the properties in the Property Editor tab. You can also just select the item on the page, but sometimes I had trouble identifying specifically what I had selected.

The Workshop Test Browser allows a portal developer to see the outcome of their changes easily. Just remember to save your changes prior to refreshing it.

It is also possible to import any file, module, library, or project into your project or application. This allows a group of separate HTML developers, for example, to develop the code elsewhere and integrate it into the portal application. Once JSP or HTML has been imported into the project, creating portlets from the pages involves a drag-and-drop, which then calls the Portlet wizard.

When generating a Web service portlet, the interface provides three types of generated portlet code for access, which provides a degree of time savings. The choices available are Form, which takes parameters from an HTML form and calls the interface; Call Generation, which creates a stubbed out portlet where you code in the source for the parameters; and Web service(s) Interfaces, which documents the interface usage.

The integration with Pageflows provides one of the more powerful aspects of WebLogic Portal. Pageflow provides a series of conditional statements provided with page outcomes. Possible outcomes include other pages, Struts ActionForms, or Workshop Java Controls. Java Controls allow logic to be reused as a simple interface to all developers. WebLogic Workshop includes several built-in controls, such as database access.

Deploying portal applications is relatively straightforward. After the server is started, access the console and deploy your entire portal application using straightforward directory options (similar to the deployment of JSPs or EJBs). WebLogic Portal 8.1 provides advanced administrator capability once the portal is created. Using the single XML file created by WebLogic Workshop when the portal is created, the Administration Portal allows the various components of the portal to be modified and reassembled. In addition, an administrator can set entitlements for user groups and individual areas of the portal.

Documentation
The online Workshop documentation provides a good understanding of what the different screen attributes mean, and provides a basis for some portal programming. But I had difficulty getting a sense of context from just Workshop or the sample alone. I recommend using the dev2dev eWorld tutorial for getting up to speed quickly after going through the Workshop documentation. Used in combination, I think you get a good understanding of what is possible (mostly from the Workshop documentation), and with the tutorial, a sample of potential use. The tutorial does not provide examples of all of the Portal features, but definitely provides enough to know where to look if it isn't covered.

Conclusion
BEA has done it again. WebLogic Portal 8.1 Beta is an excellent tool and greatly simplifies the potentially difficult development of a portal. It provides more wizards and has simplified usage, and makes portal development that much easier. Much of its usage is intuitive, and because of the overall consistency of the application, patterns for usage from one area can be reapplied to other areas, allowing faster learning. I was able to create JSP, Web service, and Pageflow portlets within the portals easily and soundly. I also added interaction management features through the handy designers without much trial and error.

Most important, significant updates have been made to WebLogic Workshop. This article has only touched the surface of what Workshop provides. BEA has done an excellent job integrating the various Web development software packages into one platform. It is through the use of this platform that the real power of Workshop can be demonstrated.

References
The following sites should be helpful for anyone reviewing BEA Portal:

  • eWorld BEA Portal 8.1 Tutorial: http://dev2dev.bea.com/ resourcelibrary/tutorials/Portal_Lab.jsp
  • BEA Portal 8.1 Release Notes: http://edocs.bea.com/wlp/ docs81/relnotes/index.html
  • Workshop Overview: includes a section on WebLogic Portal: http://edocs.bea.com/workshop/ docs81/doc/en/core/index.html

    SIDEBAR

    BEA Systems, Inc.
    2315 North First Street
    San Jose, CA 95131
    +1.800.817.4BEA (US toll free)
    +1.408.570.8000 phone

    Requirements:
    BEA WebLogic Portal requires BEA WebLogic Server 7.0

    Sales:
    North American Sales
    Ready to Purchase BEA Products
    +1.800.817.4BEA (1.800.817.4232)
    toll-free (24 Hours/Day)
    +1.415.402.7250 fax

    For Europe and Asia:
    www.bea.com/framework.jsp?CNT=sales1.htm &FP=/content/about/contact/

  • More Stories By Jason Snyder

    Jason Snyder is an architectural expert for CSC Consulting in Boston, and has served as the lead architect for several J2EE development projects. He has over 10 years of experience in software development, OO design, and application architecture.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.