Complete Contents
Introduction
Chapter 1 About Netscape Application Server Extensions
Chapter 2 About the Netscape Extension Builder
Chapter 3 Introduction to Netscape's Interface Definition Language
Chapter 4 Designing a Netscape Extension
Chapter 5 Generating Output Files
Chapter 6 Completing Method Stubs
Chapter 7 Using Template Streaming
Chapter 8 Managing State and Session Information
Chapter 9 Using Object Pools
Chapter 10 Compiling the Extension Source Code
Chapter 11 Deploying and Managing a Netscape Extension
Chapter 12 Example Extension: HelloWorld
Appendix A C++ Helper Functions
Appendix B Java Helper Static Methods
Appendix C Java Class Decorations
Appendix D Reserved Words
Appendix E The ConnManager.cpp File
Glossary
Contents Index


Developer's Guide
  
This book explains how to build extensions, which are services residing in Netscape Application Server.


Contents
 
Introduction
Syntax Conventions
Programming Language Conventions
Operating System Conventions
 
Chapter 1 About Netscape Application Server Extensions
What is a Netscape Application Server Extension?
About the NAS Application Model
How Extensions Relate to NAS Application Model
Why Build an Extension?
Integrate Existing Functionality
Integrate Third-Party Solutions
Implement Shared Services
About Building a Netscape Application Server Extension
Define the API
Design the Interfaces and Coclasses
Generate IDL Files
Generate Extension Source Code
Write the Implementation Code
Compile the Extension Source Code
Deploy the Extension
Write the Application Component
 
Chapter 2 About the Netscape Extension Builder
What is the Netscape Extension Builder?
Components of Netscape Extension Builder
Netscape Extension Builder Designer
KIDL Compiler
Netscape Extension Builder Runtime Features
Extension Make Harness
 
Chapter 3 Introduction to Netscape's Interface Definition Language
What is Netscape's Interface Definition Language?
About KIDL
How KIDL Corresponds to the Parts of a Netscape Extension
Extension Module
Access Module
Service Module
 
Chapter 4 Designing a Netscape Extension
About Netscape Extension Builder Designer
Overview of the Graphical User Interface (GUI)
How to Use Netscape Extension Builder Designer
Extension Design Flow Using Netscape Extension Builder Designer
Starting Netscape Extension Builder Designer
Creating an Extension Module
Creating an Access Module
Defining a Global Constant
Creating a Service Module
Creating an Access or Service Module by Importing an IDL File
Designing an Interface
Defining a Method
Designing a Coclass
Implementing an Interface
 
Chapter 5 Generating Output Files
About Generating Output Files
Output From Netscape Extension Builder Designer
Source Code Output From Running gmake
Generating Files from the Designer
Generating Source Code Using gmake
Source Code for a Java Extension
Source Code for a C++ Extension
Diagram of Extension Components
 
Chapter 6 Completing Method Stubs
Steps to Completing Method Stubs
Locating Stub Files
Locating Interface Code
Adding Implementation Code
Adding a Creation Method
Extending the Class Definition
Using Netscape Application Server Services
Using Extensions From Applications
Determining Accessor Names
Adding Accessor Code to Application Components
Linking an Application Component
 
Chapter 7 Using Template Streaming
Introduction to Template Streaming
Steps for Enabling Template Streaming
Example of Template Streaming
Setting the Template Streaming Decoration
Completing Stubs to Support Template Streaming
Template Streaming in C++ Extensions
Template Streaming in Java Extensions
Creating a Template
Testing an Application
The CZoo.java File
 
Chapter 8 Managing State and Session Information
About State and Session Management
Using Application State in an Extension
Creating the Root Node in a C++ Extension
Creating the Root Node in a Java Extension
Setting and Managing State Data
Using Sessions in an Extension
Local Versus Distributed State and Session Data
Using a Distributed Session or State
Using a Local Session or State
Example Code Walkthrough
Implement the IState2 Interface
Implement the ISession2 Interface
 
Chapter 9 Using Object Pools
Introduction to Object Pooling
Summary of Object Pooling Tasks
Key Concepts
Process Overview for Object Pooling
Example of Object Pooling
Inside a Pool-Enabled Extension
Creating a Connection
Calling a Method on a Virtual Connection
The Introspection Interface
The Object Evaluation Interface
Inside the Object Pool Manager
Matching a Pooled Object
Creating a Pooled Object
Replacing a Pooled Object
Queuing a Request
Returning a FAILURE State
Adding Decorations for Object Pooling
Creating Pooled Objects
Designating Objects That Can Be Pooled
Changing a Pooled Object's Lifetime
Passing a Pooled Object
Completing Stubs for Pooled-Object Creation Methods
Completing Stubs for Object Evaluation Methods
Implementing MatchObject( )
Implementing CreateObject( )
Implementing StealObject( )
Implementing ReleaseObject( )
Implementing InitObject( )
Implementing UninitObject( )
Implementing GetHint( )
Reference List of Object Pooling Decorations
 
Chapter 10 Compiling the Extension Source Code
About Compiling the Source Code
Introduction to Editing Makefiles
Editing Makefiles on Solaris
Editing Makefiles for C++ Extensions
Editing Makefiles for Java Extensions
Editing Makefiles On Windows NT
Editing Makefiles for C++ Extensions
Editing Makefiles for Java Extensions
Configuring the make Harness
The make Harness
Inside the IDL Directory
Inside the cpp Directory
Inside the Java Directory
 
Chapter 11 Deploying and Managing a Netscape Extension
Deploying a Netscape Extension
Verifying Extension Configuration
Disabling an Extension
Adjusting Object Pooling Configurations
 
Chapter 12 Example Extension: HelloWorld
About the Example
Design the Extension
Open Netscape Extension Builder Designer
Create an Access Module
Create a Service Module
Generate IDL Files
Complete the Extension
Build the Application
Test the Application
 
Appendix A   C++ Helper Functions
GXContextCreateDataConn( )
GXContextCreateDataConnSet( )
GXContextCreateHierQuery( )
GXContextCreateMailbox( )
GXContextCreateQuery( )
GXContextCreateTrans( )
GXContextDestroySession( )
GXContextGetAppEvent( )
GXContextGetObject( )
GXGetStateTreeRoot( )
GXContextIsAuthorized( )
GXContextLoadHierQuery( )
GXContextLoadQuery( )
GXContextLog( )
GXContextNewRequest( )
GXContextNewRequestAsync( )
 
Appendix B   Java Helper Static Methods
CreateDataConn( )
CreateDataConnSet( )
CreateHierQuery( )
CreateMailbox( )
CreateQuery( )
CreateTrans( )
DestroySession( )
GetAppEvent( )
GetObject( )
GetStateTreeRoot( )
IsAuthorized( )
LoadHierQuery( )
LoadQuery( )
Log( )
NewRequest( )
NewRequestAsync( )
 
Appendix C   Java Class Decorations
 
Appendix D   Reserved Words
 
Appendix E   The ConnManager.cpp File
 
Glossary
 
Index
 

Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.