InfoQ Homepage Languages 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.
-
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.
-
Choosing between Routing and Orchestration in an ESB
In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup. They discuss various approaches to connecting services, from low level ones like customized routing, to high-level ones using business oriented approaches like workflow and orchestration, and conclude that there is no one-size-fits-all solution.
-
Do Java 6 threading optimizations actually work? - Part II
Features like biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking are all designed to increase concurrency by allowing more effective sharing amongst application threads. But do they actually work? In this two part article, Jeroen Borgers explores these features and attempt to answer the performance question with the aid of a single threaded benchmark.