BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Design Content on InfoQ

  • Temporal and Behavioral Coupling

    Low coupling has always been the Holy Grail of good software engineering. In his new post, Ian Robinson explores two specific types of coupling, temporal and behavioral.

  • Article: Using SketchFlow to Create Better Prototypes

    Simon Guest of Microsoft introduces SketchFlow by discussing why prototyping is an important developer skill and how a tool can enhance developer-customer interaction. The functionality and features of SketchFlow are presented in the context of an ongoing sample application (an on-line store).

  • Advantages Of (Also) Using HATEOAS In RESTFul APIs

    Craig McClanahan, from Sun Microsystems, provides answers as to why existing "REST" APIs don't really take advantage of using Hypermedia as the Engine of Application State (HATEOAS) in RESTful services. He cites examples from his recent work in designing the Sun Cloud API to illustrate the benefits.

  • Transaction Strategies Based on Java Transaction Models

    It is a common mistake to confuse transaction models with transaction strategies. Mark Richards discusses the three transaction models supported by the Java Platform (Local Transaction, Programmatic Transaction, and Declarative Transaction) and four transaction strategies (Client Orchestration, API Layer, High Concurrency, and High Speed Processing) that can be based on those models.

  • When Is POSTing State Appropriate?

    In an article, Tim Bray, examines the feedback from the first public draft of the APIs for the Sun Cloud. He responds to feedback in the article and explores the ways to model interactions such as, creating a VM in a Cluster, in a RESTful way.

  • Interview and Book Excerpt: Jaroslav Tulach's Practical API Design

    Jaroslav Tulach's latest book Practical API Design covers the topics of API design in modern software applications, what factors make a good API, and how to go about implementing API frameworks. InfoQ spoke with Jaroslav about his new book. We are also making an excerpt from the book available for our readers.

  • Avoiding Three Common Mistakes when Implementing XML and Web Services

    In his new comment, IBM’s Kyle Brown examines three different common anti-patterns, or "worst practices," that can make adopting Web Services and SOA implementations more difficult than it needs to be.

  • SOA and DDD

    In a recent entry, Phillip Calcado asks the question "What Is A Service?" and then goes on to describe how the answer to this lies with Domain Driven Design and ensuring that all stakeholders in an SOA development share the same understanding.

  • Spolsky vs Uncle Bob

    The last few weeks, a public dispute has been going on between Joel Spolsky and Robert C Martin (Uncle Bob) about Test-Driven Development and about the SOLID principles of OO design. Here is a summary and review of the match.

  • Presentation: Convergence: Model-Based Software, Systems And Control Engineering

    In this presentation filmed during OOPSLA 2008, Janos Sztipanovits attempts to tackle the complexity of large scale systems integration. Software, systems and control engineering converge in such systems, raising the integration challenges and demanding a new approach to model-based design.

  • Interview: Software Design Helps Being Agile

    In this interview made by InfoQ’s Deborah Hartmann during Agile 2008, Rebecca Wirfs-Brock talks about software design, the need for good design and the technical debt that might accumulate slowing down the development process. The conclusion is that agile developers should not disregard design.

  • Presentation: Agile Methods and User Centered Design

    In this presentation filmed during ThoughtWorks’ Quarterly Technology Briefing, Dave Robertson and John Johnston explain what the Agile and User Centered Design’s (UCD) common denominators are, common values being the most important one in their opinion.

  • "Good Design" Means ...?

    It's not news that at the heart of successful software systems (and, frankly, fulfilling software careers) is good design. Also not news is that defining what "good design" really means has been at the heart of many debates, papers, talks, books, discussions, and more for ages. To help, J.B. Rainsberger and Scott Bellware offer some advice to follow until that one true definition comes along.

  • Interview: Similarities Between Interaction Designers and Agile Programmers

    In this interview taken during Agile 2008, Alan Cooper, the father of Visual Basic and supporter of interaction design, talks about his contact with the Agile movement and the similarities discovered between Agile programmers and interaction designers.

  • Presentation: What Drives Design?

    In this presentation held during OOPSLA 2008, Rebecca Wirfs-Brock reviews various forms of driven development in order to understand the principles and values of several design practices used today. By comparing them, a designer will get a broader view over design and will better understand which design practice is more appropriate for him.

BT