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

  • REST – The Good, the Bad and the Ugly

    There are endless debates in the industry and among developers on merits and drawbacks of REST. A new post by Arnon Rotem-Gal-Oz provides some thoughts on both REST’s “goodness” and “badness”.

  • Presentation: Meeting the Challenge of Simplicity

    This session addresses the abstract notion of simplicity, looks at why it is critical in modern UI design and answers questions: Why does simplicity matter? Is there a meaningful definition of simplicity? Why do design processes and good intentions undermine simplicity? What processes and techniques can software developers use to achieve simplicity?

  • Presentation: Practice-based Design: Some Object Lessons

    In this OOPSLA 2008 session, Lucy Suchman teaches 8 lessons about objects: Learning to see, Classification, Object Agencies, Configurations, Boundaries and Interfaces, Contextualizations, Recontextualizations, and Transformations, showing how they can influence design.

  • Data, Context and Interaction : A New Architectural Approach by James O. Coplien and Trygve Reenskau

    James O. Coplien and Trygve Reenskaug have recently introduced a new architectural approach to OOP based on Data, Context and Interaction pattern. It should allow capturing user mental model in terms of behavioral requirements, something that classic OOP fails to do. The article, that triggered many reactions and critics, provides insights into DCI using concrete examples to show its advantages.

  • Presentation: A Tale of 2 Systems

    In this video recorded during QCon London 2008, Pete Goodliffe presents two Linux-based audio products with a complete different outcome, software design making the difference.

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

BT