InfoQ Homepage Languages Content on InfoQ
-
Modular Java: What Is It?
Over the last few years, modularity for Java has been an active discussion topic. From the (now defunct) JSR 277 to the recognition of JSR 291 and the ongoing JSR 294, modularity is seen as a necessary step in Java's evolution. Even future JVM-based languages like Scala are considering modularity. So, what does modularity mean, and why should you care?
-
Building FlightCaster's Frontends for the Web and Smartphones
In part two of InfoQ's interview with the FlightCaster team, we discuss scaling Rails on Heroku, the problems of integrating data from multiple providers and mobile smartphone applications.
-
Getting started with AMQP and RabbitMQ
Joern Barthel introduces the Advanced Message Queuing Protocol (AMQP), and illustrates it's useage with Ruby-based client and an EDA-style app. The open source RabbitMQ server is used on the backend (which is written in Erlang).
-
Book Excerpt and Interview: Dependency Injection
Dependency Injection by Dhanji R. Prasanna is a book that tries to explore the DI idiom in detail, and present techniques in Spring and Guice. Dhanji is a Google software engineer who works on Google Wave and also contributes to Guice, MVEL, and other open source projects.
-
Virtual Panel: The evolution of bug trackers
Bug (issue) tracking systems have become a standard tool for any organization that develops software and have evolved greatly in the last years. InfoQ has conducted a virtual panel with people from JIRA, FogBugz, Basecamp and MantisBT about this evolution and the future developments in this field.
-
Creating Highly-Scalable Components in Java
This article presents a library supporting the development of highly-scalable applications that take advantage of an underlying multi-core hardware. The library is part of the Amino Library Project. One example: ensure scalability of applications by using , java.util.concurrent.ConcurrentHashMap to replace a synchronized HashTable.
-
Orchestrating RESTful Services With Mule ESB And Groovy
In this article, David Dossot, co-author of Mule in Action, examines the power of Mule RESTpack and Groovy in orchestrating RESTful services in the Mule messaging platform. The article detail the interactions for each of these steps and will consider what particular Mule moving parts and Groovy features we have used to achieve such an interaction.
-
Clojure and Rails - the Secret Sauce Behind FlightCaster
FlightCaster, a realtime flight delay site, is built on Clojure and Hadoop for the statistical analysis. The web frontend is built with Ruby on Rails and hosted on Heroku. We talked to Bradford Cross about Clojure, functional programming and tips for OOP developers interested in making the jump.
-
WebSphere vs. .NET: IBM and Microsoft Go Head to Head
After carrying out a number of benchmarks, Microsoft concluded that .NET offers better performance and cost-performance ratio than WebSphere. IBM rebutted Microsoft’s findings and carried out other tests proving that WebSphere is superior to .NET. Microsoft responded by rejecting some of IBM’s claims as false and repeating the tests on different hardware with different results.
-
Super-sized Flex Development—Without the Extra Calories
Ryan Knight discusses how Adobe Flash Builder 4 beta provides tools for developing large-scale Flex applications, increasing developer productivity and workflow between designer and developer. He talks about how to leverage Flex's differences, details of some Flex modules, patterns and anti-patterns, and the Spring BlazeDS Integration Project.
-
Expression as a Compiler
The ability to dynamically generate code can greatly increase the expressiveness of developers. Repetitive code can be eliminated and complex decisions be pushed back to configuration files that can be changed by business analysts. In the past .NET developers built dynamic code using Reflection.Emit or CodeDom, but with LINQ Expressions a lightweight alternative has become available.
-
Supporting Advanced User Interaction Patterns in jBPM
Boris Lublinsky discusses task management in the jBPM and then demonstrates how to implement four advanced user interaction patterns(4-eyes principle, nomination, escalation, and chained execution) using JBoss and the jBPM. He also notes the advantages and limitations of these patterns.