Fractal - Fractal Explorer

Table of Contents

  1. About the Fractal Explorer
  2. The Fractal Explorer Features
  3. How to Browse Your Own Applications?
  4. How to Customize Your Own Applications?


About the Fractal Explorer

What is This Tool?

The Fractal Explorer provides a generic graphical console for managing Fractal-based applications. This tool works with the Fractal 2.0-3 specification.

The main features of this console are the following. You can:

  • Discover the components of the application
  • Introspect their interfaces and their structure
  • Manage the controllers of the components such as LifeCycle controller, Content controller, ...
  • Monitor the application status
  • Reconfigure the Fractal applications at runtime. For instance, you can replace a component instance, update the component bindings, etc.

In fact, this explorer allows you to access to all features offered by the Fractal framework and components.

The following screenshot provides a view on this console (managing the helloworld example):

Fractal Explorer example

Several Roles

This console has been designed in order to provide several levels of details for the application you browse. Those roles are described below according to an increasingly precise point of view. All the defined roles inherit from the higher level roles/views.

  • The service view: This view only provides the server interfaces of a component. This can be useful to test a server component.
  • The user view: This represents the user view of an application and presents the application as a "black" box. So, the user only sees the business interfaces of the application, ant he/she can only act on these interfaces.
  • The advanced view: This view provides not only the main component of the application but also all the sub components of the application. This allows the user to discover the structure of the application but this doesn't allow one to modify its structure (the controllers are not visible).
  • The administrator view: As the component controllers are available in this view, it provides some features to reconfigure the applications at runtime. You can for instance add a component instance into a composite component, update the bindings of the components of the applications, or even rename a component instance.
  • The architect view: Through this role, you can instantiate an application. You can also create component types and instantiate them.

You can change the current role by using the Roles menu of the Fractal Explorer.

Fractal Explorer Structure

The Fractal Explorer is in fact a Fractal component which has the following structure:

Explorer component
  • One client interface (called fcAppl) to bind the Component interface of the Fractal-based application to the Fractal Explorer. This interface is a org.objectweb.fractal.api.Component interface.
  • One customizable attribute (called configFiles) to provide the pathes of the configuration files of the Fractal Explorer. These pathes may be separated by spaces or semi-colons.


The Fractal Explorer Features

This part describes the features of this tool, and the way to use it.

Available Icons

Some icons have been defined in order to graphically locate the handled resources. The list below describes these icons.

IconDescription
Generic icon to represent a Fractal component.
Started primitive component.
Stopped primitive component.
Started composite component.
Stopped composite component.
Started shared component.
Stopped shared component.
The Fractal factory components (factory.Factory, factory.GenericFactory).
Server interface.
Single client interface which is bound and mandatory.
Single client interface which is not bound but mandatory.
Single client interface which is optional.
Collection client interface which is bound and mandatory.
Collection client interface which is not bound but mandatory.
Collection client interface which is optional.
Displayed on the lifecycle controller when the associated component is started.
Displayed on the lifecycle controller when the associated component is stopped.
Container containing the controllers of the given component.
Container containing the defined Interface types and Component types.

Available Actions

First of all, some general actions have been defined and have been added into the tool bar of the Fractal Explorer. These actions are also available into the File menu item. We could find:

IconLabelDescriptionShortcut
QuitClose the Fractal Explorer.Alt-F4
Refresh the treeRefresh the tree. That is to say compute all the entries of the tree again.Ctrl-R

Also, some actions have been defined and are dynamically added according to the handled resource. You have three ways to execute these actions:

  • Through the Actions menu item of the Fractal Explorer. It is dynamically computed when an entity is selected within the tree. Note that if this menu item is disabled, it is because no action is available for the selected entity.
  • By using the popup menu displayed by right clicking on the handled resource.
  • Through the icons available in the tool bar of the explorer. Indeed, the most important actions are dynamically added within this tool bar when the corresponding resource is selected.

The following tables present the available actions according to the type of handled resource.

Fractal Component

IconLabelDescriptionAccelerator
StartStart the selected component.
Only available if the selected component is stopped.
Ctrl-S
StopStop the selected component.
Only available if the selected component is started.
Ctrl-S
 Rename...Change the name of the selected component. 

Client Interface

IconLabelDescriptionAccelerator
 Bind...Connect a server interface to the selected interface.
Also available using Drag&Drop action.
 
 UnbindDisconnect the selected interface from the bound interface. 

Lifecycle Controller

IconLabelDescriptionAccelerator
StartStart the selected component.
Only available if the selected component is stopped.
Ctrl-S
StopStop the selected component.
Only available if the selected component is started.
Ctrl-S

Content Controller

IconLabelDescriptionAccelerator
Add sub-component...Add a component into the associated composite component.
Also available using Drag&Drop action.
Ctrl-A
Remove sub-componentRemove an inner component of the associated composite component.
Only available if the selected component is stopped.
Ctrl-D

Name Controller

IconLabelDescriptionAccelerator
 Rename...Change the name of the associated component. 

Factory Interface

IconLabelDescriptionAccelerator
 InstantiateCreate an instance of the associated template. 

Fractal Factory

IconLabelDescriptionAccelerator
Create a component...Create a new instance of a Fractal component or its associated template.
The associated parameter is a .fractal file.
 

Fractal Type Factory

IconLabelDescriptionAccelerator
 Create an interface type...Create an interface type. 
 Create a component type...Create a component type by using the created interface types. 
 Create an instanceCreate an instance of a defined component type. 


How to Browse Your Own Applications?

As the Fractal Explorer is a Fractal component, you can plug and manage every Fractal applications. The following description presents the easier way to create a Fractal Explorer for your applications.

<definition name="myAssembly">
  <component name="explorer"
             definition="org.objectweb.fractal.explorer.BasicFractalExplorer(<appl_name>,<appl_def>)" />
</definition>

This definition contains two parameters which are:

  • appl_name: The name of the application (displayed into the Fractal Explorer).
  • appl_def: The Fractal definition of the application.


How to Customize Your Own Applications?

This part of the documentation describes the way to customize the explorer to your application. Indeed, you could also provide a personalization for your own Fractal-based applications. This is possible because this explorer has been built on top of an existing framework named browser.

If you do not know anything about this framework, we advise you to read this documentation page. This document describes the Browser framework and the way to configure it through a simple example.

In order to customize your applications, you can for instance:

  • Define icons to identify the components of your applications.
  • Add actions to execute the business code of your applications.
  • Configure panels to display specific information concerning your components.
  • ...

When your Explorer configuration file has been written, you can create a Fractal Explorer definition including this configuration. This can be done as presented below:

<definition name="myAssembly">
  <component name="explorer"
             definition="org.objectweb.fractal.explorer.GenericFractalExplorer(<appl_name>,<appl_def>,<config_file>)" />
</definition>

This definition contains three parameters which are:

  • appl_name: The name of the application (displayed into the Fractal Explorer).
  • appl_def: The Fractal definition of the application.
  • config_file: The path of the configuration file customizing your application.

You can also have a look at the helloword example of the Fractal Explorer module in order to have a concrete example of an application customization.


Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster | Last modified at 2012-12-03 09:57 PM