# Oracle9iAS Portal Developer Services
An Overview of Oracle9iAS Portal Standards

Last Updated: | June 20, 2003
Status: | Production
Release | PDK Release 2 (9.0.2 and later)

## Introduction

Oracle9iAS Portal and the Oracle9iAS Portal Developer Kit (PDK), together provide an open framework that supports industry-wide standards, as well as allowing you the flexibility to use the language of your choice. The PDK does not lock you in to proprietary technology, instead using the PDK, you can:

- seamlessly integrate new and existing applications as portlets
- build portlets using standards such as J2EE, SOAP, XML
- use the language of your choice to build portlets
- build portlets using off-the-shelf Web Service components

You need to leverage some or the other standard, while building various types of applications and portlets, whether they are:

- interoperable applications,
- web services based applications,
- security-focused applications,
- content-management applications, or
- applications with multi-device or mobile support.

This document describes some of the important industry standards supported by Oracle9iAS Portal and the Oracle9iAS Portal Developer Kit, and describes the standards initiatives that Oracle is participating in.

## Oracle9iAS Portal Standards Support

Oracle9iAS Portal's architecture and infrastructure is based on industry-wide standards and protocols, such as:

- HTML (HyperText Markup Language) - Oracle9iAS Portal delivers pure HTML content to your browser, with support for various browsers across the board.
- HTTP (HyperText Transport Protocol) - Components of Oracle9iAS Portal communicate, both internally and with external components, using the HTTP protocol. The HTTP server component of Oracle9i Application Server is primarily comprised of the Apache Web server, one of the most popular web servers.
- XML (Extensible Markup Language) - The Oracle9iAS Portal Developer Kit (PDK) provides a powerful XML vocabulary for describing your providers and portlets in a format that the portal understands, while assembling the pages. The provider definition file or provider.xml is a powerful way to declaratively configure your providers and portlets.
- SOAP (Simple Object Access Protocol) - SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. SOAP is the basis for Oracle9iAS Portal's Web provider architecture and allows users to deploy portlets remotely and thus be able to build more scalable and high-performance solutions in the long term.

### J2EE (Java 2 enterprise Edition) and OC4J Standards

Oracle9iAS Portal Release 2 is 100% J2EE compliant and the PDK provides complete support for building J2EE portlets. Oracle9iAS Portal Release 2 runs on Oracle9i Application Server (Oracle9iAS) which provides a fast, lightweight, highly scalable, and easy-to-use J2EE environment, Oracle9iAS Containers for J2EE (OC4J). You can leverage a number of industry-wide standards while deploying your portlets to OC4J.

OC4J is written entirely in Java and executes on the standard Java Development Kit (JDK) virtual machine. It provides a complete J2EE environment that includes a JSP Translator, a Java Servlet engine and an Enterprise Java Beans (EJB) container.

The following runtime containers and APIs are provided:

- Java Servlets 2.2
- JSP (JavaServer Pages) 1.1
- EJB (Enterprise JavaBeans) 1.1
- JNDI (Java Naming and Directory Interface) 1.2 - ability to set deployment property information for your provider directly from the web.xml using the JNDI environment variables. Review, Using JNDI with the PDK Release 2.
- JTS (Java Transaction API) 1.0.1
- JMS (Java Messaging Service) 1.0.1
- JDBC (Java Database Connectivity) 2.0
- JavaMail 1.1.2
- JAF (Java Activiation Framework) 1.0

In addition to the fully implemented J2EE 1.2 containers and APIs, OC4J also provides implementations of portions of the EJB 2.0 and Servlet 2.3 specifications from the J2EE 1.3 specification. This release is certified to run against the standard JDK 1.2.x or JDK 1.3.x.

Oracle 9iAS release 9.0.3 is fully J2EE 1.3 compliant and has been certified with JDK 1.4.

Additional OC4J documentation about other standards support:

- J2EE portlets: Building J2EE portlets with PDK

- Web Applications: Deploying Web Applications using OC4J (FAQ)

- JCA: Using J2EE Connector Architecture(JCA) with OC4J (FAQ)

- JMS: OC4J Support for Java Message Service (JMS) (FAQ)

- JAAS/JAZN: Security using JAAS(Java Authentication and Authorization Service) with OC4J (FAQ)

### Other Standards Supported by Oracle9iAS Portal

Besides the key standards supported by the infrastructure, there are a number of other standards that Oracle9iAS Portal supports, including the following :

- WebDAV (Web-based Distributed Authoring and Versioning) - Oracle9iAS Portal supports the use of the WebDAV protocol. Using a WebDAV client, such as Windows Explorer or Cadaver, you can map Portal page groups to your desktop as Web Folders and seamlessly drag and drop content, files, and folders back and forth between Portal and your desktop. Also, from Web Folders, you can perform in-place opening, editing, and saving of file-type items using desktop applications, such as Office 2000.
- LDAP (Lightweight Directory Access Protocol) - Oracle9iAS Portal integrates with LDAP V3 directories, such as Oracle Internet Directory (OID) to leverage a pre-existing user repository for authentication, and facilitates adapting the Single Sign-On (SSO) Server to an existing Directory Information Tree (DIT), and by accessing the LDAP repository whenever user information is requested. Oracle9iAS SSO Server provides a single point of validation for portal user credentials and governs user access to intranet resources based on employee profiles. When a user logs into a portal page, the SSO Server validates the user name and password against user and group profiles stored in Oracle Internet Directory. OID’s Directory Integration Platform (DIP) in Oracle9iAS Release 2 supports directory-synchronized provisioning. This means that directory-enabled applications, such as Portal, can subscribe to provisioning events of interest, such as user deletion or modification, as well as group deletions and modification, and receive notifications when these events occur. The Portal can then take necessary actions when the notifications are received.
- JAAS (Java Authentication and Authorization Service) - JAAS is an extension to the Java language that enables services and applications to authenticate users and enforce access controls. Authentication is used to verify the identity of a user or an entity to be granted access to the computer resources. Oracle9iAS Containers for J2EE (OC4J) supports JAAS by implementing a JAAS provider, known as JAZN. The JAZN provider provides application developers with user authentication, authorization, and delegation services to integrate into their application environments. It also supports JAAS policies. Policies contain the rules(permissions) that authorize a user to use resources, such as reading a document and so on. You can use JAAS to secure resources, while building portlets using the PDK. In future releases of the PDK, there will be tighter integration with JAZN to allow you to authenticate users and access user information (eg groups or user profile information) from OID.
- JSP Extensibility (Java Server Pages) - Oracle9i AS Portal Release 2 supports the import and export of JSPs directly to Portal. This way, organizations that have existing Web interfaces built with HTML or JSP, or who prefer to develop and maintain their code using industry standard Java, can now access portlets and even build entire Portal pages using JSP. Portal developers using Java Server Pages can make full use of the portal infrastructure for functionality like Single Sign-On and object access privileges. When you generate a JSP from a portal page, it will produce a file containing HTML. You can edit the file as desired, and when you load the file back into Portal, it will be included in your portal navigation for administration. You can also easily plug-in JSPs to portlets using the PDK.
- MLS (Multi-language Support) - Oracle9 i AS Portal allows you to render your portal in as many languages as you want. This way you can truly build a global portal that can connect your employees and customers across the world. With an MLS environment like Oracle9 i AS Portal, a single install of the portal can be running in multiple languages at once
- Multi-device Support (Mobile XML) -The concept of mobile and wireless devices has been directly integrated into the declarative page model of Oracle9 i AS Portal Release 2. When you create a page, you can set it to be mobile enabled, directly, so that anything that is mobile capable on the page, will be displayed to the mobile device. You can also create, within the declarative environment, a mobile view on a page that shows you a view of what the device will see. In the browser, you will see a matrix with a set of boxes. In a mobile phone, you will see a hierarchical menu. By using the PDK, you can access device specific information, letting the portlet know that the request is coming from a PDA or mobile phone, so the portlet developer can make choices. You can do a simple implementation, by passing back simple XML or mobile XML, or you can encode rendering that is very specific to the device. Mobile XML is a proprietry XML format that allows you to code a single mobile enabled view of your portlets. Oracle9 i AS Wireless converts the mobile XML into the appropriate format for the device that is requesting the page. This enables you to support a wide variety of mobile devices with a single portlet implementation.
- OASIS/WSRP - WSRP is a web services standard that allows the plug-n-play of visual, user-facing web services with portals or other intermediary web applications. Being a standard, WSRP enables interoperability between a standards enabled container and any WSRP portal. Oracle9iAS Portal Release 2 will support WSRP to allow interoperable portlets to be rendered in an Oracle environment.
- JSR 168 - JSR 168 is a specification that defines a set of APIs to enable interoperability between portlets and portals, addressing the areas of aggregation, personalization, presentation, and security. Oracle9iAS Portal Developer Kit (PDK) provides developers the API to build interoperable portlets with WSRP enabled portal (coming soon).

Additional Resources:

- WebDAV: WebDAV and WebFolders
- LDAP, SSO, DIP, DAS DIT: Oracle9 i AS Portal Security Overview
- JAAS: Security with JAAS/JAZN
- JSP: Integrating Java Server Pages
- MLS: Adding MLS Support with PDK
- Mobile: Mobile Enabling your Portal

### Web Services Standards

Web Services are increasingly becoming an industry-wide standard for enabling interoperability of applications. Web Services encapsulate business services that can be accessed over your intranet or the internet. Web services can be described, published, discovered, and invoked dynamically in a distributed computing environment. This is a very powerful paradigm since web services are platform independent, language neutral, and use standard protocols for communication. This means that any application that declares its public interfaces, can be accessed by other applications over the internet.

Let us examine the main standards that play an important role with Web Services:

- WSDL: The Web Services Description Language is an XML vocabulary that provides a standard way of describing service IDLs. WSDL provides an abstract language for defining the published operations of a service with their respective parameters and data types. The language also addresses the definition of the location and binding details of the service.
- UDDI: The Universal Description, Discovery, and Integration specification provides a common set of SOAP APIs that enable the implementation of a service broker. The UDDI specification was outlined to help facilitate the creation, description, discovery, and integration of Web based services.
- SOAP: Simple Object Access Protocol is an XML-based lightweight protocol for the exchange of information in a decentralized, distributed environment. SOAP defines a messaging protocol between requestor and provider objects, such that the requesting objects can perform a remote method invocation on the providing objects in an object-oriented programming fashion.

Oracle 9iAS Portal Developer Kit (PDK) provides a declarative interface that lets you easily plug-in web services portlets and enhance them in different ways. The PDK allows you to declaratively invoke Web Services with its built-in Web Service Renderer classes and easily control the rendition of the portlet through XSL stylesheets. The PDK also provides powerful support that lets you declaratively tie portlet parameters to Web service parameters, personalize or automate the web service portlet and enable inter-portlet communication as required. With the PDK, you can invoke both RPC(Remote Procedure Call) style web services and DOC(Document) style web services with specialized web service renderer classes.

#### .NET and J2EE

You can also assemble .NET based Web service portlets with J2EE based Web Service portlets seamlessly on the same page, in exactly the same way. This provides a powerful way to make your enterprise portal an open environment where you could leverage the best of both worlds – both .NET and J2EE platforms.

Additional Resources:

- Understanding Web Services for Portlets

- How to Build a Portlet Using Web Services

- Web Services FAQ

- Web Services Center on OTN

#### WSRP & JSR 168

The Oracle9iAS Portal development team is actively participating in the WSRP committee and is also a member of the expert group for JSR 168. Oracle is committed to supporting these standards and is working on a production release of a WSRP-enabled portal. Today, OTN (Oracle Technology Network) members can view a hosted a pre-release version of the WSRP portal and verify interoperability of their own WSRP-enabled portlets. On this hosted portal, users can also view a set of WSRP sample portlets, register a provider (also known as producer), and add portlets to a page. Once the JSR 168 APIs are public, developers will be able to download a JSR 168 PDK and begin building portlets that can be registered and tested on the site. This PDK will include a JSR 168 portlet wizard that simplifies portlet development and simultaneously reduces the learning curve for these new APIs.

Additional Resources:

- An Overview of Oracle's Support for OASIS/WSRP & JSR 168
- An Interview with an Oracle Expert
- Oracle9iAS Portal Center - WSRP & JSR 168
- Oracle9iAS Portal Verification Service

Since Oracle9iAS Portal Developer Kit provides an open framework, the list for standards support is endless. Any application built using any standard could be conceivably portletized using the PDK framework.

## Summary

The industry has recognized the importance of working together and developing industry-wide standards. Hence the list of standards is growing constantly. As part of the Oracle9iAS platform, Oracle9iAS Portal is working continuously with these evolving standards like WebDAV, WSRP and JSR168 to keep Oracle9iAS Portal as the most open solution for building and deploying enterprise portals.

Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065, USA http://www.oracle.com/ | Worldwide Inquiries: 1-800-ORACLE1 Fax 650.506.7200 | Copyright and Corporate Info