When software features are distributed on multiple infrastructures (server, mobile, cloud) that needs to communicate and synchronize, having a sound and reactive software architecture is a key for success and evolution of business functions.
Here are seven software architecture articles published in 2014 that can help you understand the basic topics and the current trends in software architecture: Agile, Cloud, SOA, Security… and even a little bit of data modeling.
* Designing Software in a Distributed World
This is an overview of what is involved in designing services that use distributed computing techniques. These are the techniques all large web sites use to achieve their size, scale, speed, and reliability.
* An SOA Maturity Ecosystem
Incorporating SOA in an organization is basically a migration initiative, and as such it should have an associated transition process inside it. An important part of this process is the establishment and periodic evaluation of a SOA maturity roadmap. There are several models created to perform this task, most of them tied to a specific vendor, which reduces the possibilities to openly use them. The Open Group has a model which, additionally, is an industry standard, and besides, it’s not only a maturity model but a framework, which is to say it lays a foundation which can be extended and personalized, plus it has an associated method.
Onion software architectures (source: Chop Onions Instead of Layers in Software Architecture)
* Chop Onions Instead of Layers in Software Architecture
Chopping onions usually makes you cry. This is not the case in software architecture. On the contrary! The onion architecture, introduced by Jeffrey Palermo, puts the widely known layered architecture onto its head. Get to know the onion architecture and its merits with simple and practical examples. Combined with code structuring by feature your software is easy to understand, changeable and extendable. Turn your tears of sorrow into tears of delight. For a very long time the standard answer to the question how components and classes should be organized in the software architecture was layers. Before we explore the promised benefits of layers and how they represent themselves in software architecture, we need to get rid of a common misconception regarding layers vs. tiers.
* Security Architecture Approaches
The choice of architecture methodology can increase or diminish efficiency. It is necessary to understand which methodology provides the most effective approach.
* Enterprise Data Modeling
This article explains the importance of all parties agreeing that enterprise models provide benefit to an organization, thus making these projects more successful and valuable.
* Applying Test-Driven Development to Architecture to Keep Your Team on Target
Software architects are often talented problem solvers. How can your Agile team leverage its architects’ capabilities, while still delivering value responsibly? Test-driven architecture makes the role of architect relevant in the Agile age.
* Architecture Guidance for Microsoft’s Integration & Service Technology Portfolio
Integration is key in a best-of-breed application landscape, B2B (business-to-business) scenarios or service oriented architecture (SOA). Applications, functions and services need to exchange data in order to participate in business processes
You can find more articles about this topic in the software architecture section of the SoftDevArticles.com web site. You can also browse our Software Architecture Articles of 2013 post.