BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Languages Content on InfoQ

  • 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.

  • Service Dynamics: the lazy man's way

    This article describes "the hardest topic in OSGi, how to deal with service dynamics," based on personal experience. Two factors, concurrency and direct service references, make the problem "fiendishly hard." An import and an export policy should form a comprehensive doctrine for dealing with service dynamics and the article explores two export policies with their corresponding doctrines.

  • FlexMonkey brings unit testing to Flex user interface developers

    This article explores how Gorilla Logic's new, open source Flex user interface automation testing tool, FlexMonkey, can enhance the productivity of both developers and QA testers. FlexMonkey allows developers to incorporate user interface testing into unit test suites and continuous integration environments, and allows QA testers to expand those tests into comprehensive quality tests.

BT