Welcome!


When I first started asking Eclipse developers about provisioning and lockdown – do we need it, what did they think about it, etc. – several things became clear very quickly. First, there are two distinct camps – people who manage people using Eclipse and people who use Eclipse. The pe...
In light of today’s compressed development cycles, multi-tiered application architectures and complex technologies, many organizations are challenged to get reliable yet scalable enterprise Java applications out the door in a timely manner. Devoting a small amount of energy throughout ...
These days the popularity of Ext JS (a JavaScript library) is gaining momentum. One of the most popular widgets within Ext JS is the DataGrid. The reason – displaying data from a database is one of the most common tasks of a web application. “Out of the box” the DataGrid has functional...
WS-BPEL 2.0 is the dominant specification to standardize orchestration logic and process automation between Web services. The BPEL model is used to assemble a set of discrete, essentially disparate, services into an end-to-end process flow to transform the existing stateless and uncorr...
I recently gave talks on the behavior of different JPA frameworks at W-JAX(Germany) and TheServerSide Java Symposium (Prague). As some people have asked me, I am publishing the samples as well. I would also give away the eclipse project, however with all the third party libraries I am ...
In my previous article I talked about the impact of jQuery Selectors on a page that I analyzed. The page took 4.8 seconds in the onLoad event handler. 2 seconds were mainly caused by the selectors as described in the blog. The other 2.8 seconds were caused by a dynamic JavaScript menu ...
In this article, we will examine three of the most common and deadly mistakes companies make - mistakes that can be easily rectified. If you recognize any of these mistakes in your business, you can and should take immediate corrective action.
Distribution and communication between applications and services is a central concept in modern application architectures. In order to profit from distribution you have to keep some basic principles in mind – otherwise you can easily run into performance and scalability problems. Durin...
The RESTful architectural style [1], with its URL addressable, resource oriented approach allows you to define Web services which can have multiple runtime representation in a variety of different media types. You define a Web resource, encapsulating the desired functionality within a...
Cloud computing is slowly gaining credibility and traction in the enterprise world. As giants such as Google and Amazon productize their massive cloud infrastructures, moving enterprise applications to the public cloud seems a more realistic possibility. The advantages of an enterprise...
A couple of patterns that could cause Java heap exhaustion were identified from years of research at IBM. One interesting scenarios was observed when Java applications generate excessive amount of finalizable objects whose classes have non-trivial Java finalizers. A Java finalizer perf...
We can visualize resource starvation using an elaborate rendition of the Dining Philosophers Problem. This classic metaphor of resource allocation among processes was first introduced in 1971 by Edsger Dijkstra in his paper “Hierarchical Ordering of Sequential Processes.” It’s been a m...
With the arrival of .NET 3.5, WPF and the RTM of Silverlight 2, .NET developers have more choices than ever for designing, developing and deploying compelling applications with rich user interfaces. However, there are other mainstream alternatives that don’t fall into the .NET camp. Wh...
So what does this say about Oracle's strategy for forming SNORKEL, the Sun acquisition? Well, at the risk of reductio ad absurdum, having bought BEA and Sun, Larry Ellison sees Java as the new SQL
A couple of years ago I presented Take a load off! Load testing your Oracle Apex or JDeveloper web applications at OOW and AUSOUG. I can't recommend enough the importance of stress testing your web applications, it's saved my bacon a number of times. Frequently as developers, we devel...
In the enterprise IT environment today, modern middleware technologies make it easier to expose existing or new business applications as sets of services. However, with the mashup of cloud-based services and enterprise data center services, the visibility of how a service created today...
In 1969 Edward Lorenz, the famed meteorologist and Chaos Theory proponent, introduced the concept now known as the “Butterfly Effect” when he posed the famous question: “Does the flap of a butterfly’s wings in Brazil set off a tornado in Texas?” The Butterfly Effect theory describes th...
With the explosive growth of Web-based businesses and applications, datacenter workloads have increased exponentially. IT managers are finding it difficult to meet the accelerating demands for performance, capacity, scalability and reliability, while at the same time meeting budgets, m...
This article explains how an Open Source SOA Roadmap can use a typical Web application project’s funding as the basis for a successful SOA transition effort. It is the first of three articles that explains how open source technologies and techniques can be leveraged to successfully del...
Online commerce is no longer just for consumer products, but also for direct and indirect goods and services. As a result, new demands are placed on classic customer relationship management (CRM) applications. While most have successfully automated customer-facing interactions (such as...
The Java Database Connectivity (JDBC) API is used to access a SQL database from a Java application. JDBC also supports tabular data sources, such as a spreadsheet. Oracle JDeveloper is a free Integrated Development Environment (IDE) for modeling, developing, debugging, optimizing, and...
As consumers we are accustomed to the end-user experience of the Internet. With HTTP and XML, you don’t need to have a specific application on your computer to make use of external data – you can just open a browser window and do a search or visit a particular Web site to find the info...
Do you believe that the day when programmers could focus on one language in their jobs is gone? Thanks to the ever-changing IT landscape and the uncertain financial times, contemporary developers are expected to work with a wide range of platforms, frameworks, languages as essentially ...
The Java Persistence API (JPA) is the enterprise standard for accessing relational data in Java. JPA provides support for mapping Java objects to a database schema and includes a simple programming API and expressive query language for retrieving mapped entities from a database and wri...
Ask any software engineer about difficult bugs they’ve faced and they’ll always have a story to tell you: the bug that took weeks to track down, the bug that was affecting millions of customers but could not be reproduced by any of the development team, or the bug that brought the enti...
When Enterprise Architecture is able to prove that it can bridge the business vision to IT’s tactical operations, its function will no longer be Hype and EA staff members will no longer need to Hope they won’t be cut. Enterprise Architecture will become an organization without which th...
Recently industry analysts, press, and bloggers have been writing about the state of service-oriented architecture (SOA) and whether it’s “dead” or in the “trough of disillusionment." These discussions have been fueled by surveys that suggest a decline in the number of organizations co...
Some walls are necessary. We use brick-and-mortar walls to support buildings and firewalls to protect our computers from attack. But not all walls are good. Consider the Berlin Wall, a wall of segregation. It divided a country and its citizens, but has subsequently been brought down by...
This is a blog that proposes five distinct ways in which cloud computing solutions can strenghten the efforts of development and test teams within an enterprise.
Application servers, those dependable workhorses that run most enterprise Java applications, are rarely a hot topic of conversation these days. As a technology category, the application server appears to be fairly “established” and that the focus has moved elsewhere in the stack, but a...
I wrote in my previous article, “Interactive Storyboarding with JSP,” that interactive storyboarding is an effective way to define better requirements by eliciting actual business user needs. And I proposed to describe the requirements inJSPs with the J-CASE tag library, which enables ...
The rise of Enterprise Architecture (EA) should be no surprise to any of us, and yet every day businesses either opt out of deploying enterprise architecture, or can’t deploy it effectively. While the Industrial Age was characterized by process-based advances such as assembly lines and...
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...