InfoQ Homepage Programming Content on InfoQ
-
An Overview of the eXo Platform
In this article, Benjamin Mestrallet and Tugdual Grall provide an overview of the eXo platform, the Portlet 1.0 (JSR 168) and Portlet 2.0 (JSR 286) specifications. Topics covered include new features in the eXo Web 2.0 Portal, new capabilities in the Portlet 2.0 API, Inter-portlet communication, the eXo Java Content Repository, eXo Enterprise Content Management and the eXo business model.
-
Building Scalability and Achieving Performance: A Virtual Panel
Join our industry-heavyweight (eBay, Betfair, FiveRuns and Twitter) panel as they explore the cost of making their sites as scalable as possible, whilst tuning to get the most performance they possibly can. They explore the pros-and-cons of making their apps as awesome as possible - all the while under the pressure of their business requirements.
-
Domain-Driven Design in an Evolving Architecture
Mat Wall and Nik Silver explain how their has been using Domain-Driven Design in an evolving and Agile environment, at high traffic news site guardian.co.uk.
-
Debunking Common Refactoring Misconceptions
In comparison to Java, an emphasis on continuous refactoring is still relatively new in .NET. Besides having few ardent proponents, many myths linger around what refactoring really is and how it applies to the development process in general. Danijel Arsenovski, author of Professional Refactoring in Visual Basic, attempts to dispel some of these myths.
-
Ruby's Open Classes - Or: How Not To Patch Like A Monkey
Ruby's Open Classes are powerful - but can easily be misused. This article looks at how to minimize the risk of opening classes, alternatives, and how other languages provide similar capabilities.
-
Exploring LISP on the JVM
One of the most exciting things in the Java world right now is the work being done to get other programming languages to run on the virtual machine. There is a lot of buzz around JRuby, Groovy, Scala, and the JavaScript engine Rhino. But why stop there? If you really want to take a step outside the mainstream and dive into something completely different from Java, Lisp is a great option.
-
Introducing Multithreaded Programming to JavaScript
While increasingly more websites are fully or partially based on AJAX, it is still difficult to develop complicated AJAX applications. What is the main issue which causes this difficulty in developing AJAX applications? Is it asynchronous communication with the server, or is it GUI programming? How can a multithreading JavaScript library help to ease some of these issues?
-
Beyond SOA: A New Type of Framework for Dynamic Business Applications - Part II
In this second part of their article, the authors explore the architecture of Dynamic Business Applications and introduce the concept of a Resource Container. They demonstrate how this architecture can be layered on top of JEE and how it impacts implementation productivity.
-
Rationalizing the Presentation Tier
Thin client paradigm characterized by web applications is a kludge that needs to be repudiated. Old compromises are no longer needed and it's time to move the presentation tier to where it belongs. In this article, Ganesh Prasad and Peter Svensson explains how and why.
-
AtomServer – The Power of Publishing for Data Distribution
In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera. The authors spent the last year implementing an Atom Store for Homeaway, their employer, and are mnow making the Atom Store framework available as open source.
-
An Introduction to Virtualization
It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is being applied at a variety of levels including networking, storage, and application infrastructure. In this introduction to the topic InfoQ dives into each area describing its uses as well as benefits and disadvantages.
-
REST Anti-Patterns
In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them: tunneling everything through GET or POST, ignoring caching, response codes, misusing cookies, forgetting hypermedia and MIME types, and breaking self-descriptiveness.