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

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

  • Architecture as Language: A story

    Architecture is often described non-tangible in Word documents or entirely technology-driven. Both are bad, but what can be done? Markus Völter describes how to evolve a language around your architecture, a formal language that as a side effect ends up being a good base for generating important parts of the system.

  • An Approach to Internal Domain-Specific Languages in Java

    Alex Ruiz and Jeff Bay describe how it is possible to write domain-specific languages using the Java language and suggests some patterns for constructing them.

  • Don't Let Miscommunication Spiral Out Of Control

    We miscommunicate every day, with results ranging from trivial to catastrophic. In this seasonally themed article, J. B. Rainsberger shares one of his secret weapons - the Satir Communication Model. It's a thinking tool to help us analyze troubling conversations, and to more deeply understand the people around us, building trust, the first step towards building an effective team.

BT