tcf{tc}

Solutions for modern developers

The Web 2.0 Movement Is Here. But What Does It Mean to You?

Web 2.0 can be thought of as two concurrent and unrelated things: advances in technology and a new business model for web companies.

This article will examine the Web 2.0 movement and what it means for the end clients, what Web 2.0 means for the web UI, and which technologies enable the new features. In particular, it will talk about the new companies that joined the movement, and look at some of the technology that powers Web 2.0.

It will also discuss what it means to code in "web2.0 style" with some more advanced features of the Script.aculo.us framework and explore the Dojo toolkit.

Read the rest of this entry »

Implementing Search Result Pagination in a Web Application

Web pagination is something every web user takes for granted, but for developers a lot of consideration goes into implementing it. The web pagination mechanism will automatically improve responsiveness of the system, user experience, and may reduce clutter on the page. In this article, I will discuss different approaches and best practices to the pagination algorithms, and show what logic needs to be done for the actual link generation on the front end. For that, I will present a generic algorithm to implement page links on the result page.

Read the rest of this entry »

Chronological Photo Album Algorithm in Java with EXIF JPEG metadata

With the proliferation of the online picture sharing sites, such as flickr.com, snapfish.com, or kodakgallery.com, many developers are wondering how to achieve the same on their own. With the right, generally free, tools and a few clever Java algorithms, you can be hosting your own photo album in no time, without paying any subscription fees. In this article, I will teach you how to create a personal photo album that will be automatically sorted and ordered in correct chronological order, and independent from the file system names and locations. With the sample code, you will be able to drop the new folder of pictures into some directory and have them correctly show up in relation to the other picture folders you are sharing.

Read the rest of this entry »

Evolution of the J2EE Business Delegate Design Pattern

In this article, I will focus on the Business Delegate enterprise design pattern. This pattern describes a relatively new application of an old concept that facilitates decoupling between application tiers and various business services. I will describe the pattern in detail with an example of real enterprise usage. In addition, I will talk about key concepts and the evolution of this pattern. The idea of hiding complex implementations from different software clients or tiers is not new, GoF* book describes several patterns that make it possible. For example, a Façade [GoF] pattern provides a single high-level interface for a set of interfaces in a system and therefore hides the original implementation from the client subsystems. An Adapter [GoF] pattern or Broker pattern provide coupling for disparate systems, thereby also concealing the implementation of the parent system from the subsystems that use it.

Read the rest of this entry »

Spring: the eclectic Java Framework

Originally, I intended to discuss the Spring framework from the development perspective, but given the fact that there are numerous articles and publications about the topic, including the well documented reference manual, I decided to switch my focus to the usability of this technology. In this article, I will play the role of the devil’s advocate and will concentrate on the framework as a whole, its usefulness, and the problem space it is trying to address. I will still discuss the concepts and components of the framework in detail, and will assume the readers are familiar with Java Web development.

Read the rest of this entry »

Can Java Server Faces (JSF) be a panacea for Java Web Development?

In this article you will learn about JSF technology (JSR 252), its structure, configuration, pros and, cons. I will talk about the history that led to JSF. I will also discuss industry support both on the vendor and the IDE sides. As of this writing, the JSF is up to version 1.1_01, but the spec for 1.2 is compete and reference implementation should be available shortly. Also, understand that this technology is rather vast and I will cover only the general aspects of it in this article.

Read the rest of this entry »

Developing Session EJB with Borland JBuilder Enterprise 2006

In this article, I will discuss the creation and usage of an Enterprise Java Beans (EJBs) which are JEE Server Components. I will put their role in the perspective within the whole J2EE application via a sample project. The environment will be Borland JBuilder 2006 Enterprise and BEA WebLogic 9.x (as an application server). I will rely mostly on the excellent visual designers provided by JBuilder to create enterprise modules, such as WAR, EAR, and EJB, but I will mention what is available with other tools, such as Eclipse. I will assume that you are comfortable with the Java language and know the basic concepts of J2EE application packaging and structure. Also since the JBuilder 2007 is now based on the Eclipse platform, look for a follow-up article discussing how to develop EJBs with JBuilder 2007.  

Read the rest of this entry »

Using the Tapestry Framework - Part 2 - Advanced Features

In the first part of this article, I discussed the main structure of the Tapestry framework, as well as its setup and configuration in an enterprise scale development environment such as JBuilder 2006. In this article, I will further explore the features of the framework and discuss specific components and pre-build modules. A sample application that uses Tapestry is included for your reference as well.

Read the rest of this entry »