Delivering Rich Internet Applications with Ajax4jsf

Similar documents
Happy Birthday, Ajax4jsf! A Progress Report

IBM Rational Application Developer for WebSphere Software, Version 7.0

Oracle Fusion Middleware 11g: Build Applications with ADF I

Oracle Developer Day

Oracle Fusion Middleware 11g: Build Applications with ADF I

Java EE 6: Develop Web Applications with JSF

Developing Applications with Java EE 6 on WebLogic Server 12c

Oracle Developer Day

JavaEE Interview Prep

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!

Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing.

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

eclipse rich ajax platform (rap)

Oracle ADF: The technology behind project fusion. Lynn Munsinger Principal Product Manager Application Development Tools Oracle Corporation

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory

Oracle Application Development Framework Overview

Ajax and JSF: Natural Synergy

CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. CaptainCasa & Java Server Faces

PGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right?

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

IBM Rational Developer for System z Version 7.5

a white paper from Corel Corporation

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains

An update on the latest strategies for building Ajax applications with JavaServer Faces

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. RichFaces

Oracle WebCenter Suite Provides Web 2.0 Services for Enterprise Developers. An Oracle White Paper October 2006

xiii A. Hayden Lindsey IBM Distinguished Engineer and Director, Studio Tools Foreword

INTRODUCTION BACKGROUND DISCOVERER. Dan Vlamis, Vlamis Software Solutions, Inc. DISCOVERER PORTLET

Amyyon customers can t wait to get their hands on it s new application, developed in Uniface.

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

Packaging for Websphere Development Studio was changed with V6R1.

CIO 24/7 Podcast: Tapping into Accenture s rich content with a new search capability

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Building the Enterprise

Moving to a New Business Phone System

How HomeAway uses Node.js to Rev Operations to Scale and Tame Acquisition Woes

Preface. WELCOME to Filthy Rich Clients. This book is about building better, more. Organization

"Web Age Speaks!" Webinar Series

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation

Case Study: Dodging the Pitfalls of Enterprise Ajax Applications

November 2017 WebRTC for Live Media and Broadcast Second screen and CDN traffic optimization. Author: Jesús Oliva Founder & Media Lead Architect

SOLVING PROBLEMS ON THE TEACHING METHODS OF LINEAR ALGEBRA THROUGH TECHNOLOGY PLATFORM DOT.NET

Chapter. An Introduction to Oracle JDeveloper and Oracle ADF

Enterprise Java and Rational Rose -- Part I

Efficiency of Java Code for Mobile Application Development

MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB

Stanko Tadić

How to Write Engaging s

JSF Tools Reference Guide. Version: M5

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

VoIP INTERNET-BASED PHONE SYSTEMS CHOCK FULL OF FEATURES

Certificate-based authentication for data security

Tools to Develop New Linux Applications

presentation DAD Distributed Applications Development Cristian Toma

MICRO DIGITAL: TECHNICAL CRITERIA FOR MAKING THE RTOS CHOICE

Oracle Developer Day

Contents. 1. JSF overview. 2. JSF example

GETTING TO KNOW THE WEBINAR

WebRTC: Possible? Don McGregor Research Associate MOVES Institute.

The goal of this book is to teach you how to use Adobe Integrated

Class #7 Guidebook Page Expansion. By Ryan Stevenson

Azure Data Factory. Data Integration in the Cloud

Introducing the Project: TheBeerHouse

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.

JSF Tools Reference Guide. Version: beta1

We aren t getting enough orders on our Web site, storms the CEO.

Developing Web Applications for Smartphones with IBM WebSphere Portlet Factory 7.0

What is it? What does it do?

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already.

Java FX 2.0. Dr. Stefan Schneider Oracle Deutschland Walldorf-Baden

5 Reasons to Choose Parallels RAS Over Citrix Solutions

What's New in ActiveVOS 7.1 Includes ActiveVOS 7.1.1

Client Side JavaScript and AJAX

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

7+ GRAPHICS LIBRARIES TO ENHANCE YOUR EMBEDDED ANALYTICS

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

The ROI of UI Toolkit Standardization

<Insert Picture Here> The Latest E-Business Suite R12.x OA Framework Rich User Interface Enhancements

Introduction. A Brief Description of Our Journey

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

If you wish to make an improved product, you must already be engaged in making an inferior one.

HTML5 and CSS3 for Web Designers & Developers

Building Web Applications with SAS AppDev Studio TM 3.0

Real Life Web Development. Joseph Paul Cohen

AJAX Programming Overview. Introduction. Overview

ARCHITECTURE ARCHITECTURE OVERVIEW

BEAWebLogic. Portal. Overview

DESIGNING RESPONSIVE DASHBOARDS. Best Practices for Building Responsive Analytic Applications

ASYNCHRONOUS PROGRAMMING IN C# 5 WITHOUT USE OF MULTIPLE THREADS

And FlexCel is much more than just an API to read or write xls files. On a high level view, FlexCel contains:

IBM Workplace Software Development Kit

TestComplete 3.0 Overview for Non-developers

CTI Short Learning Programme in Internet Development Specialist

Embracing HTML5 CSS </> JS javascript AJAX. A Piece of the Document Viewing Puzzle

Strategy. 1. You must do an internal needs analysis before looking at software or creating an ITT

Mobile Device Architecture CS 4720 Mobile Application Development

Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration

Presentation and content are not always well separated. Most developers are not good at establishing levels of abstraction in JSPs

Hello, my name is Cara Daly, I am the Product Marketing Manager for Polycom Video Content Management Solutions and today I am going to be reviewing

Transcription:

Delivering Rich Internet Applications with Ajax4jsf Modern Web 2.0 applications set a new level of expectations for enterprises on the Web. Developers face heightened requirements for richer user interfaces at the same time enterprise Web applications increase in size and complexity. In this paper, we show how the open source Ajax4jsf framework, as part of a componentbased approach using JavaServer Faces, solves this problem. A White Paper from Exadel, Inc. Exadel, Inc. 1850 Gateway Blvd. Suite 1080 Concord, CA 94520 925-602-5561 www.exadel.com info@exadel.com

Table of Contents Delivering Rich Internet Applications with Ajax4jsf The Challenges of the Modern Web 3 What Web 2.0 Mean for Enterprises 3 The Promise of Components 4 What is JavaServer Faces (JSF)? 4 Why JSF? 5 The JSF Answer for the Web 2.0 Challenge 5 The Birth of Ajax4jsf 6 What Can Ajax4jsf Do for You? 7 Leverage the Whole Set of JSF Benefits while Working with AJAX 7 Add AJAX Capability to Existing JSF Applications 7 Write Your Own Custom Rich Components with Built-in AJAX Support 7 Package Resources with the Application's Java Classes 7 Create an Exciting Look for Applications On-the-fly 8 Create a Modern Rich User Interface Look-and-Feel with Skins-based Technology 8 Test Components, Actions, Listeners, and Pages as You Create Them 8 Use Ajax4jsf Components 8 Why Do You Need Ajax4jsf? 9 Conclusion 9 About Exadel, Inc. 10 Our Philosophy 10 Exadel, Inc. 2006 page 2 of 10

The Challenges of the Modern Web Everybody is now talking about Web 2.0, a Web that is more dynamic, richer, more interactive, and, ultimately much more exciting than anything we know now. It s just human nature to look for unusual and new stuff. But, what does that mean for business applications? Let s look at Google Maps. Yes, we are all excited by Google Maps. It looks great. It is very interactive. And, most importantly, it behaves completely differently from what we expect to see in a normal browser. But, compared to any realistic business application say something like trivial Internet banking Google Maps is nothing. It supports just a few use cases compared to the hundreds or thousands of use cases for a typical business application. How many input fields does it have? How many validation rules? How complex is the business process and page flow? Anybody could build Google Maps using any kind of technology, but business application developers face completely different challenges, challenges that are much more demanding! What Web 2.0 Mean for Enterprises Applications have become more and more complex. Any project that is targeting the nominal goal of retiring an old outdated system often ends up, not only replacing the old functionality, but actually adding many new functions to the system. Also, businesses like to thrill customers. An Internet bank should be, more dynamic not less dynamic than Google Mail! So, when we start thinking about the challenges facing enterprise developers, we see Exadel, Inc. 2006 page 3 of 10

that they must deliver cool, rich, dynamic, exciting new functionality in bulk packaging. And, they must deliver it yesterday! Did I also mention that the application must be flexible, scalable, secure, and cheap? Today, enterprise developers must serve two demanding groups of masters at the same time: consumers desiring all of the user interface aspects of Web 2.0 and businesses wanting more and more functionality. Fortunately, there is a solution for this problem. The Promise of Components Let s start with components. Developers have been talking about components for ages. It would seem absolutely obvious: you can construct a building from big blocks much faster than from small bricks and a lot more cheaply. Moving from civil engineering to the IT industry, the same idea is behind the movement from Assembler language (or even pre- Assembler machine code back in prehistoric times, if anybody still remembers) towards high-level and then object-oriented languages. If we look at the course of Web development from that point of view, the same movement is evident, from plain HTML (Assembler) to JSP (Fortran) to JavaServer Faces (Java for the Web). I put JavaServer Faces at the end of this evolutionary chain, because it is the latest and most advanced web components technology, at least on the Java side of the world. What is JavaServer Faces (JSF)? Here is a formal definition that comes from Sun: A server side user interface component framework for Java technology-based web applications. This sums it up perfectly. Server Side o There are plenty of component frameworks, based on client-side JavaScript (read: in the browser). This is a dead end. The plain truth is that modern enterprise applications will be multi-tier, mostly server-side for the immediate future. Most (but of course, not all) functionality will be implemented on server. User Interface o Yes, JSF is about the creation of the user interface. Hopefully, Java is doing very well in business functionality implementation, but a UI is a different beast. It requires a special approach, best exemplified in JSF. Component framework o This is the core of JSF. It s all about how to define, package, distribute and use UI components. It comes with a set of standard ready-to-use components and, much more importantly, it defines an environment for a component ecosystem. Because of this, you can buy or download Exadel, Inc. 2006 page 4 of 10

somebody s UI components and expect them to fit in and be useful in today s project. Java Web applications o Is anybody making any other kind of applications today? OK, that s a joke, of course, but the fact is that the vast majority of applications, at least the enterprise type of application, are Web and Java-based. Why JSF? JSF is a great framework for a variety of reasons First of all, JSF is a great piece of technology. It is a clean implementation of the MVC design pattern for Web applications. It s easy to use. It applies a clean separation of roles for Web applications. It is extendable in terms of both component and as a framework. It supports multiply delivery channels. But all of this is less important than the plain fact that JSF is the only standard Web component technology for Java. JSP, portlets, and servlets are not component-based. Struts (Do we need to mention Struts anymore?) is neither component-based nor standard. Did we mention huge industry support? Certainly nobody wants to stay with a big important application based on a funky open source framework that was invented and developed by one clever programmer! This is why IBM, Oracle, Sun and others are cultivating JSF, carefully selecting the best of the ideas for Web development, and paying big money to the best architects and developers to improve JSF for the rest of us. Its position as a standard is doubly important because it allows JSF to fully realize its promise as a component-based framework. The chances are much better that components from different vendors will coexist in the same application when the technology is more standardized a great boon for all enterprise applications developers! The JSF Answer for the Web 2.0 Challenge Despite the flood of new ways to solve modern challenges, at Exadel, we believe that JSF is the best answer to these challenges. Rich and dynamic should not equate to being less functional and too simple. When you deal with a real-world application, you must be ready for complicated page flows, data model, and business logic. To handle this complexity, JSF puts all of the needed tools and capabilities into the hands of developers. What JSF still needs is a little bit of richness to complete it. And, that is exactly what Ajax4jsf does. Exadel, Inc. 2006 page 5 of 10

The Birth of Ajax4jsf Delivering Rich Internet Applications with Ajax4jsf Exadel is a very well known player in the JSF arena. Here, at Exadel, we believe in the future of JSF and we have provided our customers with the best tools for JSF from the very early days of JSF as a technology. We also strongly believe in Open Source. These two tendencies came together in Ajax4jsf. Exadel contibuted Ajax4jsf as an open source extension to JSF and continues to support and promote the Ajax4jsf project. It s true open source distributed under the Common Development and Distribution License (CDDL). Ajax4jsf is a 100% JSF-compliant library that adds a modern twist of AJAX to the power of JSF. The major goals for Ajax4jsf are: To combine two great forces JSF and AJAX, into one powerful package To leverage the full set of JSF benefits, including powerful server-side componentbased functionality, for developing modern, interactive, rich, Web 2.0 applications To embrace openness and the true spirit of JSF to achieve the widest possible compatibility with different JSF implementations and third-party component libraries To add native support to great technologies complement JSF, like Facelets and JSF Extensions, to create a frameworks ecosystem around the JSF core The picture below gives you a glimpse under the hood of how JSF and AJAX work together in Ajax4jsf: Exadel, Inc. 2006 page 6 of 10

What Can Ajax4jsf Do for You? Ajax4jsf is a rich component framework that has been created exclusively to bring rich user interface functionality to the JavaServer Faces world. You can use Ajax4jsf to: Leverage the whole set of JSF benefits while working with AJAX Add AJAX capability to existing JSF applications Write your own custom rich components with built-in AJAX support Package resources with the application's Java classes Create an exciting look for the applications on-the-fly Create a modern rich user interface look-and-feel with skins-based technology Test components, actions, listeners, and pages as you create them Leverage the Whole Set of JSF Benefits while Working with AJAX Ajax4jsf is fully integrated into the JSF lifecycle. While other frameworks only give you access to the managed bean facility, Ajax4jsf leverages the action and value change listeners and invokes server-side validators and converters during the AJAX request-response cycle. Add AJAX Capability to Existing JSF Applications The framework is implemented using a component library that adds AJAX capability to your existing pages without needing to write any JavaScript code or needing to replace existing components with new AJAX widgets. Ajax4jsf enables page-wide AJAX support instead of the traditional component-wide support. This means you can define the event on the page that invokes an AJAX request along with the areas of the page that should be synchronized with the JSF Component Tree after the AJAX request changes the data on the server according to the events fired on the client. Write Your Own Custom Rich Components with Built-in AJAX Support An important part of Ajax4jsf is the Component Development Kit (CDK). The CDK includes both a code-generation facility and a templating facility using a JSP-like syntax.. These capabilities remove the need for much of the routine work involved in the component creation process. The component factory work like a well-oiled machine to allow the creation of first-class rich components with built-in AJAX functionality even more easily than the creation of simple components using the traditional coding approach. Package Resources with the Application's Java Classes In addition to its core AJAX functionality, Ajax4jsf also has advanced support for the management of resources like pictures, JavaScript code, and CSS stylesheets. The resource Exadel, Inc. 2006 page 7 of 10

framework makes it possible to easily pack such resources into Jar files along with the code of your custom components. Create an Exciting Look for Applications On-the-fly As yet another extra feature, the resource framework has a facility for generating images onthe-fly. With this feature, you can create images using the familiar approach of the Java graphic2d library. The function allows the creation of great looking, slick components whose look and feel can still be easily adjusted. Create a Modern Rich User Interface Look-and-Feel with Skins-based Technology Ajax4jsf provides a skinability feature. This feature allows the easy definition and management of different color schemes and other characteristics of the UI through named skin parameters. You can access the skin parameters from both the JSP code and the Java code (for example, to adjust generated on-the-fly images based on the text parts of the UI). Note, though, that skinability is not a complete replacement for traditional CSS, but complementary to it Test Components, Actions, Listeners, and Pages as You Create Them An automated testing facility is in our roadmap for the near future. It will generate test cases for your component as you develop the components. The testing framework will not just test the components, but also any other server-side or client-side functionality including JavaScript code. As an additional convenience, it will do all of this without the need to separately deploy the test application into the servlet container. Use Ajax4jsf Components In addition to all of these great features, Ajax4jsf contains a set of JSF components that are essential for creating modern Web 2.0 applications. These components works right out of the box and allows dynamic AJAX -style interactions between the client and server sides of an application. Here is an example in code of using the Ajax4jsf support component to add AJAX behavior to the standard JSF inputtext component: Exadel, Inc. 2006 page 8 of 10

Why Do You Need Ajax4jsf? Delivering Rich Internet Applications with Ajax4jsf The answer to that question is simple (although it is more than one answer): If you need to develop modern, rich, dynamic, Web 2.0 applications using JSF, you need Ajax4jsf! No other solution combines such powerful functionality in a single package to add AJAX to your applications. No other solution allows you to combine the full power of JSF with a modern Web 2.0 interface. No other solution has such openness, such full compatibility with all standard JSF implementations and component libraries. No other solution gives you such flexibility in look and feel. No other solution gives you this level of power to deliver results. Conclusion A components-based approach using JSF and Ajax4jsf is the best way for enterprises to address the Web 2.0 challenge. To learn more about Ajax4jsf, go to Web site for the Ajax4jsf project site at https://ajax4jsf.dev.java.net or contact sales@exadel.com. On the project site, you can see examples of development scenarios and applications designed with Ajax4jsf technology. Exadel, Inc. 2006 page 9 of 10

About Exadel, Inc. For more information on Exadel, product demos, and case studies, check out our Web site at www.exadel.com or email us at sales@exadel.com. Founded in 1998, Exadel is a US-based company headquartered in Concord, CA. With more than 120 employees, 700 customers, 150,000 registered users of our products, and international offices in 3 countries, Exadel is one of the leading companies in products and implementations for enterprise, Web 2.0, JSF, AJAX, and open source-based applications. Our Philosophy Exadel s success in serving our customers is based on a few strongly held beliefs. These ideas have driven us from the very beginning of Exadel: o Be Customer-Driven: Listen to your customer, and your customer will listen to you. All our products are based on our experience in real-life applications that we deliver to our customers. Our philosophy is to apply the knowledge and experience from our implementations to our products for the greater good of all our customers. o Be Open: Be fair, and the customer will understand you. Our products do not have any hidden sticky spots and traps. Use it, if you love it. This has been our philosophy from the very beginning, and we will continue to stick to it. o Be Focused: Nourish the fields that feed you. Our focus on JSF is an important part of our philosophy. Exadel is the best JSF company in the world, and now we add back exciting JSF products. o Be Committed: Play hard. Everything that we do, we follow through on until the end. Our products must be the best, and we will not stop until they are the best. When we have won, we then choose another target and start a new game. Before it was Struts Studio, then JSF Studio, and now it is Ajax4jsf. Exadel, Inc. 2006 page 10 of 10