BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Source Code Content on InfoQ

  • Tips to Developers Starting on Large Applications

    You've just started working on a large Java application. How would you go about understanding the code base? In a typical enterprise Java team, most of the senior developers who can help you are likely to be quite busy. Documentation will be sparse. You will need to quickly deliver and prove yourself to the team. How would you resolve such a situation? This article offers some suggestions.

  • Eight Quick Ways to Improve Java Legacy Systems

    Even Java systems can be "legacy" systems. This article explores 8 quick and relatively low risk ways to improve even the crustiest Java application. Applications that may have previously been written off as dead can find new life by using these tips to improve performance, reduce operations overhead and grease the gears of the development lifecycle.

  • 5 Configuration Management Best Practices

    There has been a lot of conversation going on around the configuration of applications, and how to manage it. This article explores things people can do from within their code to make their lives, and the lives of anyone else who has to administer or maintain their application, easier. These patterns have been used a number of times on ThoughtWorks projects, and they have proven their worth.

  • Web Service Contract Versioning

    Today we introduce the book “Web Service Contract Design and Versioning for SOA” by Thomas Erl, Anish Karmarkar, Priscilla Walmsley, Hugo Haas, L. Umit Yalcinalp, Canyang Kevin Liu, David Orchard, Andre Tost, James Pasley. More exactly, chapters 20, 21, and 22 of the book addressing the issues related to service contract versioning.

  • Improving the Performance of Automatic Configuration Management Processes by Encouraging Human Intervention

    In this case study, the pattern of automatic processes interlaced with human intervention provided bwin with an instrument to raise process efficiency in CM drastically. Furthermore, successes of the incorporation of human factors into change management was an increased visibility and appreciation of the context and importance of change amongst team members and stakeholders across the company.

  • Staying Safe and Sound Thanks to MDSD

    In this article, Andreas Kaltenbach explains how Model-Driven Software Development (MSDS) can help solving backward compatibility problems when creating a newer version of a software which can mean a new API or a new database schema that old clients cannot use. MSDS is used to negotiate the differences between versions to ease the upgrading process.

  • SOA Contract Maturity Model

    This article shows how recommended contract versioning design policies relate to a SOA Maturity Model. The goal is to provide a roadmap for achieving the full feature set of versioning and composability as part of SOA Governance.

  • Contract Versioning, Compatibility and Composability

    Kjell-Sverre and Jean-Jacques revisit the principles of contract design focusing on the concept of compatible contract based on XML, XML Schema and WSDL extensibility to foster service reuse and complement Governance. The article includes a novel approach to manage message types in relation to an enterprise data model.

  • Distributed Version Control Systems: A Not-So-Quick Guide Through

    Since Linus Torvalds presentation at Google about git in May 2007, the adoption and interest for Distributed Version Control Systems has been constantly rising. We will introduce the concept of Distributed Version Control, see when to use it, why it can be better, and have a look at three actors in the area: git, Mercurial and Bazaar.

  • Fine Grained Versioning with ClickOnce

    ClickOnce makes it easy to deploy WinForms applications. But while it has some versioning support, it has no built in way to deliver different versions to different people. This makes partial rollouts to a test audience difficult. David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET.

  • Version Control for Multiple Agile Teams

    When several agile development teams work on the same codebase, how do we minimize chaos, and ensure there's a clean, releasable version at the end of every iteration? Here Henrik Kniberg outlines the scheme used in "Scrum and XP from the Trenches". This paper is not so much for version control experts as for the rest of us, who just want to learn simple and useful ways to collaborate.

  • Using Logging Seams for Legacy Code Unit Testing

    Using logging seams you can easily create unobtrusive unit tests around legacy classes, without needing to edit class logic as well as avoiding behavior changes.

BT