InfoQ Homepage Architecture Content on InfoQ
-
Consistency vs. availability: eventual consistency by Werner Vogels
Until the mid nineties, achieving distribution transparency and data consistency has often been the priority. As large Internet systems started to arise, availability became another important concern to be taken into consideration. Werner Vogels outlines some principles, abstractions and consistency/availability trade-offs related to large scale data replication with focus on eventual consistency.
-
File System Transactions - still a problem area?
Historically transaction-processing systems have relied primarily, if not solely, on databases to handle the ACID aspects of any IO activities that required to be transactional. The support for transactions for file system operations has been weak at either the libraries/frameworks, languages or file system levels. Lately, this situation is starting to show signs of improvement.
-
Component Composition Strategies and Tactics
With the advent of Spring and the development of the Dependency Injection pattern, Component Technologies have started providing advanced composition mechanisms. In the past month IBM and SAP published related articles exploring the modern strategies and tactics to develop composite business solutions.
-
Decisions driven by productivity concerns: Reasons, implications and limitations
Often the necessity to rapidly adapt software projects to new clients’ needs results in adopting approaches focused on productivity. Reasons, implications and limitations of this were recently discussed in the blog sphere.
-
James Gosling on Adobe Flash / Flex / AIR
Kathleen Richards of Redmond Developer News published an interview with Sun Microsystems’ James Gosling, in which they discussed JavaFX and its competition in the RIA space. Gosling shared some pointed thoughts on how he believes JavaFX compares to the Flash / Flex platform.
-
Programming languages in future systems
The trend seems to be clear; in the next few years there will be an increase in adoption of new programming languages and systems will be written in multiple languages. But what does the mix look like, and which languages are suitable for what? In a recent post, language explorer and JRuby developer Ola Bini describes what future systems may look like.
-
Article: Take care of your domain model
Today, many projects focus on Domain-Driven Design, but it is not always easy. One of the most important things are to separate the domain code from the code that only exists for technical reasons. Mats Helander has written an article where he explains how to manage domain models and teaches design patterns and aspect-oriented programming in the process.
-
Building Service Oriented Architectures with Java Technology
Sun Microsystems started a tour in the US to present a comprehensive view of the technologies and approaches it recommends to build Service-Oriented-Architectures with Java Technology.
-
Book Excerpt and Review: Release It!
Release It!: Design and Deploy Production-Ready Software by Michael Nygard discusses what it takes to make production-ready software, and explains how this differs from feature-complete software. InfoQ spoke with Michael Nygard and asked him several questions related to the book and some of the issues it raises.
-
Rules versus Procedural Code
Paul Haley, rule technology visionary, discusses criteria for choosing rule engines versus procedural code in business process solutions, as well as examining the current state of BPM/BRM integration.
-
Sun open sources virtualization management tool suite
Sun Microsystems recently released xVM platform, a virtualization and management tool suite which includes two products: xVM Ops Center and xVM Server. Ops Center is a management console used for the discovery, provisioning, updating, and monitoring of virtual and physical IT assets. Sun xVM Server is a Xen based open-source hypervisor that will run Windows, Linux, and Solaris operating systems.
-
Separating business logic from technology: Kathleen Dollard on a new view of code generation
Even the most successful project becomes a failure when a new technology comes out and everything has to be rewritten from the ground. This is why business logic has to be separated from technology. And, according to Kathleen Dollard, code generation is a promising approach to achieve it.
-
Does lines of code kill?
Steve Yegge touched a nerve in the development community when he argued that keeping the code size to an absolute minimum is the most important thing when developing software. In his view, you may have to sacrifice some design patterns and avoid refactoring at times just to keep the lines of code down. And if your problem is large enough - you may have to switch to another programming language.
-
Interview: Charles Simonyi on Intentional Software
Charles Simonyi, the President of Intentional Software and a recent space traveller presents his views on the future of software development. He talks about how to include domain experts in the development cycle by letting them express their intentions in domain specific languages, about Intentional's view on DSLs and Domain Driven Design and about what it was like to be a space tourist.
-
More on RPC in Adobe Flex Applications with AMF, BlazeDS, and/or GraniteDS
Last week, Adobe made a major change to the Adobe Flex Platform with the announcement that much of LiveCycle Data Services is being open sourced in the BlazeDS project, including the AMF specification and code. This change should eliminate one of the final cost and licensing barriers for those considering adopting the Flex Platform.