InfoQ Homepage Programming Content on InfoQ
-
Scalability Worst Practices
In this article, former Orbitz lead architect Brian Zimmer discusses scalability worst pratices. Topics covered include The Golden Hammer, Resource Abuse, Big Ball of Mud, Dependency Management, Timeouts, Hero Pattern, Not Automating, and Monitoring.
-
Developing Portlets using JSF, Ajax, and Seam (Part 1 of 3)
This article, the first in a three-part series, lays the framework for the rest of the series. It covers setting up a new project using JBoss Portlet Container and JBoss Portlet Bridge, configuring a JSF application to use JBoss Portlet Bridge, and the capabilities that JBoss Portlet Bridge provides to a JSF application.
-
Silverlight and Java Interoperability
Robert Bell, Microsoft, introduces interoperability scenarios for using Silverlight from Java and provides architectural guidance using sample code snippets.
-
Spring 2.5: New Features in Spring MVC
Spring 2.5 rolled out a comprehensive set of annotations that can be used for auto-discovery of Spring-managed objects, dependency injection, lifecycle methods, Web layer configuration, and testing.
-
8 Reasons Why Model-Driven Approaches (will) Fail
If you want to start building software in a model-driven way you’ll need to devise some methodology based on ideas and practical experiences from others. In this article, Johan shares with us 8 gotchas of Model Driven Engineering. The article contains a rich set of references to help you go further in your investigations.
-
Service-Oriented Development with Consumer-Driven Contracts
In this article, Ian Robinson discusses how "consumer-driven contracts", in the form of "stories for services" and unit tests exchanged between service development streams, can strengthen the service-oriented development lifecycle. In contrast to contracts defined from the POV of the provider, consumer-driven contracts result from combining the demands of all known service consumers.
-
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.