BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles

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

  • Choose Feature Teams over Component Teams for Agility

    Feature teams, common enough in small groups, are all too rare in large product development - but they can be a key to scaling with agility. This article analyses how feature teams resolve weaknesses of component teams, and points out key issues to address when transitioning. It is an excerpt from "Scaling Lean and Agile Development," by Craig Larman and Bas Vodde, to be published later this year.

  • Virtualization and Security

    While virtualization provides many benefits, security can not be a forgotten concept in its application. This new article takes a look at how virtualized servers effect data center security.

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

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

BT