Nucleus is the Dynamo Application Framework’s component model for building applications from JavaBeans. Nucleus allows you to assemble applications through simple configuration files that specify what components are used by the application, what parameters are used to initialize those components, and how those components hook up to each other. The ATG Control Center Components window provides a handy way to create, modify, and manage Nucleus components.

Nucleus by itself provides no application-specific functions. The JavaBean components implement all of an application’s functionality. Nucleus is the mechanism that gives those components a place to live, and a way for those components to find each other.

Nucleus organizes application components into a hierarchy, and assigns a name to each component, based on its position in the hierarchy. For example, a component named /services/logs/FileLogger represents a component called FileLogger, contained by the container component called logs, which is itself contained by the container component called services. The services component is contained by the root component of the hierarchy, which happens to be the Nucleus. Components in the hierarchy can refer to each other by name. This includes both absolute names, such as /services/logs/FileLogger, and relative names such as ../servers/HttpServer.

Nucleus also takes on the task of creating and initializing components. An application does not need to contain the code that creates a component and adds it to the Nucleus namespace. Instead, you can write a configuration file that specifies the class of the component and the initial values of the component’s properties. The first time that component is referenced by name, Nucleus will find the component’s configuration file, create the component based on the values in that configuration file, and add the component to the Nucleus namespace.

Nucleus provides a simple path for writing new components. Any Java object with an empty constructor can act as a component in Nucleus, so writing a new Nucleus component is as easy as writing a Java class. By adhering to JavaBeans standards for defining properties and events, a Java class can take advantage of Nucleus’s automatic creation and configuration mechanism. By implementing various interfaces, a Nucleus component can take more advantage of the services and notifications provided by Nucleus.

The Components window in the ATG Control Center provides a graphical user interface for creating, viewing, linking, and changing the states of individual components in your application. This allows an administrator to walk through the structure of a running application.

This chapter includes the following sections to help you understand and use Nucleus as a framework for your application components:

 
loading table of contents...