ポートレットとは、ポータル上に統合されるさまざまなWebアプリケーションのことです。たとえば、ニュース、住宅情報、株価情報など複数の独立したポートレットを、ある1つのポータルに統合することができます。通常、それぞれのポートレットは独自のインターフェイスや通信プロトコルを持っているため、統合するためのプログラミング作業が必要になります。しかしWSRPにより、簡単なマウス操作でポートレット(WSRPサービス)を発見し、画面上に配置して統合できるようになります(図1)。WSRPは、複雑なプログラミング作業なく、簡単にポートレットを統合できるようにするための技術なのです。
ポートレットのAPIはさまざまなプログラミング言語で定義されていますが、WSRPはプラットフォームの違いを吸収することができます。そのために、WSRPはWebサービス技術を使用します(図2)。WSRPサービス・インターフェイスを記述するためにWSDLを、WSRPサービスを呼び出すためにSOAPバインディングを使用します。また、HTML、XHTML、VoiceXML、cHTMLなどに対応し、将来はWS-SecurityやWS-Policyにも対応する予定のようです。
サービス記述インターフェイス |
必須。ポートレットのメタデータを取得する |
ServiceDescription
= getServiceDescription(RegistrationContext, desiredLocales
); |
マークアップインターフェイス |
必須。ポートレットのマークアップを取得しユーザ対話を処理する |
MarkupResponse
= getMarkup(RegistrationContext, PortletContext,
RuntimeContext,UserContext, MarkupParams); |
BlockingInteractionResponse
= performBlockingInteraction(RegistrationContext,PortletContext,
RuntimeContext, UserContext,MarkupParams, InteractionParams); |
ReturnAny = initCookie(RegistrationContext); |
ReturnAny = releaseSessions
(RegistrationContext, sessionIDs); |
登録インターフェイス |
任意。登録を確立・更新・破棄する |
RegistrationContext
= register(RegistrationData); |
RegistrationState
= modifyRegistration(RegistrationContext, RegistrationData); |
ReturnAny = deregister(RegistrationContext); |
ポートレット管理インターフェイス |
任意。ポートレットのメタデータを取得し、コピーする |
PortletDescriptionResponse
= getPortletDescription(RegistrationContext, PortletContext,UserContext,
desiredLocales ); |
PortletContext
= clonePortlet(RegistrationContext, PortletContext,
UserContext); |
DestroyPortletsResponse
= destroyPortlets (RegistrationContext, portletHandles); |
PortletContext
= setPortletProperties (RegistrationContext, PortletContext,
UserContext,PropertyList); |
PropertyList =
getPortletProperties (RegistrationContext, PortletContext,
UserContext,names); |
PortletProperties
DescriptionRespons e = getPortletPropertyDescription(RegistrationContext,PortletContext,
UserContext, desiredLocales ); |