Developing exteNd Director Applications

CHAPTER 1

About Novell exteNd Director

This chapter provides an overview of Novell exteNd Director. It contains the following sections:

 
Top of page

About Novell exteNd Director

Novell exteNd Director is a set of software development tools and programming APIs for building state-of-the-art enterprise applications. exteNd Director provides all of the technologies you need to build Web applications that present a relevant view of business functions to any user on any device. exteNd Director also provides the tools you need to consume Web Services, including those created with exteNd Composer.

The exteNd Director application architecture supports many ways of building user views of business functions. For example, by taking advantage of the user profiling and content management features provided with exteNd Director, you can ensure that individual users see information that is most relevant to their needs. In addition, you can use the workflow features of exteNd Director to model business processes, and rules to model business decisions. exteNd Director applications can satisfy the hardware requirements of a wide range of users, including conventional desktop users as well as those accessing Web content from wireless devices.

 
Top of section

exteNd Director portal

exteNd Director applications typically include a portal Web site. The portal is the presentation layer for an exteNd Director application, providing the interface through which users get to the Web content they want to see.

To give you a head start in building applications, exteNd Director provides a default project called Express Portal, which is a complete portal application based on the standard exteNd Director project template. You can use this application out of the box to:

 
Top of section

Deployment configurations

The exteNd Director application architecture supports a wide range of deployment configurations, as shown in the following diagram.

cdintro1

 
Top of section

Standards compliance

exteNd Director supports several industry standards, including the following:

J2EE

exteNd Director is a J2EE-compatible platform for building and deploying enterprise-class applications. The J2EE specification defines the required levels of support that compliant application servers must provide, as well as a programming model for applications that will be deployed to the application server. Applications are deployed into a J2EE-compliant application server as J2EE modules. A J2EE module is a collection of components packaged in an archive. exteNd Director applications are deployed in the following kinds of archives:

Portlets

exteNd Director is fully compliant with the Java Portlet 1.0 Specification which defines the portlet standard.

A portlet is a specialized Java class that processes requests from Web clients and generates dynamic content on a portal page. You can think of portlets as pluggable user interface elements that provide a presentation layer for portal applications. Users can personalize the content and appearance of portlets, based on preferences set by an administrator.

XForms

exteNd Director provides an environment for developing XForms 1.0-compliant Web forms. The advantages of the XForms standard include:

 
Top of page

exteNd Director subsystems

exteNd Director includes a set of core technologies called subsystems. Each exteNd Director subsystem is a logical grouping of a set of software services. Each service is a Java class that implements a particular interface defined for exteNd Director applications. The subsystems support a services-oriented architecture, which means that you can extend or replace the individual services included with each subsystem. The exteNd Director subsystems can be deployed separately, or can be combined together to form an integrated solution. When you create an exteNd Director project, you select the subsystems your application requires.

The exteNd Director subsystems include several prebuilt user interfaces, as well as comprehensive APIs that let you build J2EE applications from the ground up.

exteNd Director includes the following subsystems:

Subsystem

Description

Content Management

Allows you to create, label, categorize, and display content. Your application can retrieve, display, and update content and display it in various formats based on style sheets. Content is stored in a database associated with your application.

You can create simple (standalone) documents, hierarchical documents (such as discussion threads), and compound documents (such as reports with linked attachments). Each document is described by a set of metadata—an underlying description or definition. The Content Management subsystem allows you to define custom metadata that organizes documents so that individual users can easily retrieve the content that is most relevant to their needs.

For more information    For details on using the Content Management subsystem, see the Content Management Guide.

Directory

Provides services for managing user authentication. It works with your application server's security realms to check user IDs and passwords and to add users to the realm.

For more information    For details on using the Directory subsystem, see the User Management Guide.

Framework

Provides core exteNd Director services. The Framework provides support for caching, system configuration, session management, and other services used by the other subsystems.

The Framework is required by all other subsystems.

For more information    For details on using the Framework subsystem, see the remaining chapters of this book, as well as the com.sssw.fw package hierarchy in the API Reference.

Pageflow

Allows you to graphically model the flow of control for a set of pages that execute within a single portlet. Each page within a pageflow presents a set of controls that allow for user interaction. For example, the pages in a flow might provide a way for the user to display stock quotes or weather forecasts, or access corporate data such as employee information.

For more information    For complete details on developing pageflows, see the Pageflow and Form Guide.

Portal

Provides Web presentation services. It includes the Portal Aggregator, the Page Manager, the Portal Administrator, and the Portal Personalizer.

To take advantage of the services of the Portal subsystem, you typically build your own Web applications. You can configure your Web applications to include the Portal Web tier, which provides end-user portal functionality.

For more information    For complete details on developing exteNd Director portal applications, see the Portal Guide.

Portlet

Provides development and runtime support for portlets. This support includes the Novell Portlet implementation, as well as the underlying APIs defined by Java Portlet 1.0. When you include the Portlet subsystem, you can create your own custom portlets.

Rule

Allows you to fire business rules. A rule is a conditional formula for making a choice in an exteNd Director application. Rule definitions are stored and edited separately from the portlets that invoke them. Whenever an application decision is in a rule, you can change the logic later, without rewriting and recompiling portlets and pages.

Rules consist of conditions and actions. A condition is a test that determines what action or actions will be taken when the condition is true or false.

For more information    For details on using the Rule subsystem, see the Rules Guide.

Search

Provides the ability to search content using conceptual pattern matching, a more sophisticated approach than full-text searching, which is traditionally based on keywords. Conceptual searching returns content that is related by meaning and ranked by relevance to the search criteria.

The Search subsystem is based on the Autonomy Application Builder toolkit and Dynamic Reasoning Engine (DRE).

The Content Management subsystem is integrated with the Search subsystem to provide both SQL-based and conceptual searching capabilities.

For more information    For details on using the Search subsystem, see the Content Search Guide.

Security

Provides role-based security services to restrict user access to portlets and pages, and ACL-based security services to restrict access to subsystem functionality. You can define security roles and access control lists (ACLs) programmatically or interactively using the Director Administration Console (DAC).

For more information    For details on using the Security subsystem, see the User Management Guide.

User

Allows you to save information about users in user profiles. When a user has logged in to your exteNd Director application, you can save and update information about the user and the user's usage patterns. User profiles are stored in a database deployed with your application.

Typically, user profiles contain two types of information:

  • Explicit  Data that users provide, such as an e-mail address or a zip code

  • Implicit  Data you collect about their actions, such as how many times they purchase a particular item or view a particular page

For more information    For details on using the User subsystem, see the User Management Guide.

Workflow

Allows you to graphically model business processes that use simple or rules-based routing (links) to move metadata and documents relating to an item of work among workflow activities. Participants access their work at activities through workitem queues. A runtime engine manages processes, workitems, and participants.

For more information    For details on using the Workflow subsystem, see the Workflow Guide.

 
Top of page

exteNd Director tools

exteNd Director provides a complete development environment, as well as several prepackaged Web tiers (Web applications) that you can run within a browser.

 
Top of section

exteNd Director development environment

At its lowest level, the exteNd Director development environment is a file-system based toolset that includes these utility tools and facilities:

 
Top of section

exteNd Director Web tiers

exteNd Director includes some prebuilt Web tiers. Each Web tier is a Web application that you can use immediately after deploying your exteNd Director project. Each of the Web tiers runs in a browser.

exteNd Director includes the following Web tiers:

These tools are intended for use by application developers, system administrators, and content developers respectively.

Internally, these Web tiers use the services of a number of exteNd Director subsystems, including the Framework, Portal, User, Directory, and Content Management subsystems.

Express Portal

When you install exteNd Director, you get an Express Portal application that you can run immediately. You do not need to deploy the application from the exteNd Director development environment to use it. You can simply start your browser and begin using the application right away.

cdDefaultPortalPageUser

For more information    For more information on using the Express Portal, see the chapter on the Express Portal in the Portal Guide.

Director Administration Console

The Director Administration Console (DAC) provides support for administrative tasks such as configuring parameters, managing security access to portal objects, inspecting portlets, pages, and styles, and managing user profiles.

cdDAC

For more information    For more information on using the Director Administration Console, see About the Director Administration Console.

CMS Administration Console

The CMS Administration Console provides an interface for setting up and maintaining the infrastructure for a content management system. The CMS Administration Console allows you to create, edit, secure, and publish HTML and XML content for your portal applications.

cdCMSAdminConsole

For more information    For details on using the CMS Administration Console, see the Content Management Guide.

 
Top of page

exteNd Director API

To write Java code for exteNd Director applications, you use exteNd Director API classes in your Java code and call their methods. The exteNd Director API provides public classes (and interfaces) organized into several packages, which themselves are organized by subsystem.

The exteNd Director API is based on the Java 2 APIs (J2SE and J2EE). That means it includes classes that inherit from Java 2 classes and implement Java 2 interfaces. If you're familiar with the Java 2 APIs, you'll have a good foundation for understanding and using the exteNd Director API.

For more information    For more information on using the exteNd Director API, see Coding Java for exteNd Director Applications.

 
Top of page

Building an application

An exteNd Director application is packaged in a single exteNd Director EAR or WAR file. You can create a new project for the EAR or WAR by running the exteNd Director Project Wizard in the development environment. Alternatively, you can simply open the project for the Express Portal in the development environment and begin working in that project.

If you're new to exteNd Director, you might want to begin by using the Express Portal application right away.

 
Top of section

Using the Express Portal application out of the box

You can run the Express Portal application as soon as you finish the installation process. The Express Portal provides a set of Web-based tools you can use to customize the application. For example, you might want to create user pages and shared pages, and then add some predefined portlets to these pages.

 
Top of section

Working in the Express Portal project

If you install the exteNd suite using the Express or Custom install, the Express Portal project is added to your suite install directory. You can then open the project in exteNd Director and customize it with your own business logic—for example, by adding new portlets, portal pages, and other Web resources such as JSPs and servlets.

Here are the general steps you need to follow to build your application within the Express Portal project:

  1. Install exteNd Director.

    For more information    For installation instructions, see Installing Novell exteNd.

  2. Open the Express Portal project in exteNd Director.

    For more information    To access the Express Portal project in exteNd Director, see the section on opening the Express Portal project in the Portal Guide.

  3. Add any objects you need for your application within this project. For example, you might want to add pageflows, forms, and portlets to the application.

  4. Deploy the application.

    NOTE:   If you installed the exteNd suite using the Express install option, the Express Portal is deployed to the exteNd Application Server at installation time and ready to run. To get started, see the section on starting the Express Portal application in the Portal Guide.

    For more information    For instructions on deployment, see Deploying exteNd Director Applications.

Dynamic loading and the resource set   exteNd Director provides a special location called the resource set that manages application resources you create. The resource set can hold definitions for pageflows, portlets, rules, styles, and other objects required for your application to function properly. The resource set can also hold Java classes that you implement. When you make changes to items in the resource set, you do not need to redeploy the application, since these resources are loaded dynamically.

 
Top of section

Creating a new project

If you decide to create a new project, you need to run the exteNd Director Project Wizard. This wizard lets you select the subsystems you want to use and specify configuration properties for these subsystems. After you've finished making your selections, the wizard creates a project that includes the J2EE modules you need for your application.

Once you've run the wizard, you can add additional application-specific J2EE modules to the project. You can also add or remove subsystems or make any other necessary changes to the structure and content of the EAR or WAR, just as you would with any J2EE application.

When you're ready to deploy the application, you can use the deployment tools provided in the exteNd Director development environment to deploy the EAR or WAR to one or more servers.

Here are the general steps you need to follow to create and deploy an exteNd Director application in a new project:

  1. Install exteNd Director.

    For more information    For installation instructions, see the Installing Novell exteNd.

  2. If you will use the Search subsystem, configure the Autonomy DRE.

    For more information    For instructions, see the Content Search Guide.

  3. Create a new database for your exteNd Director application, and if your JDBC driver expects it, define an ODBC data source name (DSN) for your newly created database. exteNd Director uses a default name of exteNd Director for the data source, but you can use your own name.

    This database holds exteNd Director tables that contain data required by several of the subsystems.

    On a Novell exteNd Application Server, this can be different from the deployment database. A typical scenario is to deploy the exteNd Director application to the SilverMaster database, and provide a separate database for the exteNd Director data.

    For more information    For instructions on creating the database, see your DBMS documentation.

  4. Create a new exteNd Director EAR or WAR project using the exteNd Director Project Wizard with an exteNd Director template.

    For more information    For instructions, see Creating an exteNd Director project.

  5. Set up dynamic loading so that you can test application resources without frequent redeployments.

    For more information    For instructions, see Dynamic loading of resources and classes.

  6. Do the required deployment setup for your server. Some setup is done in exteNd Director; for the rest, you use your server's tools.

  7. Deploy the application.

    For more information    For instructions, see Deploying exteNd Director Applications.



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...