Table of Contents
-
About the Fractal Explorer
-
The Fractal Explorer Features
-
How to Browse Your Own Applications?
-
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):
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:
|
- 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.
Icon | Description |
| 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:
Icon | Label | Description | Shortcut |
| Quit | Close the Fractal Explorer. | Alt-F4 |
| Refresh the tree | Refresh 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
Icon | Label | Description | Accelerator |
| Start | Start the selected component.
Only available if the selected component is stopped. | Ctrl-S |
| Stop | Stop the selected component.
Only available if the selected component is started. | Ctrl-S |
| Rename... | Change the name of the selected component. | |
Client Interface
Icon | Label | Description | Accelerator |
| Bind... | Connect a server interface to the selected interface.
Also available using Drag&Drop action. | |
| Unbind | Disconnect the selected interface from the bound interface. | |
Lifecycle Controller
Icon | Label | Description | Accelerator |
| Start | Start the selected component.
Only available if the selected component is stopped. | Ctrl-S |
| Stop | Stop the selected component.
Only available if the selected component is started. | Ctrl-S |
Content Controller
Icon | Label | Description | Accelerator |
| Add sub-component... | Add a component into the associated composite component.
Also available using Drag&Drop action. | Ctrl-A |
| Remove sub-component | Remove an inner component of the associated composite component.
Only available if the selected component is stopped. | Ctrl-D |
Name Controller
Icon | Label | Description | Accelerator |
| Rename... | Change the name of the associated component. | |
Factory Interface
Icon | Label | Description | Accelerator |
| Instantiate | Create an instance of the associated template. | |
Fractal Factory
Icon | Label | Description | Accelerator |
| 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
Icon | Label | Description | Accelerator |
| Create an interface type... | Create an interface type. | |
| Create a component type... | Create a component type by using the created interface types. | |
| Create an instance | Create 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.
|