BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Patterns Content on InfoQ

  • How to GET a Cup of Coffee

    In this article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application, using the well-known example from Gregor Hohpe's "Starbucks does not use Two-Phase-Commit" to illustrate how the Web's concepts can be used for integration purposes.

  • Book Review: Agile Adoption Patterns, A Roadmap to Organizational Success

    Ryan Cooper reviewed Amr Elssamadisy's new book and found it a useful framework for designing customized adoption strategies. Rather than a single recipe of Agile practices for everyone, the reader is offered patterns and tools to help determine which practices will most effectively help them reach their own organization's specific goals.

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

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

  • Nate Kohari on Releasing Ninject 1.0

    Ninject is touted as a lightning-fast, ultra-lightweight dependency injector for .NET applications. Helping developers split applications into a collection of loosely-coupled, highly-cohesive pieces, and then glue them back together in a flexible manner. Using Ninject to support your software's architecture, your code will become easier to write, reuse, test, and modify.

  • Domain Driven Design and Development In Practice

    In this article, Srini Penchikala discusses Domain Driven Design and Development from a practical stand-point. The article looks at architectural and design guidelines and best practices that can be used in a DDD project. It also talks about the impact of various design concerns like Persistence, Caching, Transaction Management, Security, Code Generation etc in domain model implementation effort.

  • Creating Product Owner Success

    The role of the Scrum Product Owner is powerful, but challenging to implement. Success can bring a new and healthy relationship between customers/product management and development, even competitive advantage, but it comes at a price: organizational change is often required. In this article Roman Pichler looks at what it takes to succeed as a Product Owner.

  • Book Excerpt and Interview: Effective Java, Second Edition

    Effective Java, Second Edition by Joshua Bloch is an updated version of the classic first edition, which was the winner of a 2001 Jolt Award. This edition has been updated to discuss Java 6 language features including generics, enums, annotations, autoboxing, the for-each loop, varargs, and concurrency utilities. InfoQ asked Bloch several questions about the areas that the new edition covers.

  • Software Development Lessons Learned from Poker

    There is no silver bullet. We know it, but don't act like it. Your language, tool or process is better, right? Jay Fields says: "It depends". The right choices varies with context, people, and more. This article touches upon how a lot of things must impact a choice; learning culture, skill levels, teamwork, incomplete information, metrics - and context.

  • Improvement, Success and Failure: Scrum Adoption in China

    This recent inquiry, by InfoQ China editor Jacky Li, picked 5 very different cases of Scrum adoption in China, which got different results, and asked: Why did you use Scrum? How did you adopt it? What problems did you encounter, and why did it succeed or fail? Despite the small sample size, it's an interesting comparison, pointing out that improvement doesn't ensure success.

  • Drinking your Guice too quickly?

    Dependency Injection has been around for a while, and many teams are refactoring their applications to use DI. But it can be a struggle. In this article, Paul Hammant explains the route to take to move an existing application from a nest-of-singletons design to a full fledged DI design.

BT