![]() |
Site Archive (Complete) | |||
|
ABOUT US |
CONTACT |
ADVERTISE |
SUBSCRIBE |
SOURCE CODE |
CURRENT PRINT ISSUE |
NEWSLETTERS
|
RESOURCES
|
BLOGS
|
PODCASTS
|
CAREERS
|
||||
September 04, 2008
.NET Development & the IBM WebSphere Portal ServerNow .NET developers can have fun with portals, tooShelly Saunders
Shelly presents techniques and examines tools for developing .NET applications for IBM's WebSphere Portal Server.
Shelly has worked in software development for 18 years and is a freelance software consultant. She can be contacted at shelly_saunders@bcs.org.
Business users like web portals because portal views let them work with corporate data and business processes through a single, consistent UI. Software development teams like them because portals provide a comprehensive UI framework and the architectural opportunity to integrate applications in real-time at the front-end, rather than via potentially costly and unreliable offline batch processes at the back-end. Consequently, portals are increasingly considered an essential part of an enterprise SOA strategy. .NET developers, however, have had limited options when it comes to portals, since most high-end portalsBEA's WebLogic Portal Server and IBM's WebSphere Portal Server come to mindare based on Java EE. In this article, I present techniques and examine tools for developing .NET applications for IBM's WebSphere Portal Server.
JSR 168
The major portlet specification is JSR 168 (jcp.org/ en/jsr/detail?id=168), which ensures that portlets developed in Java can run on multiple portal servers. Many commercial and open-source organizations have adopted this standard, which defines the programming model for portlets and the contract between the portlets and the portlet container.
[Click image to view at full size]
Figure 1: Portlet lifecycle.
The portlet lifecycle (Figure 1) consists of two main phases:
The portlets are defined as a standard portlet descriptor file, portlet.xml; see Listing One. Within JSR 168 is consistent support for persistent and transient data management. Portlets can access two different types of persistent data:
$?xml version="1.0" encoding="UTF-8"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
<portlet>
<description>This is a test portlet</description>
<portlet-name>A test portlet</portlet-name>
<display-name>A Test Portlet</display-name>
<portlet-class>GhDynamicPortlet</portlet-class>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<portlet-info>
<title>Test Portlet</title>
<short-title>Test</short-title>
<keywords>Test</keywords>
</portlet-info>
</portlet>
</portlet-app>
Listing One
<portlet-preferences>
<preference>
<name>userData</name>
<value></value>
</preference>
</portlet-preferences>
Listing Two
Transient data comes from two sources:
|
|
||||||||||||||||||||||||||||
|
|