JViews JSF Web applications at a glance

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.