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:
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) - Oracle9iAS
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) - Oracle9iAS 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 Oracle9iAS 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 Oracle9iAS 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. Oracle9iAS
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:
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:
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:
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.