Welcome!

Java IoT Authors: Stackify Blog, Liz McMillan, APM Blog, Jnan Dash, Elizabeth White

Related Topics: Java IoT

Java IoT: Article

Happy Birthday, Ajax4jsf!

A progress report

Ajax4jsf has turned one and what a year it has been. It was an amazing ride for all of us here at Exadel. The popularity of Ajax4jsf is evidenced by the size of the community, available resources, examples, blog entries, and articles. Also, a significant number of organizations today use Ajax4jsf in production. Ajax4jsf is an open source extension to JavaServer Faces (JSF) that adds AJAX capability to JSF applications without requiring the writing of any JavaScript. So, after wishing Ajax4jsf and those who have worked on it a heartfelt "Happy Birthday," let's take the time to reflect on this whirlwind of a year.

The Road to Ajax4jsf
First, we'll look at the technological situation preceding the birth of Ajax4jsf. In doing this, we'll look at the "jsf" piece, then the "Ajax" piece, and finally the "4" piece.

JSF
JavaServer Faces is a standard component-based user interface framework for building Java-based Web applications - with the emphasis on component-based. It's now about three-years old. In the past year, interest in JSF has dramatically increased. At Exadel, we've seen one example of this with users of our IDE. Exadel provides an Eclipse plug-in for visual and source development that includes support for JSF, Struts, and Hibernate. In the past year, roughly 90% of all downloads of the plug-in were for JSF development.

It's not surprising that JSF has become so prominent. First, it's a standard, developed through the Java Community Process, and a part of Java EE 5. Second, and more important, it brings component-based development to the Web. As a developer, you design the application from reusable user interface components - those of you with Swing or ASP.NET experience should be familiar with this approach. These UI components, also known as controls, can be as simple as a submit button and as sophisticated as special trees, tables, and menus. A quick search on the Internet will provide abundant evidence as to why JSF is the best technology to use today for building Web applications.

AJAX
In the past couple of years, a great deal of buzz has emerged over AJAX. It's not about the cleaning stuff (or the soccer team from the Netherlands or the ancient Greek hero). In this case, it stands for Asynchronous JavaScript and XML. AJAX is basically a collection of existing technologies for radically changing the user experience on the Web. To create this richer user experience, AJAX lets you create rich Internet applications. These are applications that are rich, interactive, and fast. The basic technique behind rich Internet applications is that only the part of the page that has changed should be updated. There is no need to reload the whole page. Such applications are sometimes referred to as Web 2.0 applications. (I'm sure you have heard this term already.) Rich Internet applications have grown tremendously in popularity in 2006, especially on the consumer side. Today, thousands of consumer Websites use AJAX functionality in one form or another. (Google Maps is probably the most popular one.) Enterprises have now noticed the benefits that rich Internet applications bring to using the Web and are slowly adopting these types of applications. While rich Internet applications deliver superior benefits to users, it's very challenging for developers to incorporate AJAX in these applications. It requires a lot of low-level programming (read: JavaScript, XML, DOM) and developers with the necessary expertise in the area. And then, it is not uncommon to spend 80-90 percent of direct AJAX development battling JavaScript and browser incompatibilities.

Combining AJAX and JSF
Using AJAX also poses a challenge for the JSF community. Starting to code in JavaScript alongside JSF UI components is not an option. It jumps outside of the JSF component model. A better solution is needed.

To figure out this solution, remember that JSF is based on components. Why not just have components that encapsulate all of the challenging AJAX functionality inside them? This way, using AJAX in development actually becomes pretty simple. This enables application development with extensive AJAX functionality without having to worry about low-level AJAX details like JavaScript or browser incompatibilities. Almost all such problems will have been ironed out by the component developer back when the component was tested and debugged.

Highlights on the Road to Ajax4jsf
To summarize the lead-up to Ajax4jsf, keep in mind these main points:

  1. JSF is a standard component-based framework for building Web-based applications.
  2. AJAX is a technique to make Web applications fast, rich, and more interactive.
  3. JSF and AJAX are a perfect match because of the JSF component approach (adding AJAX functionality through additional standard JSF components that provide AJAX features).
Now that the scene is set, we can move on to the actual birth of Ajax4jsf.

Ajax4jsf
Ajax4jsf framework was created and designed by Alexander Smirnov. In early 2005, he was looking to add a "hot" new technology along with the associated experience to his resume. About the same time, the concept of AJAX was being introduced by Jesse James Garrett, and JSF was starting to pick up steam. Alexander figured why not just merge the two, so it would be easy to have AJAX functionality within a JSF application. He figured this would be an excellent addition to his resume. He started the project on sourcforge.net and called it Telamon (taken from the Shakespeare play Anthony and Cleopatra). And, Ajax4jsf was born.

Alexander Smirnov Joins Exadel
In the fall of that same year, Alexander joined Exadel and continued to develop the framework. Alexander's goal was to create a tool that was easy to use and that could be used with any existing JSF component library. His understanding of the JSF framework and AJAX technology allowed him to architect and design a framework that today is used by thousands of people.

Visual Component Platform
The first version of what would become Ajax4jsf was released in March 2006. It wasn't yet a standalone thing. Rather, it was part of a product called Exadel Visual Component Platform (now known as Exadel RichFaces). The initial idea was to build components based on Alexander's framework and package them with the framework. RichFaces consists of sophisticated, ready-to-use JSF AJAX components. Underneath these components, Ajax4jsf provided the foundation.

Ajax4jsf Splits Off
In late April, based on customer feedback, we realized that our customers wanted more flexibility and control in adding AJAX functionality to JSF applications. Customers liked RichFaces components, but having direct access to Ajax4jsf would give them even more muscle in developing rich JSF applications. Responding to this feedback, we decided to move Ajax4jsf outside of RichFaces and make it a standalone open source project. The project was moved to the Java.net site, an incubator for open source projects sponsored by Sun. After setting up the project and getting approval from Sun, the project was launched at the http://ajax4jsf.dev.java.net Website as an open source project sponsored by Exadel.

Popularity of Ajax4jsf
On being spun off, Ajax4jsf started to become popular. People were pleasantly surprised at how easy it was to add AJAX functionality to the standard JSF components in their applications with an open source product. They didn't have to redo or re-create anything just because they wanted to add AJAX. As word spread, traffic on the Ajajx4jsf site has been increasing each month and traffic on the mailing list has increased as well. Ajax4jsf has made Java.net's "Top Ranked" lists more than once. Ajax4jsf has appeared in the Top 10 projects lists for mail traffic, accesses, and CVS commits numerous times. The number of articles, Internet resources, and blog entries where people talk about Ajax4jsf has also grown significantly.


More Stories By Max Katz

Max Katz heads Developer Relations for Appery.io, a cloud-based mobile app platform. He loves trying out new and cool REST APIs in mobile apps. Max is the author of two books “Practical RichFaces” (Apress 2008, 2011), DZone MVB (Most Valuable Blogger), and is a frequent speaker at developer conferences. You can find out what Max is up to on his blog: http://maxkatz.org and Twitter: @maxkatz.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Ken 09/20/07 09:05:17 PM EDT

I would be interested to read some comparisons between Ajax4jsf and G4jsf (Google Web Toolkit integration w/jsf). Maturity, robustness, ...

@ThingsExpo Stories
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...