Level: Intermediate Ron Lynn (tcat@us.ibm.com), IBM WebSphere Portal developer, IBM
02 Oct 2002 This question and answer session features Ron Lynn, IBM WebSphere Portal expert, who answers top questions from WSDD users about portlets.
This month, we have asked IBM WebSphere® Portal developer, Ron Lynn, to answer your top questions on portlets. Portlets are visible active components end users see within their portal pages. Similar to a window in a PC desktop, each portlet owns a portion of the browser or PDA screen where it displays results. Portlets can be as simple as your email or as complex as a sales forecast from a customer relationship management (CRM) application. If you want more information about WebSphere Portal and portlets, see WebSphere Portal Zone.
Question: What is the relationship between a portlet and the future Web Services for Remote Portals?
Specifically, will portlets in WebSphere Portal Server be able to
be exposed as a web service using Web Services for Remote Portals? Also the other way
around, will a web service easily be exposed as a portlet? (submitted by EM)
Answer: In the future, portlets will be able to be published as Web Services for Remote Portals services and they can be integrated as portlets using a
generic portlet proxy, very similar to what we have implemented
in WebSphere Portal 4.1.
Question: Tell me the best way to construct portal place, page URLS.
(submitted by SharatN)
Answer: Currently, there is not a best way to do this in WebSphere Portal 4.1. This feature is planned for a future release of WebSphere Portal.
Question: How much data we can keep in PortletData? What is the
maximum allowed size of PortletData? (submitted by SharatN)
Answer: PortletData can hold attribute value pairs of 255 characters.
The attribute name can be up to 255 characters and the attribute value can be up to 255 characters.
Question: Who can tell me if there will be a WebSphere Portal Server 5 that
will come along with WebSphere Application Server 5? I will be very interested to get some information about WebSphere
Portal Server 5 beta. What will be the release date, the features, etc?
Answer: The specifics of WebSphere Portal 5 are still in the planning. We should know more about features, dates, and betas toward the end of November when this
planning cycle is complete.
Question: Our customer needs to integrate 180 SAP transactions into their
portal. There are about 15 SAP portlets in WebSphere Portal 4.1, and a few more to
come in 4.2. We will use SAP ITS (Web-enable front-end to SAP
back-end) to integrate most of the transactions into the portal.
Some others require the Click-to-Action (SAP's Drag&Relate).
What would be the average effort of developing an SAP portlet (5, 10,
20 days)? (submitted by DG)
Answer: I'm not familiar with SAP ITS. I'd be guessing. I can tell
you that there is a portlet framework forthcoming. With the new
portlet framework, portlets for SAP can be developed in the portal
UI with a portlet generator in just a few hours (less if you know
the SAP BAPIs well). These portlets integrate directly to the SAP
Java API (calling RFCs/BAPIs directly). The new portlet framework
could be available as early as first quarter next year.
There is also an upcoming class on Enterprise Application Portlet
Development. Please contact Kevin O'Leary and
Walter Muchow for
information on this class and other portlet development and portal
administration classes.
Question: For the past several years, many applications in use by our
company (banking/insurance) have competed for domination of the
desktop. Recently, this battle has moved from the desktop to the
browser. While things have started to settle (i.e. standard
platforms and further integration), a final contest remains.
/We have various "in-house" systems now front-ended by WebSphere,
currently without Portal Server, but with this planned in the near
future. In the meantime, we wish to deploy Peoplesoft CRM with
its built-in WebLogic Portal Server.
Can we reach a peaceful agreement between these two Portal Servers,
bringing a "single" system to the end user? (submitted by DO)
Answer: This is a tough question. You will need to choose if
you want to integrate on the glass or if you would rather integrate
deeper. If you choose the glass option, your best bets are to
utilize either web clipping or iframe type portlets. If you choose the
other, I believe there are PeoplesoftTM CRM portlets coming soon for
WebSphere Portal 4.1. If your need is immediate, there is the option of building
your own or hiring someone to build the portlets you need.
In the future when standards such as JSR 168
and WSRP
are implemented by all
portal servers, the dreams of peaceful co-existence can be more easily
realized.
Question: Is it true that Jetspeed and IBM Portal Server will use the same
APIs to develop portlets? (submitted by Marco Fabbri)
Answer: In WebSphere Portal 1.1 and 1.1.1, the APIs were pretty much the same. IBM
added a few new features, some of which found their way into the
Jetspeed implementation. There is a standardization effort in
progress. JSR 168 will be
the standard to which the WebSphere Portal portlet API will be built. I believe
that Jetspeed is the reference implementation for the standard.
The answer to your question was yes, is now no, and will be yes.
I hope that helps.
Question: From a hardware perspective, what is the best practice? What
applications should run on the same servers? (submitted by EH)
Answer: The best answer I can give you is, "it depends".
It depends on which version enable, expand, and extend and how many users
you want to support. You are best off contacting your IBM
sales representative and asking them to run the sizing tool for WebSphere Portal 4.1
for the environment you want to deploy in. For my own
development environment, I run everything in WebSphere Portal 4.1.2 enable as a
development install on one machine, a machine that does not even meet
the minimum requirements for the software stack. My current
development machine has dual PII 400MHz processors.
When you deploy the WebSphere 4.1
portlet catalog, it will run in a clustered environment.
There is a cluster for WebSphere Application Server and WebSphere Portal with a session DB2 server.
There is also an IBM HTTP Server cluster. This integrates with IBM Registration,
which has its own set of hardware. Finally, there is a dedicated
machine for the catalog database. The current portlet catalog, running
under WebSphere Portal 2.1, runs on three machines. One is a database server for
WebSphere Application Server, another is the database server for WebSphere Portal Server and the catalog, and the
third hosts all the other software.
Question: How can I access the true HttpSession from a portlet?
I need to share information between portlets and servlets,
therefore I cannot use the PortletSession, since that is only
available to the specific portlet itself.
Additionally, I want to store the information only once
in the HttpSession and not for every portlet in
the portlets PortletSession (which ends up in the
HttpSession anyway). (submitted by CS)
Answer: There is currently no supported or documented way to get the
HttpSession in a portlet. You can share a PortletSession among
portlets in the same portlet application. Simply define the following in the web.xml for each portlet
that needs to share the session.
<init-param>
<param-name>com.ibm.wps.portlet.session</param-name>
<param-value>shared</param-value>
</init-param>
|
You define this concrete portlet only once on a page.
Another alternative for portlets is to use the portlet messaging
interface.
In order for portlets to participate in messaging, the portlets must
implement the MessageListener interface.
In order to send a message,
use the PortletContext.send (String, PortletMessage, PortletRequest)
method. The String parameter in this method is either the name
of the portlet you want to send your PortletMessage object to, or
null. When the String is null, it is broadcasted to all portlets on the
page. Any portlet in the same portlet application that has to implement
the MessageListener interface will receive the message.
PortletMessage is an empty interface that any class can implement.
This provides flexibility in what sort of information you can
pass in the message. You can also use DefaultPortletMessage.
One special feature of the DefaultPortletMessage is that it
can cross the portlet application boundary. That is, if your portlet is
listening, a portlet in another portlet application can send you a
message.
Question: Can portlets make use of content-management architectures, and if
so, does the WebSphere content management architecture use database or file-based storage?
(submitted by Neil Canham, KnowSense Ltd)
Answer: If I understand the question correctly, the answer is yes, portlets
can make use of the content management architecture. WebSphere Content Publisher makes use of
Concurrent Versions System (file) based storage.
Question: I am pretty new to IBM WebSphere Portal Server. Portal Server provides a default login page and a registration. Can we customize
these two pages to add more fields and some of our own validation? Could you please provide some more information on this?
(submitted by JAI)
Answer: The answer requires more research on our part. We will take your question into consideration for a future technical article.
Question: How does a FileServerPortlet work, can I use it to connect to my Novell file server?
(submitted by Tai Le)
Answer: The FileServerPortlet simply takes any file and displays it in a
portlet. The files should be in html fragments because there is no filter or transcoding that
takes place with this portlet. I don't know about the Novell file server. If files can be
accessed through a url (file://), then the FileServerPortlet should work
with it.
Thanks to all of the WebSphere developers who submitted their questions.
About the author  | 
|  | Ron Lynn is a IBM WebSphere Portal development expert. He is part of the team responsible for the WebSphere Portal Catalog. |
Rate this page
|