Developing portlets
Get an overview of the process of creating portlets, learn about the concepts of the APIs used to develop portlets, and view the samples to get you started. Also, learn about integrating features such as single sign-on, cooperative sharing of information using the property broker, and migrating Struts applications to the portlet environment.
Prerequisites
- Technotes about application development and the Struts portlet framework
WebSphere Portal can support portlets written to the standard portlet API as well as portlets written to the legacy IBM portlet API. .
- If you are not an experienced Java developer...
you can quickly integrate many of your existing resources into WebSphere Portal without developing your own portlets.
- If you have Java and servlet development experience but are new to portlet development...
you should start by reading Portlet concepts and Standard portlet API. When you are ready to start developing portlets, see Understand the basics for samples that demonstrate common features of the API.
- If you have developed portlets with the IBM Portlet API...
Standard portlet API describes the new standards and provides links to topics that describe the difference between the two APIs and how to migrate to the standard.
- If you have experience with Struts applications...
Struts Portlet Framework explains how to take an existing Struts application and convert it to a portlet.
- If you are already familiar with portlet development using either the standard portlet API or the IBM portlet API...
Portlet communication describes how you can enable portlets to share information with other portlets on the page, using the property broker service. Collaborative Services API explains how you can integrate collaborative functionality into your portlets, such as online status, chat, and e-mail.
Rational Application Developer includes tools designed to help you develop portlet applications for WebSphere Portal.
- Portlet concepts
Learn about portlets from a user's and an application developer's perspective. View a brief comparison between a portlet and a servlet and understand basic portlet concepts; know the effect of Java 2 security enablement on the operation of portlets that rely on certain privileges for processing.
- Understand the basics
Get introduced to the concepts of portlet creation, starting with a simple portlet that is modified throughout.
- Javadoc
Javadoc is available for the WebSphere Portal API and SPI, WebSphere Portal Web 2.0, and Lotus Web Content Management APIs. It can be downloaded from developerWorks on the WebSphere Portal and Lotus Web Content Management Product documentation page.
- Standard portlet API
The Java Portlet Specification addresses the requirements of aggregation, personalization, presentation, and security for portlets running in a portal environment.
- Portlet services
Portlet services provide common functionality to portlets. Each portlet service has its own service-specific interface for the functionality that it offers.
- Struts Portlet Framework
Learn how to write Struts applications that can be deployed in WebSphere Portal. Know special considerations when developing such applications and additional concepts, such as portlet modes, multiple device support, and portlet communication, that might need to be addressed by the Struts application.
- Model SPI overview
Models provide information needed by WebSphere Portal to perform tasks such as content aggregation or building navigation to browse the aggregated content. The information that is aggregated is represented through models that can be accessed programmatically using the Model SPI (read-only).
The information of a model is usually persistent (stored in a data base) but can also be transient (computed and stored only in memory). Models can be represented using a tree structure (nodes have a parent-child relationship), a list structure, or a selection structure (a selected element in a tree structure).
- Navigational State SPI
Navigational state represents the view of the portal that is associated with a particular client. The client can request (query) different views by interacting with the Web page, for example by navigating to a new page. This interaction does not change the state on the server but requests a new view from the server. It is therefore a “safe” operation in terms of HTTP 1.1 (See RFC 2616, Section 9.1.1). This allows the client to navigate back and forward through its recent views, bookmark views, and go back to them by invoking a browser bookmark. This behavior is achieved by encoding the navigational state of WebSphere Portal into the URL. Different navigational states result in different URLs.
- Controller SPI
You can use the Controller SPI for portal administration. It allows you to modify portal resources. It enhances the read-only portal Model SPI by adding writable aspects.
- User and group management
The Portal User Management Architecture (PUMA) System programming interface (SPI) provides interfaces for accessing the profiles of a portal User or Group.
- Portal Access Control SPI
The Portal Access Control (PAC) System Programming Interface (SPI) retrieves and modifies access control information of portal resources that are managed by Portal Access Control.
For example, such resources can be portlets or pages.
- Web 2.0 user interface features
Learn about new portal features that pertain to the next generation type of Web user interface.
- Portlet communication
WebSphere Portal supports multiple ways for portlets to exchange or share information.
- Drag and drop zones
WebSphere Portal includes markup that allows users to drag portlets on a page. Learn about the tags and APIs provided to enable the drag and drop features and how you can include them in custom themes and skins.
- Dynamic user interfaces
Learn about dynamic user interfaces that include dynamic pages, dynamic portlets, dynamic UI configuration, dynamic UI properties, and shared dynamic UIs. Get an overview of how to develop a dynamic UI configuration.
- Collaborative Services API
Lotus Collaborative Services provide Java API methods and tags for JavaServer Pages (JSP files) for extending the functionality of collaborative portlets such as the Domino and Extended Products Portlets, People Finder, and the Common Mail portlet.
- IBM Portlet API
The IBM Portlet API is being deprecated for WebSphere Portal v6.1.5, but is still supported. No new functionality will be added and it is recommended you use the Standard Portlet API.
- Develop a personalized portlet
This exercise demonstrates how to use Personalization features of WebSphere Portal and Rational Application Developer to build your first personalized portlet. Your final result is a working portlet that uses Personalization rules and content spots to display personal news based on user attributes (or profiles).
- Personalization programming reference
WebSphere Portal provides the programming model, processes, and APIs for the Personalization rules and resource engines.
- Portlet development reference
View important information and concepts related to portlet development.