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
Previous Contents Index


Glossary

access module.   A grouping of interfaces that servlet and Enterprise JavaBean (EJB) application objects use to access extension objects. The interfaces within the access module have no implementation details.

accessor.   A reference to the manager class of an extension's service. A servlet, EJB or AppLogic calls an accessor in order to make use of a particular service in an extension. Netscape Extension Builder creates accessors automatically during code generation. A C++ accessor is a global function, whereas a Java accessor is a static method in an accessor class.

application.   A computer program that performs a task or service for a user. Also see web application.

AppLogic object.   A set of programming instructions that accomplish a well-defined, modular task within the application. AppLogic objects run on the Netscape Application Server and are managed and hosted by it. Typically, an application includes several to many AppLogics, which can be deployed across many servers. These AppLogics provide some or all of the procedural, or logic, portion of the application. Each AppLogic object is derived, directly or indirectly, from AppLogic class in the Netscape Application Server Foundation Class Library. AppLogic components are used if your application is written in C++ or if it will run in the NAS 2.x environment.

attribute.   Attributes are name-value pairs in a request object that can be set by servlets. Contrast with parameter. More generally, an attribute is a unit of metadata.

business logic.   The implementation rules determined by an application's requirements.

cache.   See result cache.

class.   A named set of methods and member variables that defines the characteristics of a particular type of object. The class defines what types of data and behavior are possible for this type of object.

client.   A computer or application that contacts and obtains data from a server on another computer. A client program is designed to work with one specific type of server. For example, a Web browser is a client application that contacts a Web server and requests Web pages. The server might be in the next room, across town, or on the other side of the world.

coclass.   The design-time representation of a Netscape Application Server extension class. A coclass becomes a class after the IDL files are compiled using the KIDL Compiler.

code generation.   The process of translating IDL files into a source code tree. In Netscape Extension Builder, the KIDL Compiler uses IDL files to generate Java or C++ source code. The KIDL Compiler is invoked by running the gmake utility from an extension's top-level build directory.

COM class.   An internal base class of Netscape Application Server's Foundation Class Library. The COM class implements a simple Java wrapper of native Component Object Model (COM) objects.

component.   A servlet, Enterprise JavaBean (EJB), or JavaServer Page (JSP).

constructor.   A method that instantiates a class.

container.   A process that executes and provides services for an EJB.

database.   A generic term for Relational Database Management System (RDBMS). A software package that enables the creation and manipulation of large amounts of related, organized data.

decoration.   A KIDL-specific value that is added to generic IDL to help the KIDL Compiler generate code.

Enterprise JavaBean (EJB).   A business logic component for applications in a multitiered, distributed architecture. EJBs conform to the Java EJB standard specifications, which defines beans in terms of their expected roles. An EJB encapsulates one or more application tasks or application objects, including data structures and the methods that operate on them. Typically they also take parameters and send back return values. EJBs always work within the context of a container, which serves as a link between the EJBs and the server that hosts them. See also container, session, and entity EJB.

entity EJB.   An entity Enterprise JavaBean (EJB) relates to physical data, such as a row in a database. Entity beans are long-lived, because they are tied to persistent data. Entity beans are always transactional and multiuser aware. Also see session.

extension.   A long-lived set of libraries that reside on Netscape Application Server and provides one or more services to application logic also residing on the server. An extension provides a way to integrate legacy code or encapsulate functionality that needs to be called repeatedly from code or shared between different calling code modules.

.gxp file.   See project file.

.gxr file.   See registration.

HTTP.   A protocol for communicating hypertext documents across the Internet.

IDL (Interface Definition Language).   A high-level, programming-language-neutral description of the services an object or interface will provide.

implementation code.   Code that specifies the behavior defined in an interface.

inheritance.   A technique in which a subclass automatically includes the method and variable definitions of its superclass. A programmer can change or add to the inherited characteristics of a subclass without affecting the superclass.

instance.   An object that is based on a particular class. Each instance of the class is a distinct object, with its own variable values and state. However, all instances of a class share the variable and method definitions specified in that class.

instantiation.   The process of allocating an object to memory at runtime.

interface.   A description of the services provided by an object. An interface defines a set of functions, called methods. The interface includes no implementation code. An interface, like a class, defines the characteristics of a particular type of object. However, unlike a class, an interface is always abstract. A class can be instantiated to form an object, but an interface cannot be instantiated.

introspection interface.   An interface whose methods are used to query attributes of virtual or physical objects. An introspection interface is used as part of object pooling.

Java Access Layer.   A set of Java classes and Java native methods that allows a Java interface to communicate with a C++ interface. For example, if you want a Java AppLogic to communicate with a C++ extension, create a Java Access Layer for the extension.

JavaServer Page (JSP).   A text page written using a combination of HTML or XML tags, JSP tags, and Java code. JSPs combine the layout capabilities of a standard browser page with the power of a programming language.

KIDL Compiler.   The Netscape Extension Builder component that uses IDL as input and translates it into source code. The KIDL Compiler is invoked by running the gmake command from the top-level directory of the extension code. The KIDL Compiler generates a nearly complete source code tree. However, some output files will contain method stubs you must fill out before you finish building the extension.

load balancing.   A technique for distributing the user load evenly among multiple servers in a cluster.

make harness.   The set of makefiles within a specific source code tree. The make harness generated by Netscape Extension Builder Designer consists of a makefile in every directory and subdirectory of the tree.

metadata.   Information about a component, such as its name, and specifications for its behavior.

member.   A variable or method declared in a class is a member of that class.

member variable.   A variable with the following characteristics:

method.   A function with the following characteristics:

method locking.   A runtime feature of Netscape Extension Builder that facilitates legacy integration by ensuring thread safety.

method stub.   A method containing sample code that does nothing other than act as a placeholder. Developers replace method stubs with actual code specific to their needs.

module.   See access module or service module.

Netscape Application Server Foundation Class Library.   A set of interfaces and classes provided by Netscape Communications Corporation that can be used to develop object-oriented Netscape Application Server applications. The classes in the Netscape Application Server Foundation Class Library define many types of objects you can include in Netscape Application Server applications, such as servlet and EJB objects, data connections, queries, and result sets.

Netscape Extension Builder.   A product that extends the functionality of the Netscape Application Server by integrating third-party solutions into the Netscape Application Server environment.

Netscape Extension Builder Designer.   A GUI tool provided by Netscape Extension Builder for designing an extension. In Netscape Extension Builder Designer, you define interfaces within interface modules, and you specify the implementation hints within service modules. These modules can then be stored in IDL files, which are generated into C++ or Java source code.

object.   A programmed entity with the following characteristics:

object pooling.   A runtime feature of Netscape Extension Builder that improves performance by enabling extensions to share limited resources, such as connections.

object-oriented programming.   A method for writing programs using classes, not algorithms, as the fundamental building blocks. At runtime, the classes give rise to objects which perform the tasks of the application.

override.   To write new code that replaces the default code of an inherited method.

parameter.   Parameters are name-value pairs sent from the client, including form field data, HTTP header information, etc., and encapsulated in a request object. Contrast with attribute. More generally, an argument to a Java method.

persistent.   Refers to the creation and maintenance of a bean throughout the lifetime of the application. In NAS 4.0, beans are responsible for their own persistence, called bean-managed persistence. Opposite of transient.

pooling.   See object pooling.

presentation layout.   Creating and formatting page content.

presentation logic.   Activities that create a page in an application, including processing a request, generating content in response, and formatting the page for the client.

registration.   The process of informing Netscape Application Server of the existence of an servlet object, code module, extension, or security information. This information is stored in a registration file, which has a .gxr suffix.

request object.   An object that contains page and session data produced by a client, passed as an input parameter to a servlet or JavaServer Page (JSP).

result cache.   Storage in Netscape Application Server that holds the output from an servlet object so that the output can be accessed repeatedly without the necessity of running the servlet object again.

server.   A computer or software package that provides a specific kind of service to client software running on other computers. A server is designed to communicate with a specific type of client software.

service module.   A grouping of coclasses. In a service module, coclasses typically implement one or more of the interfaces defined in an access module. Client applications access the service module through the interfaces that the classes implement. The applications never access the service class types directly.

servlet.   An instance of the Servlet class. A servlet is a reusable application that runs on a server. In NAS, a servlet acts as the central dispatcher for each interaction in your application by performing presentation logic, invoking business logic, and invoking or performing presentation layout.

servlet engine.   An internal object that handles all servlet metafunctions. Collectively, a set of processes that provide services for a servlet, including instantiation and execution.

servlet runner.   Part of the servlet engine that invokes a servlet with a request object and a response object.

session.   A continuous series of interactions between a user and a Netscape Application Server application. The term session is widely used to refer to a Web browser session, but in this manual, the term session refers more specifically to a series of user interactions that are tracked by a Netscape Application Server application. The user's session with a Web browser or other client software might start before the Netscape Application Server application begins tracking the user, and could continue after the application stops tracking the user.

session EJB.   A session Enterprise JavaBean (EJB) relates to a unit of work, such as a request for data. Session beans are short lived—the lifespan of the client request is the same as the lifespan of the session bean. Session beans can be stateless or stateful, and they can be transaction aware. See stateful session EJB and stateless session EJB. Also see entity EJB.

session load balancing.   See sticky load balancing.

stateful session EJB.   An Enterprise JavaBean (EJB) that represents a session with a particular client and which automatically maintains state across multiple client-invoked methods.

stateless session EJB.   An Enterprise JavaBean (EJB) that represents a stateless service. A stateless session bean is completely transient and encapsulates a temporary piece of business logic needed by a specific client for a limited time span.

state and session management.   A runtime feature of Netscape Extension Builder that enables an extension to cache an application's session or state.

sticky load balancing.   A technique that forces all client requests in a session to go to the same Netscape Application Server. In this way, the load is balanced by session, not by request. Sticky load balancing allows a session to store and retrieve complex objects within one process, instead of making distributed requests.

streaming.  

  1. A runtime feature of Netscape Extension Builder that improves performance by allowing an extension to stream results. In other words, smaller portions of a result set are continuously returned, instead of waiting for the entire result set to be returned.
  2. A technique for managing how data is communicated via HTTP. When results are streamed, the first portion of the data is available for use immediately. When results are not streamed, the whole result must be received before any part of it can be used. Streaming provides a way to allow large amounts of data to be returned in a more useful way, increasing the perceived performance of the application.
stub.   See method stub.

transaction.   A set of database commands that succeed or fail as a group. All the commands involved must succeed for the entire transaction to succeed.

transient.   A resource that is released when it is not being used. Opposite of persistent.

web application.   A computer program that uses the World Wide Web for connectivity and user interface (UI). A user connects to and runs a web application by using a web browser on any platform. The user interface of the application is the HTML pages displayed by the browser. The application itself runs on a web server and/or application server.

 

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