Welcome!


More and more web sites are using portal functionality. Portals are perfect for building mashups and interactive web sites offering a lot of functionality in a single web page. Content is a vital part of most portals. Content management integration in portals has traditionally been tre...
This article looks at a Java Virtual Machine (JVM) feature called Escape Analysis in some detail and how the JVM can use it to improve an application's performance. As you'll see, understanding what the JVM can do with escape analysis can help explain some otherwise non-intuitive perfo...
OpenSocial defines a common API for social applications across multiple websites. Built from standard JavaScript and HTML, developers can create applications with OpenSocial that access a social network’s friends and update feeds. By using a common API, developers can extend the reach ...
In the agile community there are many different opinions about the value of automated testing. While many argue about automation's place in agile, the business realities of geographic separation, multiple teams, and limited resources dictate a more pragmatic approach. The process of so...
In Part 1 of this article, I introduced rich client development, available architectures for developing rich client applications based on the Swing toolkit, and technologies that could be used to make development more productive. In this second part, I’ll compare the most popular IDEs ...
When looking for a language to modernize legacy applications, Java is a strong and viable contender. It offers portability, maintainability, extensibility, and cost effectiveness. However, for some heavy algorithmic time-critical scientific applications, Java may not be an engineer's f...
Over the past few years the industry has lauded, and users have increasingly adopted, a service-oriented architecture (SOA) approach to the development and deployment of their IT to achieve greater business agility and optimization of the associated development and operating costs. Whe...
I run a small custom software development company in Bulgaria called dSoft-Bulgaria Ltd. Established in 2003, our company provides information system design and development. We have a wide range of specialists in different areas and we deploy systems on several different platforms incl...
All organizations, including multinational corporations and government agencies, face a common problem of enterprise data integration. Obviously, large-scale sources of the problem stem from mergers and acquisitions. When a large company is formed from other pieces, each brings with it...
In this article we'll look at using scripting tools and languages in business applications. I am a big proponent of using scripting languages. Personally I use JavaScript very often: Why? Because it's fast, flexible and sexy. Technically, when I refer to JavaScript I actually mean ECMA...
JavaServer Faces has established itself as the leading framework for JEE development. In spite of its rising popularity, many development teams are unfamiliar with its use of components, so let's begin with a description of JSF components and what they have to offer. At its most basic,...
I would like to introduce the m2e project, a project that combines the power of Maven with the usability of Eclipse. In this article, I’m going to talk about our plans for the m2e project: where it is today, and where we intend to take the project. M2e is more than just a Maven plugin ...
From today's integrated J2EE applications through the emergence of service-oriented architectures (SOA), enterprise Web applications are becoming more complex, dynamic, and vital to business success. The payoff is huge, but so are the new risks that have materialized. IT teams have an ...
Only if you were on the dark side of the moon could you have missed the impact of the iPhone. Its sweeping success has brought mobile services into the mainstream. As the first device to convincingly integrate traditional phone capabilities with Web access, it highlights the multi-chan...
In today's Internet age, most developers are building Web applications prolifically. As applications move to the Web, it has become increasingly more important to be able to gauge their performance and load capability. Developers must be able to predict how much traffic a Web site will...
For a business to be sustainable today, it must be supported by a truly sustainable architecture. This type of architecture must have built-in agility and reusability. To be able to support the disparate end-to-end transaction components involved in converting leads to cash, this archi...
Unit testing is hard. There I said it. Although I have been developing software for the past 18 years I still find that putting my applications through their paces via unit testing is difficult. I have learned the lesson (I'm sure like many of you) the hard way. Unit testing is probabl...
Over the course of the past few decades, the consumer media industry has evolved from a slow-moving oligopoly dominated by a handful of vertically integrated networks to a highly fragmented and competitive marketplace of content creation, publication, and distribution players. This dis...
The open source community includes many early advocates of the recent wave of emerging SOA-related technology projects. Historically, however, open source has sometimes been considered a "late follower," with commercial products first to hit the market, and then followed by "me-too" op...
When picturing the relationship between the enterprise and the Software-as-a-Service (SaaS) business model, imagine an evolutionary process that can be divided into three main stages: "The Comfort Zone," "The Enlightenment," and "The Re-Assessment." Once we examine these, we can then d...
Openadaptor is a software toolkit that may be classified as a lightweight Enterprise Application Integration (EAI) solution. It provides a configurable component framework for connecting various systems and middleware implementations. In less technical parlance, the components are akin...
The following is a list of principles I've picked up, during my programming career, that I hope to carry in everything I do. They include nuggets from an eclectic group of sages including Dave Winer, Dale Carnegie, Nietzsche, and Pope John Paul II. I've seen people who can solve comple...
Before describing solutions available for rich client application development, it would be a good idea to explain what exactly a rich client application is and which rich client topologies can feasibly be built using the Java platform. In the main, a rich client is a part of a software...
What could be a problem with logging in SOA in the presence of such wonderful tools like log4j, Java’s logging library and similar? Why might we need something special for SOA and why aren’t existing techniques enough? The answer is simple and complex simultaneously – in SOA we are dea...
What's the key to team and individual developer productivity in maintaining and extending a large application? Let’s start by making the following assertions: A developer's knowledge of an application code base is likely the single biggest factor of individual productivity. Correspondi...
Three-letter acronyms (TLAs) are hardly new in Information Technology: EAI, ESB, SOA, BPM, BAM, ETL, MDM; the list goes on and on. This article is about yet another three-letter acronym, EDA, which stands for Event-Driven Architecture. EDA is not a brand new technology, but rather a pr...
This article presents a case study of the use of meta-programming in Java compatibility testing. It shows how parts of the source code can be shared between different products and modified to generate programs targeting specific functions and describes the approach Sun Microsystems has...
The mouse was the original idea of Doug Engelbart who was the head of the Augmentation Research Center (ARC) at Stanford Research Institute. Engelbart's philosophy is best embodied, in my opinion, in the design of another device that he invented, the five-finger keyboard - with keys li...
I target customers who have large data processing needs. These come in various forms, but generically look like this: the customer gets huge data drops in some form or another and must process the data and output results in a very specific time frame. The customer has written some scri...
Each day as an AJAX developer seems to bring another helpful revelation: a new tool, a new gadget, a new way to reinvent the browser. But even when I'm confronted with a breakthrough as big as Firebug - the brilliant debugging tool for Firefox - in the back of my mind I'm reminded that...
Software professionals usually take a great deal of pride in some combination of: Chasing and groking the latest software methodology/technology (e.g., AJAX, JPA, PMP, Spring JMS, Ruby, etc.) making them more marketable (and better positioned to pay their bills!). Creating software pro...
The term Software Archeology has been used in various forms since early 2001. The concept of Software Archeology is an approach or methodology that helps individual team members or entire teams to understand exactly what they have in the code they're going to be working on. The approac...
Roughly two years ago, when I was writing an article on 'New Features for Device Developers in Visual Studio 2005' that was published in the August 2005 issues of this magazine, our program management team was already busy shaping the next release of the product, which is soon to be re...
In a very short time Ruby on Rails has gained popularity in the enterprise development community among both programmers and system managers. As an open source platform, Ruby is proving to offer a number of advantages for powering enterprise applications, not the least of which is a sho...
Maven is a promising application development lifecycle management framework coming from Apache's armory of open source tools. Maven was originally developed as a framework to manage and mitigate the complexities of building the Jakarta Turbine project and soon became a core entity of t...
The hope of using any persistence framework is absolute database independence. Database independence means that you can focus on your job as an application developer and not a DBA. However, no framework can fully make this claim. There's much more to running an application on a databas...
The Jedi mind trick is a Force power that can influence the actions of weak-minded sentient beings. Vendors will often try to apply the Jedi mind trick in selling silver-bullet software solutions that solve global warming and stop celebrity feuding while enabling service-based architec...
Until recently, tuning IT application performance has been largely a guessing game. This is both surprising and unacceptable considering the relentless focus IT organizations put on cost-efficiency and productivity. The traditional approaches to database and application tuning that inv...
In order to describe itself as an 'open source' company, need a company merely be 'a company that will help you make the switch to open source in your company' - or does it have to be one that lets users feely download, compile, and use the software in question? Where is the dividing l...
The significance of blogging is not the word 'blog' whether used as a verb or a noun, but its role as a harbinger of the game-changing Web-as-platform revolution. In particular, the migration of blogging from the individual toward the enterprise...