White Paper. JavaServer Faces, Graphical Components from Theory to Practice

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "White Paper. JavaServer Faces, Graphical Components from Theory to Practice"

Transcription

1 White Paper JavaServer Faces, Graphical Components from Theory to Practice

2 JavaServer Faces, Graphical Components from Theory to Practice White Paper ILOG, April 2005 Do not duplicate without permission. ILOG, CPLEX and their respective logotypes are registered trademarks. All other company and product names are trademarks or registered trademarks of their respective holders. The material presented in this document is summary in nature, subject to change, not contractual and intended for general information only and does not constitute a representation.

3 JavaServer Faces, Graphical Components from Theory to Practice White Paper April 2005 Table of Contents THE CHALLENGE...2 WHAT IS JAVASERVER FACES?...2 CREATING A SIMPLE JSF COMPONENT...4 STEP 1: THE COMPONENT JAVA CLASS...5 STEP 2: THE RENDERER...6 STEP 3: THE TAG CLASS...6 STEP 4: THE TAG LIBRARY DEFINITION (TLD)...8 STEP 5: THE JSF CONFIGURATION FILE...9 CREATING A JSF GRAPHICAL COMPONENT Component Renderer Proxies Script Dependencies Scripting and State Synchronization Component Dependencies MAKE FUTURE INTEGRATION EASIER IN IDE ILOG JVIEWS AND JSF USING ILOG JVIEWS DIAGRAMMER FRAMEWORK FACES The View Manager View Installing Interactors Adding an Overview Adding a Pan Tool and a Zoom Tool Improving the Pages CHARTS AND GANTT DISPLAYS CONCLUSION REFERENCES FURTHER READING / 23 -

4 JavaServer Faces, Graphical Components from Theory to Practice The Challenge The Java platform offers a proven model for creating and deploying portable applications. However, the demand for easy-to-deploy Web applications -- a.k.a. thin clients -- remains strong in most industries. JavaServer Faces (JSF) makes it possible to build interactive Web clients more easily than with other technologies, including JavaServer Pages and Apache Struts. JSF clearly separates application logic from the graphical user interface (GUI), improving the maintainability of Web applications and providing a framework for developing and reusing Web interface components. Despite the standard framework provided by JSF, there still remain several pitfalls for anyone developing their first custom JSF components. Additionally, even if this framework offers good support for standard human-machine interfaces, application developers want greater productivity and more sophisticated off-the-shelf visualization components. In this paper, we explain how to create a graphical JSF component that cannot be easily built using pure HTML, and how ILOG JViews can help Web developers create attractive, yet highly functional, JSF applications. What is JavaServer Faces? JavaServer Faces (JSF) is a standard server-side framework that simplifies the construction of the presentation layer of Web applications. Developers can assemble reusable GUI components to create Web pages, bind these components to a data source, and process client-side events with server-side event handlers. By following this specification, component vendors can write components that can be cleanly integrated into the JSF runtime framework and integrated development environments (IDEs) that are JSF compliant. JSR 127 (1), which defines the JSF framework, comes with a Reference Implementation that provides basic GUI components, such as input fields and buttons. For the most part, these JSF components correspond directly to the HTML components and tags available in the HTML 1.4 specification. This set of relatively simple components is sufficient for many Web applications. However, many applications, like supervision or monitoring, require more complex data display and interaction such as charting, diagramming and mapping. HTML is limited in its ability to render complex graphics widgets like these. The solution requires - 2 / 23 -

5 that the server-side components deliver images to the client. However, this brings its own problems because interaction with basic HTML images is limited. Finally, JavaScript must be used to enable the client-side interactions that allow the user to navigate and interact with the data. Many Web application developers are now migrating to JSF, but they are finding the set of predefined JSF GUI components limited to basic DHTML widgets. Advanced applications, such as supervision and business process monitoring, need advanced visualization components that are compatible with the JSF framework. The standardization brought by the JSF framework makes it easy to develop custom web GUI components that can be reused by application developers. In addition, Web component vendors are now able to provide more sophisticated components, with the assurance that Web application developers can easily take advantage of these components. Such JSF GUI components must be integrated and deployed cleanly into the JSF runtime framework, and at design time into IDEs that provide JSF support. The characteristics of a graphical JSF component require not only the generation of DHTML, but also some extra support for image generation and client-side interaction. We will illustrate this with an example of a charting component that is designed to provide graphical charts, as well as various client-side navigation and interaction facilities. Finally, we show the steps required to integrate the charting component into a JSF enabled IDE. By understanding the design of the charting component, you will better know how a graphical JSF component can be implemented and, hopefully, allow you to develop your own custom JSF graphical components. - 3 / 23 -

6 Creating a Simple JSF Component In the following section, we describe the steps for developing a very simple JSF component that imports CSS into an HTML page. The description and code samples for this simple component will serve in the background as we develop our advanced JSF charting component in the subsequent sections. The figures below show how the component is used and the result we will get. JSP <html> <f:view> <head> <custom:css value= data/style.css link= true /> </head> [ ] </f:view> </html> JSP <html> <f:view> <head> <custom:css value=.class{background:#cccccc link= true /> </head> [ ] </f:view> </html> HTML <html> <head> <link type='text/css' rel='stylesheet' href= data/style.css' /> </head> [ ] </html> HTML <html> <head> <style>.class= background:#cccccc </style> </head> [ ] </html> The main benefit of using such a component is that one can change the complete look of the page by changing the component value with a JSF action. A JSF component consists of several Java classes and configuration files. In order to create a custom JSF component, you need to: Step 1: Develop a Java class that extends one of the JSF base component classes. Step 2: Develop a renderer for the default render kit. - 4 / 23 -

7 Step 3: Develop a Java class that describes the tag that will be used in the JSP page. Step 4: Write a Tag Library Definition file. Step 5: Write the JSF configuration file. We will illustrate each step in turn below. Step 1: The Component Java Class The component class is responsible for managing the properties that represent the component s state. Therefore, we must choose an appropriate base class for the component based on its behavior, such as an input or output. import javax.faces.component.*; public class CSSComponent extends UIOutput { private Boolean link; public String getfamily() { return "faces.cssfamily"; public boolean islink() { if (link!= null) return link.booleanvalue(); ValueBinding vb = getvaluebinding("link"); if (vb!= null) { Boolean bvb = (Boolean) vb.getvalue(facescontext.getcurrentinstance()); if (bvb!= null) return bvb.booleanvalue(); return false; public void setlink(boolean link) { this.link = new Boolean(link); public Object savestate(facescontext context) { return new Object[] { super.savestate(context), link ; public void restorestate(facescontext context, Object stateobj) { Object[] state = (Object[]) stateobj; super.restorestate(context, state[0]); link = (Boolean) state[1]; The component described here extends javax.faces.component.uioutput to display a URL pointing to a style sheet file or the contents of an inline style sheet. The component can be used to switch from one style sheet to another in a JSF action. The link property specifies the type of the value, either a URL or the inline style. The component must also be able to store and restore its state between requests to the server using an object processed by the JSF framework. The state of a component consists of the significant property values that are needed to rebuild the object. The JSF framework automatically calls the savestate and restorestate methods, which we have implemented in our component to achieve this goal. - 5 / 23 -

8 Step 2: The Renderer The renderer has two roles. First, the renderer is responsible for emitting an appropriate HTML fragment that will render the component in the client. Usually, this HTML fragment will consist of HTML tags that are suitable for rendering in general Web browsers. This phase of the JSF lifecycle is called the encoding or render response phase. This rendering phase can also be used to emit JavaScript code that can be used to enhance client-side interaction. The second role of a renderer is to decode the data that comes from the client to update the server-side component state (for example, the text that the user entered into a text field). The standard render kit is mandatory, but other renderer kits can be provided to offer an alternate client-side representation or language such as SVG (2). import javax.faces.component.uicomponent; import javax.faces.context.facescontext; import javax.faces.context.responsewriter; import javax.faces.render.renderer; public class CSSRenderer extends Renderer { public void encodeend(facescontext context, UIComponent component) throws IOException { super.encodeend(context, component); if (component instanceof CSSComponent) { CSSComponent csscomponent = (CSSComponent) component; String css = (String)cssComponent.getValue(); boolean islink = csscomponent.islink(); if (css!= null) if (islink) context.getresponsewriter().write("<link type='text/css' rel='stylesheet' href='" + css + "'/>"); else context.getresponsewriter().write("<style>\n" + css + "\n<style/>\n"); The renderer implemented here chooses the type of the CSS to be shown in the HTML page by checking the link property of the component. Step 3: The Tag Class Again, the JSF framework provides base classes you may want to extend to write the tag associated with the component. The tag class is responsible for: Defining the component type and the rendering type of the component that will be used in the faces-config.xml file that we will describe in the next section Creating the JSF component (handled by the JSF framework) and passing attributes that are contained in the JSF tag to initialize the component - 6 / 23 -

9 import javax.faces.webapp.uicomponenttag; public class CSSTag extends UIComponentTag { private String value; private String link; public String getcomponenttype() { return "faces.csscomponent"; public String getrenderertype() { return HTML.LinkOrInlineRenderer"; protected void setproperties(uicomponent component) { super.setproperties(component); Application app = getfacescontext().getapplication(); if (value!= null) if (isvaluereference(value)) component.setvaluebinding("value", app.createvaluebinding(value)); else component.getattributes().put("value", value); if (link!= null) if (isvaluereference(link)) component.setvaluebinding("link", app.createvaluebinding(link)); else component.getattributes().put("link", new Boolean(link)); public String getlink() { return link; public void setlink(string link) { this.link = link; public String getvalue() { return value; public void setvalue(string value) { this.value = value; The tag provides setters and getters to manage the link and value attributes. When the component is created, the setproperties method is called to initialize its properties from the tag attributes. Each tag attribute can be either a literal value or a binding to a bean property. - 7 / 23 -

10 Step 4: The Tag Library Definition (TLD) The TLD is an XML file that describes the tag by associating the name of the tag with the corresponding Java class. The TLD also describes the allowed attributes of the tag. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" " <taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>custom</short-name> <uri> <description>this tag library contains a tag for a sample custom JSF Component.</description> <tag> <name>css</name> <tag-class>path.to.csstag</tag-class> <description>a component that displays the style inline or a link a to a css file</description> <attribute> <name>id</name> <required>false</required> <rtexprvalue>false</rtexprvalue> <type>java.lang.string</type> <description>the id of this component.</description> </attribute> <attribute> <name>binding</name> <required>false</required> <rtexprvalue>false</rtexprvalue> <type>java.lang.string</type> <description>the value binding expression linking this component to a property in a backing bean. If this attribute is set, the tag does not create the component itself but retrieves it from the bean property. This attribute must be a value binding.</description> </attribute> <attribute> <name>value</name> <required>true</required> <rtexprvalue>false</rtexprvalue> <type>java.lang.string</type> <description>the inline css text or the url to the css file to link.</description> </attribute> <attribute> <name>link</name> <required>false</required> <rtexprvalue>false</rtexprvalue> <type>java.lang.string</type> <description>whether the value is a link or the inline style.</description> </attribute> </tag> </taglib> This TLD defines a tag named css that is bound to the CSSTag class. It also declares the link and value tag attributes. - 8 / 23 -

11 Step 5: The JSF Configuration File In order to integrate a JSF component into the framework, you must provide a configuration file called faces-config.xml. This file associates component types and renderer types, which are used in the JSP custom tag handler, to their corresponding Java class. This file also describes the renderer that should be used with each component. <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" " <faces-config> <component> <component-type>faces.csscomponent</component-type> <component-class>path.to.csscomponent</component-class> <component-extension> <component-family>faces.cssfamily</component-family> <renderer-type>html.linkorinlinerenderer</renderer-type> </component-extension> </component> <render-kit> <renderer> <component-family>faces.cssfamily</component-family> <renderer-type> HTML.LinkOrInlineRenderer </renderer-type> <renderer-class>path.to.cssrenderer</renderer-class> </renderer> </render-kit> </faces-config> This file defines the faces.cssfamily component family. In our example, the family is made of a single component of type faces.csscomponent. This type is bound to the CSSComponent class. Finally, the renderer of type HTML.LinkOrInlineRenderer, which is implemented by the CSSRenderer class, is associated with the faces.cssfamily family. You can also provide additional information if you want your component integrated into a JSF-enabled IDE. In the case of the Sun Creator IDE, you need to provide an XML configuration file named sun-faces-config.xml. This configuration file describes the properties of the component that should to be exposed in the IDE, as well as other design-time information. For more information on Sun Creator, refer to the product description on the Sun Microsystems website (3). Now that we have seen how to create a simple JSF component, we will now look at how to create a graphical JSF component. For a more detailed description of how to build a custom JSF component, refer to the Java J2EE tutorial (3). - 9 / 23 -

12 Creating a JSF Graphical Component Now, we will follow the same basic steps to design an advanced JSF graphical component. For our example, we will use a charting component similar to the ILOG JSF Charting component, which provides a visual representation of the distribution of data values across a set of categories. The chart is able to display a data set with various representations, including bars, pie charts and bubble charts. The JSF Charting component has two initial design constraints: 1. We already have a Java charting bean component that has all of the graphical presentation capabilities we want. This component can display a wide range of charts and is highly customizable. Ideally, we want to leverage this bean component and use its capabilities to form the basis of our JSF component. 2. Common JSF applications need to reload the entire page to refresh the view. This behavior can be appropriate for form-based applications, but in many cases, not for highly graphical user interfaces. Therefore, in order to provide a better user experience, our JSF charting component must support some simple navigation without refreshing the entire page. In order to satisfy these requirements, the following solution has been created: The JSF charting component will manage the chart bean component. This includes creating the chart bean by customizing the bean and making the bean available for server-side actions. Rendering the JSF component will be done in two phases: o The JSF renderer will generate an <img> tag and a set of JavaScript objects (Figure 1). o The client will request an image from the server. This is done by a servlet that retrieves the chart bean and generates an image using methods provided by the chart (Figure 2). Any further user interactions (zooming, panning, change of a style sheet, etc) that change the chart image will only result in an incremental refresh of the chart image. If the client-side action requires more than just an update of the chart image, the page will be submitted (Figure 3) / 23 -

13 The following diagrams describe the architecture of this solution. Client JSP Server JSF Request Process reques 1 JSP Tag respons 3 JSF Component Render er 2 Session Chart Bean 1. Create and initialize properties. 2. Create and customize the chart and make it available for server-side actions. 3. Render the chart. Figure 1: Request to the JSF framework Client HTML Image reques t respons Server Image servlet JavaScript Session Chart Bean Figure 2: Request to the servlet to obtain an image / 23 -

14 Client Server HTML JavaScript Type of request Image reques Page Reque Image servlet Session JSF Chart Bean Figure 3: Either a page request or an image request. The JSF Charting component is also accompanied by a set of additional JSF components: Overview: An overview displays a global view of the chart and a rectangle representing the actual chart view. This component also allows the user to pan the visible area. Legend: A legend component shows information about the data set being displayed. The legend can also be displayed in the chart itself, depending on the style of the data displayed. Interactors: Client-side interactors, such as pan and zoom of the chart image, are also provided. These interactions can be seen as client-side interactions, meaning that interacting with the chart will not reload the entire page as is the case for a regular JSF interaction. To render the chart component, you simply have to use the chartview tag: <jvcf:chartview id="c" style="width:500px;height:300px" /> The data is displayed as an image on the HTML page. The image is built by a servlet in response to an HTTP request that includes various parameters that - 12 / 23 -

15 specify the resulting image, specify generation of an image map, specify generation of an inline legend, and so on. The resulting image is then inserted into the client-side DOM, and the only part of the page that is refreshed is the image itself. Let s now look at some differences between a simple custom JSF component and the advanced charting component. Component The JSF chart component class is very much like a standard component, with the addition of a chart property that gives access to the chart bean responsible for generating the image displayed in the HTML page. The JSF component can retrieve this chart bean locally through a value binding or in the current session. When the JSF charting component is the centerpiece of an application, optional JSF components, such as an overview or a legend, can be connected to the main chart to display additional information. <jvcf:chartzoominteractor id="chartzoominteractor" XZoomAllowed="true" YZoomAllowed="true" /> <jvcf:chartview id="chartview" chart= #{mybean.chart servlet="demo.imagemapservlet" interactorid="chartzoominteractor" width="500" height="300" stylesheets="/data/line.css" waitingimage="data/images/wait.gif" imageformat="png" /> <jvcf:chartoverview id="chartoverview" style="height:100;width:150px" viewid="chartview" linewidth="3" linecolor="red" /> <jvcf:chartlegend id="legendview" viewid="chartview" width="400" height="180" layout="vertical" waitingimage="data/images/wait.gif" /> Renderer The renderer is the major complexity of this JSF implementation. As we mentioned previously, the renderer does not generate simple HTML, but rather DHTML that consists of HTML (the <IMG> tag) and JavaScript proxies. Proxies A proxy is an instance of a JavaScript class responsible for managing the display of the component image on the client. This object is the client representation of the server-side Java component class and has the same properties. Each component on the page -- the chart and its companions -- has a proxy instance / 23 -

16 A good practice when rendering JavaScript is to use the facescontext.getexternalcontext().encodenamespace(name) method on every JavaScript variable. It will make future integration of the component into a JSR168 (4) -compliant portlet environment easier. Script Dependencies To instantiate a proxy on the client, JavaScript support libraries must be imported onto the page. To keep the client as thin as possible, the JavaScript libraries are modularized based on the proxy classes they support. Therefore, each proxy class needs a different, and possibly overlapping, set of libraries to be imported. One of the tricky parts of the chart rendering is the phase that emits these script libraries. The renderer of each component declares which library it requires, and when emitting the library references, it needs to be aware of the previously emitted libraries to avoid duplication. This is done by a script manager that only exists during page rendering. Each time a renderer wants to emit the set of library imports, it gives the list to the script manager that filters out the libraries that have already been emitted. Scripting and State Synchronization The purpose of the client-side proxies is to allow scripting and avoid unnecessary page refresh. Once the chart is rendered, the proxies are available on the clientside to dynamically install interactors and to show or hide the image map. The proxy objects are also available for regular JSF components that support JavaScript mouse event handling. <jvcf:chartview id="chartview".. /> <h:selectbooleancheckbox id="genimagemap" onclick="chartview.setgenerateimagemap(this.checked? true : false, true);" /> The problem with locally modifying the component s client-side proxy is that its state will no longer be synchronized with that of the Java component on the server. To solve this, the proxies use a hidden input tag (<INPUT TYPE="HIDDEN">) to save the new state on the client. When a standard JSF action is performed and the page is submitted, this hidden state will be decoded by the renderer so that the client and server are synchronized. This behavior requires special decoding behavior in the renderer class. The standard decode method is enhanced to decode the state that comes from the client and update the server-side component state. Component Dependencies The connection between the chart and its associated component is made by ID references or binding. To allow flexible page design, a component can be referenced before it is actually rendered. Therefore at rendering time, if a component property references another component that is not already rendered, the emission of the JavaScript code that resolves this dependency on the client is - 14 / 23 -

17 delayed until the referenced component is rendered. This work is done by a dependency manager. To illustrate this, let s look at a typical case that involves an overview that references a chart. Example: <jvcf:overview viewid="chart" [...] /> <jvcf:chartview id="chart" [...] /> There are two cases: The referenced chart component is already rendered, so there is no problem: Example: JSP: <jvcf:chartview id="chart" [...] /> <jvcf:overview viewid="chart" id="overview" [...] /> render: [...] var chart = new IlvChartViewProxy (.. ); [...] var overview= new IlvFacesOverviewProxy (.. ); overview.setview(chart); [...] The referenced chart component is not rendered before the dependent overview component. In this case, a component-creation listener is registered on the dependency manager. When the referenced chart component is eventually rendered, its renderer notifies the dependency manager of its creation. At this point, the code needed to resolve the dependency will be emitted: Example JSP: <jvf:overview viewid="chart" id="overview" [...] /> <jvdf:chartview id="chart" [...] /> render: [...] var overview = new IlvFacesOverviewProxy (.. ); [...] var chart = new IlvChartViewProxy (.. ); overview.setview(chart); [...] - 15 / 23 -

18 Make Future Integration Easier in IDE One of the goals of developing JSF components is the ability to use them in any JSF compliant integrated development environment (IDE). Nevertheless, JSF compliance is not always enough to guarantee that such design-time integration will work. Here are some simple ideas to keep in mind during the development of your JSF component to facilitate its future integration into an IDE. First, your custom JSF component should provide a basic HTML rendering. During design time, JSF IDEs cannot render dynamic graphical components that require live data or app server connections. Therefore, components that have a complex or unconventional (e.g. not HTML) rendering should use Beans.isDesignTime() to determine whether they should provide a basic HTML representation or the true component rendering. Another design time issue is the positioning and dimensioning of the component. Sun Creator (5) uses the style attribute, while IBM WSAD (6) works with height and width properties. A component that can be resized, such as an image, should be able to handle both ways of defining the size. Sun s Java Studio Creator in Design mode with a JSF Chart component Finally, for integration with IDEs, the component must provide extra information that has yet to be defined by the JSF specification. Unfortunately, each IDE currently requires special handling to integrate your component: an XML file for Sun Creator, an Eclipse plug-in for IBM WASD, and so on. A main goal of the next JavaServer Faces JSR (v2.0) will be to specify the additional metadata formats / 23 -

19 ILOG JViews and JSF As we have seen, custom JSF components can be created and added to the standard framework. But as always in application development, we need to minimize the effort for putting together sophisticated applications. In this respect, ILOG has been an early adopter of JSF, and since Version 6.5, the ILOG JViews product line has come with several ready-to-use JSF components. They have been created and optimized for the different types of displays available with the product. Basically, there is a set of JSF tags and components for generic diagrams, charts and Gantt charts. These components are based on an architecture similar to the one described above, and for easier use, several interactors and tools have been created. For example, ILOG JViews Diagrammer components are available as a set of classes and a tag library. A set of renderers generates DHTML code for displaying the components. The components also use the servlet technology to generate images to be transferred to the client. JSF components offer generic graphical views, additional visual components and interactors such as pan, zoom, selectors and overview. Using ILOG JViews Diagrammer Framework Faces Different approaches can be taken for adding ILOG JViews Diagrammer JSF components (also called Framework Faces) to a new Web page, but all of them take advantage of the prepackaged components available in the product. The following paragraphs illustrate the main concepts. The View The first and simplest page that can be made with a JViews Framework Faces component is an empty view: <jvf:view style="width:500 px; height:300 px;" /> This produces a 500x300-pixel view. The namespace jvf, which stands for JViews Framework Faces, must be declared in the page: taglib uri=" prefix="jvf" %> - 17 / 23 -

20 An alternative to specifying the size of the component is to use the width and height attributes, preferably with the style. <jvf:view width="500" height="500" /> The view component is the central component of a JViews Framework Faces application. All the other components depend or interact on this view, which can be extended to make more specific components. Manager View The view component is designed to show the content of a manager view. You can connect a manager view to a view component by using a binding: <jvf:view [...] view="#{frameworkbean.managerview" /> The manager view to be displayed will be retrieved in a Bean, called the frameworkbean, and declared in the JavaServer Faces environment. This Bean should then provide the manager view through its getmanagerview method: public class FrameworkBean { private IlvManagerView managerview; [...] public FrameworkBean() { [...] initmanagerview(); protected void initmanagerview() { [...] public IlvManagerView getmanagerview() { return managerview; public void setmanagerview(ilvmanagerview managerview) { - 18 / 23 -

21 this.managerview = managerview; To use the value binding attribute, the Bean must be declared in the facesconfig.xml file or the managed-beans.xml: <faces-config> <managed-bean> <description>a demo bean</description> <managed-bean-name>frameworkbean</managed-bean-name> <managed-bean-class>frameworkbean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> </faces-config> Installing Interactors You can now install interactors on the view: <jvf:zoominteractor id="zoom" /> <jvf:view interactorid="zoom" [...] /> The link between the view and the zoom interactor is made through the identifier of the interactor. It is now possible to zoom in on an area in the view using a rectangle dragged across the view. Adding an Overview An overview displays the global area and a rectangle corresponding to the area visible in the main view. You can move this rectangle to change the area visible in the main view. This overview is connected with the view in the usual way with the identifier. <jvf:view id="view" [...] /> - 19 / 23 -

22 <jvf:overview viewid="view" [...] /> Adding a Pan Tool and a Zoom Tool The zoomtool component shows a set of buttons. Each button corresponds to a zoom level. Clicking a button will set the view to the corresponding zoom level. The button corresponding to the current zoom level is displayed differently from the other buttons so that you can tell which zoom level is being used. The component can be vertical or horizontal. The pantool component is a component that allows you to pan the view in all directions. The connection to the view is made by setting the identifier of the view to the viewid property of the tools. <jvf:view id="view" [...] /> <jvf:pantool viewid="view" [...] /> <jvf:zoomtool viewid="view" [...] /> Improving the Pages After defining the global look and feel of the pages, it is possible to improve the results with additional JavaScript code, advanced interactors and custom code. Once again, particular attention should be given to minimizing the number of refreshes to avoid a page submit. Diagram displays using JSF - 20 / 23 -

23 Charts and Gantt Displays In the ILOG JViews product line, the same development approach has been generalized to other modules. The ILOG JViews Charts and Gantt products come with JSF components that have been designed to help developers quickly add generic interactive Web components. Their architecture and the way they can be included in the development cycle are consistent with the approach suggested in this paper. Chart Displays using JSF JSF-based Gantt charts and GIS maps - 21 / 23 -

24 Conclusion In this paper, we have shown you how to write a simple JSF component. Doing so is easy because the JSF framework does most of the work by managing the component state, the renderers and other properties. We then extended these basic concepts to design an advanced graphical JSF component able to display complex data sets, offer incremental refresh, support rich client-side interactions and coordinate with companion components. This required many enhancements to the basic JSF component architecture to support these features. As shown, incremental refresh would be a good future enhancement to the JSF framework. It allows only certain parts of page to have to be rerendered, avoiding a complete refresh of the page. Our example shows that following the JSF specifications is not always enough to ensure a component can be fully integrated into a JSF IDE and that a new JSR should solve this problem soon. Despite these pitfalls, the JSF framework greatly speeds up Web component development and facilitates mixing components from various sources to build complete and complex Web applications. To minimize the amount of work needed to create specialized graphical components, the ILOG JViews product line offers off-the-shelf JSF components that can be quickly and easily added to JSF applications. The most notable benefits for developers: Ease of development: Ready-to-use JSF components and tags make it easy to build sophisticated Web pages with same complexity as regular JSP pages. Also, JavaScript coding is no longer required for simple behaviors. With the wide availability of JSF-enabled IDEs, development of visually rich pages is as simple as JavaBean development for thick clients. Ease of integration: With new JSF features for navigation, localization and events, and interactive graphical components consistent with other JSP components, integration is seamless and much simpler. Reusable components: A clear separation of visual parameters, application logic and image providers enables components to be well designed, more generic and easily reused. Leverage ILOG s experience: As an early adopter and active promoter of JSF, ILOG has acquired an advanced knowledge of this technology that we offer through ILOG JViews to enable developers to immediately take advantage of this technology / 23 -

25 References 1. JSR 127: JavaServer Faces 2. Developing Advanced Graphics Components Using JavaServer Faces Technology 3. Creating Custom UI Components 4. JSR 168: Portlet Specification 5. Sun Java Studio Creator 6. Rational Application Developer for WebSphere Software ibm.com/software/awdtools/developer/application/index.html Further reading For a more complete description of how to build a JSF application, please see the article posted by Sun Microsystems at / 23 -

An introduction to creating JSF applications in Rational Application Developer Version 8.0

An introduction to creating JSF applications in Rational Application Developer Version 8.0 An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create

More information

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks Betting Big on JavaServer Faces: Components, Tools, and Tricks Steve Muench Consulting Product Manager, JDeveloper/ADF Development Team Oracle Corporation Oracle's Betting Big on

More information

IBM Rational Web Developer for WebSphere Software Version 6.0

IBM Rational Web Developer for WebSphere Software Version 6.0 Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,

More information

Glassfish, JAVA EE, Servlets, JSP, EJB

Glassfish, JAVA EE, Servlets, JSP, EJB Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting

More information

Developer Tutorial Version 1. 0 February 2015

Developer Tutorial Version 1. 0 February 2015 Developer Tutorial Version 1. 0 Contents Introduction... 3 What is the Mapzania SDK?... 3 Features of Mapzania SDK... 4 Mapzania Applications... 5 Architecture... 6 Front-end application components...

More information

The Oracle Fusion Development Platform

The Oracle Fusion Development Platform The Oracle Fusion Development Platform Juan Camilo Ruiz Senior Product Manager Development Tools 1 The preceding is intended to outline our general product direction. It is intended for information purposes

More information

Oracle Application Development Framework Overview

Oracle Application Development Framework Overview An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services

More information

Web Development with the Eclipse Platform

Web Development with the Eclipse Platform Web Development with the Eclipse Platform Open Source & Commercial tools for J2EE development Jochen Krause 2004-02-04 Innoopract Agenda Currently available Tools for web development Enhancements in Eclipse

More information

CrownPeak Java Web Hosting. Version 0.20

CrownPeak Java Web Hosting. Version 0.20 CrownPeak Java Web Hosting Version 0.20 2014 CrownPeak Technology, Inc. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical,

More information

Getting Started Guide. Version 1.8

Getting Started Guide. Version 1.8 Getting Started Guide Version 1.8 Copyright Copyright 2005-2009. ICEsoft Technologies, Inc. All rights reserved. The content in this guide is protected under copyright law even if it is not distributed

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

Building and Using Web Services With JDeveloper 11g

Building and Using Web Services With JDeveloper 11g Building and Using Web Services With JDeveloper 11g Purpose In this tutorial, you create a series of simple web service scenarios in JDeveloper. This is intended as a light introduction to some of the

More information

OPENTABLE GROUP SEARCH MODULE GETTING STARTED ADD RESERVATIONS TO YOUR WEBSITE

OPENTABLE GROUP SEARCH MODULE GETTING STARTED ADD RESERVATIONS TO YOUR WEBSITE ADD RESERVATIONS TO YOUR WEBSITE OPENTABLE GROUP SEARCH MODULE The group search module allows users to select a specific restaurant location from a list and search tables at that location. The code below

More information

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph Client: Brian Krzys June 17, 2014 Introduction Newmont Mining is a resource extraction company with a research and development

More information

Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator

Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator Written by: Chris Jaun (cmjaun@us.ibm.com) Sudha Piddaparti (sudhap@us.ibm.com) Objective In this

More information

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Introduction Client-Side scripting involves using programming technologies to build web pages and applications that are run on the client (i.e.

More information

Tutorial: Building a Web Application with Struts

Tutorial: Building a Web Application with Struts Tutorial: Building a Web Application with Struts Tutorial: Building a Web Application with Struts This tutorial describes how OTN developers built a Web application for shop owners and customers of the

More information

JBoss Portlet Container. User Guide. Release 2.0

JBoss Portlet Container. User Guide. Release 2.0 JBoss Portlet Container User Guide Release 2.0 1. Introduction.. 1 1.1. Motivation.. 1 1.2. Audience 1 1.3. Simple Portal: showcasing JBoss Portlet Container.. 1 1.4. Resources. 1 2. Installation. 3 2.1.

More information

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform Communiqué 4 Standardized Communiqué 4 - fully implementing the JCR (JSR 170) Content Repository Standard, managing digital business information, applications and processes through the web. Communiqué

More information

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains

More information

Software Development Kit

Software Development Kit Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice

More information

DEVELOP MOBILE APPLICATIONS WITH ORACLE ADF MOBILE

DEVELOP MOBILE APPLICATIONS WITH ORACLE ADF MOBILE Disclaimer: The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver

More information

What s New in IBM Web Experience Factory 8.5. 2014 IBM Corporation

What s New in IBM Web Experience Factory 8.5. 2014 IBM Corporation What s New in IBM Web Experience Factory 8.5 2014 IBM Corporation Recent history and roadmap Web Experience Factory 8.0 2012 Multi-channel Client-side mobile Aligned with Portal 8 Developer productivity

More information

Developing XML Solutions with JavaServer Pages Technology

Developing XML Solutions with JavaServer Pages Technology Developing XML Solutions with JavaServer Pages Technology XML (extensible Markup Language) is a set of syntax rules and guidelines for defining text-based markup languages. XML languages have a number

More information

Designing portal site structure and page layout using IBM Rational Application Developer V7 Part of a series on portal and portlet development

Designing portal site structure and page layout using IBM Rational Application Developer V7 Part of a series on portal and portlet development Designing portal site structure and page layout using IBM Rational Application Developer V7 Part of a series on portal and portlet development By Kenji Uchida Software Engineer IBM Corporation Level: Intermediate

More information

<Insert Picture Here> Oracle Mobile Enterprise Application Platform Overview

<Insert Picture Here> Oracle Mobile Enterprise Application Platform Overview Oracle Mobile Enterprise Application Platform Overview Oracle Tools Product Development The following is intended to outline our general product direction. It is intended for information

More information

Developer s Guide. Version 1.8

Developer s Guide. Version 1.8 Developer s Guide Version 1.8 Copyright Copyright 2005-2009. ICEsoft Technologies, Inc. All rights reserved. The content in this guide is protected under copyright law even if it is not distributed with

More information

In this chapter, we lay the foundation for all our further discussions. We start

In this chapter, we lay the foundation for all our further discussions. We start 01 Struts.qxd 7/30/02 10:23 PM Page 1 CHAPTER 1 Introducing the Jakarta Struts Project and Its Supporting Components In this chapter, we lay the foundation for all our further discussions. We start by

More information

BEAWebLogic. Portal. Portlet Development Guide

BEAWebLogic. Portal. Portlet Development Guide BEAWebLogic Portal Portlet Development Guide Version 10.0 Revised: March 2007 Copyright Copyright 1995-2007 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This software is protected by

More information

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET PRODUCTIVE ENTERPRISE MOBILE APPLICATIONS DEVELOPMENT KEY FEATURES Visual and declarative development Mobile optimized user experience Simplified access to

More information

Liferay Enterprise ecommerce. Adding ecommerce functionality to Liferay Reading Time: 10 minutes

Liferay Enterprise ecommerce. Adding ecommerce functionality to Liferay Reading Time: 10 minutes Liferay Enterprise ecommerce Adding ecommerce functionality to Liferay Reading Time: 10 minutes Broadleaf + Liferay ecommerce + Portal Options Integration Details REST APIs Integrated IFrame Separate Conclusion

More information

ECG-1615A. How to Integrate IBM Enterprise Content Management Solutions With Microsoft SharePoint and IBM Connections. elinar.com

ECG-1615A. How to Integrate IBM Enterprise Content Management Solutions With Microsoft SharePoint and IBM Connections. elinar.com ECG-1615A How to Integrate IBM Enterprise Content Management Solutions With Microsoft SharePoint and IBM Connections Presentation index The Players The Problem IBM Standard Integration Options IBM Content

More information

Struts Tools Tutorial. Version: 3.3.0.M5

Struts Tools Tutorial. Version: 3.3.0.M5 Struts Tools Tutorial Version: 3.3.0.M5 1. Introduction... 1 1.1. Key Features Struts Tools... 1 1.2. Other relevant resources on the topic... 2 2. Creating a Simple Struts Application... 3 2.1. Starting

More information

Services. Custom Tag Libraries. Today. Web Development. Role-Based. Development. Code Reuse. Tag Libraries Custom Tags. Tag Lifecycle.

Services. Custom Tag Libraries. Today. Web Development. Role-Based. Development. Code Reuse. Tag Libraries Custom Tags. Tag Lifecycle. JSP, and JSP, and 1 JSP, and Custom Lecture #6 2008 2 JSP, and JSP, and interfaces viewed as user interfaces methodologies derived from software development done in roles and teams role assignments based

More information

Web Container Components Servlet JSP Tag Libraries

Web Container Components Servlet JSP Tag Libraries Web Application Development, Best Practices by Jeff Zhuk, JavaSchool.com ITS, Inc. dean@javaschool.com Web Container Components Servlet JSP Tag Libraries Servlet Standard Java class to handle an HTTP request

More information

Actuate Business Intelligence and Reporting Tools (BIRT)

Actuate Business Intelligence and Reporting Tools (BIRT) Product Datasheet Actuate Business Intelligence and Reporting Tools (BIRT) Eclipse s BIRT project is a flexible, open source, and 100% pure Java reporting tool for building and publishing reports against

More information

Sabre Red Apps. Developer Toolkit Overview. October 2014

Sabre Red Apps. Developer Toolkit Overview. October 2014 Sabre Red Apps Developer Toolkit Overview October 2014 Red Apps are optional, authorized applications that extend the capabilities of Sabre Red Workspace. Red Apps are Sabre's branded version of an Eclipse

More information

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010 Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache

More information

Advantage of Jquery: T his file is downloaded from

Advantage of Jquery: T his file is downloaded from What is JQuery JQuery is lightweight, client side JavaScript library file that supports all browsers. JQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling,

More information

IBM Script Portlet for WebSphere Portal Release 1.1

IBM Script Portlet for WebSphere Portal Release 1.1 IBM Script Portlet for WebSphere Portal Release 1.1 Topics Why script applications for WebSphere Portal The Script Portlet approach and its benefits Using Script Portlet Accessing data and services Downloadable

More information

Modeling Web Applications Using Java And XML Related Technologies

Modeling Web Applications Using Java And XML Related Technologies Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik

More information

Esigate Module Documentation

Esigate Module Documentation PORTAL FACTORY 1.0 Esigate Module Documentation Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels to truly control

More information

HP LoadRunner. Software Version: 11.00. Ajax TruClient Tips & Tricks

HP LoadRunner. Software Version: 11.00. Ajax TruClient Tips & Tricks HP LoadRunner Software Version: 11.00 Ajax TruClient Tips & Tricks Document Release Date: October 2010 Software Release Date: October 2010 Legal Notices Warranty The only warranties for HP products and

More information

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies: Oracle Workshop for WebLogic 10g R3 Hands on Labs Workshop for WebLogic extends Eclipse and Web Tools Platform for development of Web Services, Java, JavaEE, Object Relational Mapping, Spring, Beehive,

More information

Introduction to Sun ONE Application Server 7

Introduction to Sun ONE Application Server 7 Introduction to Sun ONE Application Server 7 The Sun ONE Application Server 7 provides a high-performance J2EE platform suitable for broad deployment of application services and web services. It offers

More information

Building Web Services with Apache Axis2

Building Web Services with Apache Axis2 2009 Marty Hall Building Web Services with Apache Axis2 Part I: Java-First (Bottom-Up) Services Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF/MyFaces/Facelets,

More information

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT Dr. Mike Morrison, University of Wisconsin-Eau Claire, morriscm@uwec.edu Dr. Joline Morrison, University of Wisconsin-Eau Claire, morrisjp@uwec.edu

More information

Create interactive web graphics out of your SAS or R datasets

Create interactive web graphics out of your SAS or R datasets Paper CS07 Create interactive web graphics out of your SAS or R datasets Patrick René Warnat, HMS Analytical Software GmbH, Heidelberg, Germany ABSTRACT Several commercial software products allow the creation

More information

Course Name: Course in JSP Course Code: P5

Course Name: Course in JSP Course Code: P5 Course Name: Course in JSP Course Code: P5 Address: Sh No BSH 1,2,3 Almedia residency, Xetia Waddo Duler Mapusa Goa E-mail Id: ITKP@3i-infotech.com Tel: (0832) 2465556 (0832) 6454066 Course Code: P5 3i

More information

Rich Internet Applications

Rich Internet Applications Document Reference TSL-SES-WP-0001 Date 4 January 2008 Issue 1 Revision 0 Status Final Document Change Log Version Pages Date Reason of Change 1.0 Draft 17 04/01/08 Initial version The Server Labs S.L

More information

<Insert Picture Here> Building a Complex Web Application Using ADF and Siebel

<Insert Picture Here> Building a Complex Web Application Using ADF and Siebel Building a Complex Web Application Using ADF and Siebel Nishit Rao Group Product Manager Fusion Middleware Oracle Dhiraj Soni Technical Architect GIT Apps Engineering Oracle The following

More information

Portals, Portlets & Liferay Platform

Portals, Portlets & Liferay Platform Portals, Portlets & Liferay Platform Repetition: Web Applications and Model View Controller (MVC) Design Pattern Web Applications Frameworks in J2EE world Struts Spring Hibernate Data Service Java Server

More information

ORACLE ADF MOBILE DATA SHEET

ORACLE ADF MOBILE DATA SHEET ORACLE ADF MOBILE DATA SHEET PRODUCTIVE ENTERPRISE MOBILE APPLICATIONS DEVELOPMENT KEY FEATURES Visual and declarative development Java technology enables cross-platform business logic Mobile optimized

More information

AJAX and jmaki for Web 2.0 Development using Java. Inyoung Cho Java Technology Evangelist Sun Microsystems, Inc.

AJAX and jmaki for Web 2.0 Development using Java. Inyoung Cho Java Technology Evangelist Sun Microsystems, Inc. AJAX and jmaki for Web 2.0 Development using Java Inyoung Cho Java Technology Evangelist Sun Microsystems, Inc. Agenda AJAX Basics > What is AJAX? > AJAX Interaction:Using AutoComplete Sample Application

More information

Apple Applications > Safari 2008-10-15

Apple Applications > Safari 2008-10-15 Safari User Guide for Web Developers Apple Applications > Safari 2008-10-15 Apple Inc. 2008 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system,

More information

GUI and Web Programming

GUI and Web Programming GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program

More information

WebSphere Business Monitor V7.0 Script adapter lab

WebSphere Business Monitor V7.0 Script adapter lab Copyright IBM Corporation 2010 All rights reserved IBM WEBSPHERE BUSINESS MONITOR 7.0 LAB EXERCISE WebSphere Business Monitor V7.0 Script adapter lab What this exercise is about... 1 Changes from the previous

More information

Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00

Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00 Course Page - Page 1 of 12 Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00 Course Description Responsive Mobile Web Development is more

More information

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development 4 Understanding Web Applications IN THIS CHAPTER 4.1 Understand Web page development 4.2 Understand Microsoft ASP.NET Web application development 4.3 Understand Web hosting 4.4 Understand Web services

More information

Productivity Comparison for Building Applications and Web Services

Productivity Comparison for Building Applications and Web Services Productivity Comparison for Building Applications and Web Services Between The Virtual Enterprise, BEA WebLogic Workshop and IBM WebSphere Application Developer Prepared by Intelliun Corporation CONTENTS

More information

Data Visualization in Ext Js 3.4

Data Visualization in Ext Js 3.4 White Paper Data Visualization in Ext Js 3.4 Ext JS is a client-side javascript framework for rapid development of cross-browser interactive Web applications using techniques such as Ajax, DHTML and DOM

More information

Development. with NetBeans 5.0. A Quick Start in Basic Web and Struts Applications. Geertjan Wielenga

Development. with NetBeans 5.0. A Quick Start in Basic Web and Struts Applications. Geertjan Wielenga Web Development with NetBeans 5.0 Quick Start in Basic Web and Struts pplications Geertjan Wielenga Web Development with NetBeans 5 This tutorial takes you through the basics of using NetBeans IDE 5.0

More information

Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2

Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard Skin Tutorial For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard engine overview Dashboard menu Skin file structure config.json Available telemetry properties dashboard.html dashboard.css Telemetry

More information

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise

More information

ORACLE APPLICATION EXPRESS 5.0

ORACLE APPLICATION EXPRESS 5.0 ORACLE APPLICATION EXPRESS 5.0 Key Features Fully supported nocost feature of the Oracle Database Simple 2-Tier Architecture Develop desktop and mobile applications 100% Browserbased Development and Runtime

More information

HP Storage Essentials Storage Resource Management Report Optimizer Software 6.0. Building Reports Using the Web Intelligence Java Report Panel

HP Storage Essentials Storage Resource Management Report Optimizer Software 6.0. Building Reports Using the Web Intelligence Java Report Panel HP Storage Essentials Storage Resource Management Report Optimizer Software 6.0 Building Reports Using the Web Intelligence Java Report Panel First edition: July 2008 Legal and notice information Copyright

More information

CollabraSuite. Developer Guide. Version 7.3.0

CollabraSuite. Developer Guide. Version 7.3.0 CollabraSuite Developer Guide Version 7.3.0 Copyright Copyright 2000-2008 CollabraSpace, Inc. All Rights Reserved. Restricted Rights Legend This software is protected by copyright, and may be protected

More information

Developing Web Services with Eclipse

Developing Web Services with Eclipse Developing Web Services with Eclipse Arthur Ryman IBM Rational ryman@ca.ibm.com Page Abstract The recently created Web Tools Platform Project extends Eclipse with a set of Open Source Web service development

More information

Agenda. Summary of Previous Session. Application Servers G22.3033-011. Session 3 - Main Theme Page-Based Application Servers (Part II)

Agenda. Summary of Previous Session. Application Servers G22.3033-011. Session 3 - Main Theme Page-Based Application Servers (Part II) Application Servers G22.3033-011 Session 3 - Main Theme Page-Based Application Servers (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

Chapter 22: Integrating Flex applications with portal servers

Chapter 22: Integrating Flex applications with portal servers 279 Chapter 22: Integrating Flex applications with portal servers Using Adobe LiveCycle Data Services ES, you can configure Adobe Flex client applications as local portlets hosted on JBoss Portal, BEA

More information

PROGRESS Portal Access Whitepaper

PROGRESS Portal Access Whitepaper PROGRESS Portal Access Whitepaper Maciej Bogdanski, Michał Kosiedowski, Cezary Mazurek, Marzena Rabiega, Malgorzata Wolniewicz Poznan Supercomputing and Networking Center April 15, 2004 1 Introduction

More information

Adding Panoramas to Google Maps Using Ajax

Adding Panoramas to Google Maps Using Ajax Adding Panoramas to Google Maps Using Ajax Derek Bradley Department of Computer Science University of British Columbia Abstract This project is an implementation of an Ajax web application. AJAX is a new

More information

JSP Java Server Pages

JSP Java Server Pages JSP - Java Server Pages JSP Java Server Pages JSP - Java Server Pages Characteristics: A way to create dynamic web pages, Server side processing, Based on Java Technology, Large library base Platform independence

More information

Embedded BI made easy

Embedded BI made easy June, 2015 1 Embedded BI made easy DashXML makes it easy for developers to embed highly customized reports and analytics into applications. DashXML is a fast and flexible framework that exposes Yellowfin

More information

Pay with Amazon Integration Guide

Pay with Amazon Integration Guide 2 2 Contents... 4 Introduction to Pay with Amazon... 5 Before you start - Important Information... 5 Important Advanced Payment APIs prerequisites... 5 How does Pay with Amazon work?...6 Key concepts in

More information

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010 Oracle Identity Analytics Architecture An Oracle White Paper July 2010 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may

More information

Front-End Performance Testing and Optimization

Front-End Performance Testing and Optimization Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client

More information

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory. 2012 IBM Corporation 1

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory. 2012 IBM Corporation 1 Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory 1 Agenda Mobile web applications and Web Experience Factory High-level tour of Web Experience Factory automation

More information

Portals and Hosted Files

Portals and Hosted Files 12 Portals and Hosted Files This chapter introduces Progress Rollbase Portals, portal pages, portal visitors setup and management, portal access control and login/authentication and recommended guidelines

More information

Service Governance and Virtualization For SOA

Service Governance and Virtualization For SOA Service Governance and Virtualization For SOA Frank Cohen Email: fcohen@pushtotest.com Brian Bartel Email: bbartel@pushtotest.com November 7, 2006 Table of Contents Introduction 3 Design-Time Software

More information

This document will describe how you can create your own, fully responsive. drag and drop email template to use in the email creator.

This document will describe how you can create your own, fully responsive. drag and drop email template to use in the email creator. 1 Introduction This document will describe how you can create your own, fully responsive drag and drop email template to use in the email creator. It includes ready-made HTML code that will allow you to

More information

Macromedia Dreamweaver 8 Developer Certification Examination Specification

Macromedia Dreamweaver 8 Developer Certification Examination Specification Macromedia Dreamweaver 8 Developer Certification Examination Specification Introduction This is an exam specification for Macromedia Dreamweaver 8 Developer. The skills and knowledge certified by this

More information

Master Thesis. Arnold Kemoli. Design and Implementation of a Dynamic Component based Web Application Framework

Master Thesis. Arnold Kemoli. Design and Implementation of a Dynamic Component based Web Application Framework Master Thesis Arnold Kemoli Design and Implementation of a Dynamic Component based Web Application Framework Fakultät Technik und Informatik Department Informations- und Elektrotechnik Faculty of Engineering

More information

Nexawebホワイトペーパー. Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability

Nexawebホワイトペーパー. Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability Nexawebホワイトペーパー Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability Nexaweb Technologies, Inc. February 2012 Overview Many companies today are creating rich internet

More information

IBM Rational Rapid Developer Components & Web Services

IBM Rational Rapid Developer Components & Web Services A Technical How-to Guide for Creating Components and Web Services in Rational Rapid Developer June, 2003 Rev. 1.00 IBM Rational Rapid Developer Glenn A. Webster Staff Technical Writer Executive Summary

More information

<Insert Picture Here> Web 2.0 Data Visualization with JSF. Juan Camilo Ruiz Senior Product Manager Oracle Development Tools

<Insert Picture Here> Web 2.0 Data Visualization with JSF. Juan Camilo Ruiz Senior Product Manager Oracle Development Tools Web 2.0 Data Visualization with JSF Juan Camilo Ruiz Senior Product Manager Oracle Development Tools 1 The preceding is intended to outline our general product direction. It is intended

More information

JavaFX Session Agenda

JavaFX Session Agenda JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user

More information

Dreamweaver Tutorial - Dreamweaver Interface

Dreamweaver Tutorial - Dreamweaver Interface Expertrating - Dreamweaver Interface 1 of 5 6/14/2012 9:21 PM ExpertRating Home ExpertRating Benefits Recommend ExpertRating Suggest More Tests Privacy Policy FAQ Login Home > Courses, Tutorials & ebooks

More information

6 th Annual EclipseCon Introduction to BIRT Report Development. John Ward

6 th Annual EclipseCon Introduction to BIRT Report Development. John Ward 6 th Annual EclipseCon Introduction to BIRT Report Development John Ward BIRT and Us Who am I? Who are you? Who am I? John Ward, BIRT user Independent BIRT Enthusiast Author: Practical Data Analysis and

More information

Web-JISIS Reference Manual

Web-JISIS Reference Manual 23 March 2015 Author: Jean-Claude Dauphin jc.dauphin@gmail.com I. Web J-ISIS Architecture Web-JISIS Reference Manual Web-JISIS is a Rich Internet Application (RIA) whose goal is to develop a web top application

More information

Testing and Deploying IBM Rational HATS 8.5 Applications on Apache Geronimo Server 3.1

Testing and Deploying IBM Rational HATS 8.5 Applications on Apache Geronimo Server 3.1 Testing and Deploying IBM Rational HATS 8.5 Applications on Apache Geronimo Server 3.1 Royal Cyber Inc. Modernized e-business solutions Overview This white paper explains how to run, test and deploy IBM

More information

<Insert Picture Here> Oracle Application Express 4.0

<Insert Picture Here> Oracle Application Express 4.0 Oracle Application Express 4.0 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any

More information

Developing Web Views for VMware vcenter Orchestrator

Developing Web Views for VMware vcenter Orchestrator Developing Web Views for VMware vcenter Orchestrator vcenter Orchestrator 5.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced

More information

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle Safe Harbor Statement The following is intended to outline our general

More information

Building Web Applications, Servlets, JSP and JDBC

Building Web Applications, Servlets, JSP and JDBC Building Web Applications, Servlets, JSP and JDBC Overview Java 2 Enterprise Edition (JEE) is a powerful platform for building web applications. The JEE platform offers all the advantages of developing

More information

Complementing Your Web Services Strategy with Verastream Host Integrator

Complementing Your Web Services Strategy with Verastream Host Integrator Verastream Complementing Your Web Services Strategy with Verastream Host Integrator Complementing Your Web Services Strategy with Verastream Host Integrator Complementing Your Web Services Strategy with

More information

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Course Number: IAC-SOFT-WDAD Web Design and Application Development Course Number: IAC-SOFT-WDAD Web Design and Application Development Session 1 (10 Hours) Client Side Scripting Session 2 (10 Hours) Server Side Scripting - I Session 3 (10 hours) Database Session 4 (10

More information

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience IBM Digital Experience Using Modern Web Development Tools and Technology with IBM Digital Experience Agenda The 2015 web development landscape and IBM Digital Experience Modern web applications and frameworks

More information

Publishing, Consuming, Deploying and Testing Web Services

Publishing, Consuming, Deploying and Testing Web Services Publishing, Consuming, Deploying and Testing Web Services Oracle JDeveloper 10g Preview Technologies used: Web Services - UML Java Class Diagram An Oracle JDeveloper Tutorial September 2003 Content Introduction

More information