JavaServer™ Faces technology is provided by the Java Community Process (JCP)
under JSR-314. It defines a standard MVC
framework based on component-driven user interface (UI) model for
Web development. JSF helps to separate the different roles involved
in the development of a Web application, namely the application developer, who focuses on the
business logic, the component
developer, responsible for connecting the back-end logic with the
user interface, and the page author,
responsible for the application’s UI.
With JSF, developing JViews
Maps Web applications is easier as the client-side UI is created
by connecting well-defined components together while the system
handles the required client-- and server-- side hurdles
automatically.
The JViews Maps JSF
Web technology consists of:
- The tag libraries (a set of JavaServer™ Pages - JSP™ tags)
- A server-side Java API
- The JavaScript library
The tag libraries
The tag libraries are used to build JSP
pages; each tag represents a component with a set of configurable
attributes. These components are compiled into Java code that is
executed on the server-side to produce or manipulate content for
the page; each component is also represented by a set of
dynamically generated JavaScript objects on the client-side, to
handle display and client-server communication. Not all
components have a visual representation; interactors, for
example, are associated with graphic views and are responsible
for data manipulation rather than displaying content.
The basic infrastructure of the JViews Web
technology has the following libraries:
JViews Core, which has the following
tag identifier http://www.ilog.com/jviews/tlds/jviews-faces.tld
JViews Framework, which has the
following tag identifier
http://www.ilog.com/jviews/tlds/jviews-framework-faces.tld
The JViews Maps
features depend on JViews
Diagrammer, resulting in two extra tag libraries:
The JViews
Diagrammer features provide an additional tag library:
JViews
Diagrammer, which has the following tag identifier
http://www.ilog.com/jviews/tlds/jviews-diagrammer-faces.tld
JViews
Maps, which has the following tag identifier
http://www.ilog.com/jviews/tlds/jviews-maps-faces.tld
The URIs uniquely identifying the JViews
Web technology tag libraries are for identification purposes
only, these are not live URIs.
These libraries describe the following
components:
- debugDependencies: an auxiliary component to help identify unresolved JSP dependencies
- imageButton: an interactive component that can be associated with a customized action
- menu: an auxiliary component that defines a menu model to create pop-up menus
- contextualMenu: a component that creates pop-up menus on a graphic view
- menuItem: the auxiliary component that represents a menu item in a pop-up menu
- menuSeparator: the auxiliary component that represents a simple separator in a pop-up menu
- messageBox: a visual component that allows the display of text messages to the user
- view: the graphic view, displays an IlvManagerView in the Web browser
- dashboardView: a graphic view, displays an IlvDashboardDiagram in the Web browser
- diagrammerView: a graphic view, displays an IlvDiagrammer in the Web browser
- mapView: a graphic view, displays an IlvDiagrammerin the Web browser, leveraging advanced mapping capabilities of JViews Maps
- googleView: a graphic view, displays an IlvDiagrammer in the Web browser, leveraging advanced mapping capabilities of JViews Maps and Google Maps™
- overview: an auxiliary display component, used in conjunction with the graphic view
- layerTool: an auxiliary tool to control the different visibility layers, used in conjunction with the map view
- objectSelectInteractor: an interactor for selecting and moving graphic objects in a graphic view
- objectSelectRectInteractor: an interactor for selecting and moving a set of graphic objects in a graphic view
- nodeOrLinkSelectInteractor: an interactor that triggers a server-side action when selecting a node or link in a diagram view
- nodeOrLinkSelectRectInteractor: an interactor that triggers a server-side action when selecting a group of nodes and/or links in a diagram view
- selectInteractor: an interactor that allows you to select objects in a diagram view, using a unique technique that reduces the amount of data exchanged with the server
- selectionManager: an auxiliary component for the selectInteractor providing customization of the selection graphic representation
- panInteractor: an interactor for panning the graphic view
- zoomInteractor: an interactor for zooming on a given rectangular region in the graphic view
- panTool: an auxiliary navigational component, used in conjunction with the graphic view
- zoomTool: an auxiliary navigational component, used in conjunction with the graphic view
The server-side Java API
The JSF components in the JViews
Maps Web technology rely on Java servlets to handle the client
requests and produce the appropriate response. A client request
is triggered by the Web page, when manipulating the map view;
it can be the result of a direct user input requesting a view
update, or an asynchronous request, indirectly sent as part of
an interaction.
The servlets are responsible for decoding the client request
and processing the appropriate response, which may be a new
image update representing the current state of the manager view
(IlvManagerView).
For more information about the different servlets available and
how to extend and/or customize them, see JViews servlet implementation.
The JavaScript library
Each JViews Maps
JSF component in the tag library is internally represented by a
JavaScript object on the client side. These objects are
dynamically generated by the server as part of the basic
infrastructure of the Web application. These objects provide
great flexibility as they can be directly manipulated by the
user as a way to fine-tune the behavior of the JViews Maps JSF
components, or as a way to integrate them with third-party
JavaScript libraries and custom code.
For more information about the different JavaScript objects and
their API, see JViews JSF applications versus JViews
JavaScript applications and the JavaScript API reference
documentation reference documentation.