Feature:

Learning distributed architecture and modern SOA design techniques

By Cameron McKenzie

TheServerSide.com

While in years past, organizations may have held the reins tight over what hardware was permitted to connect to the corporate intranet, the modern, bring your own device (BYOD) mentality, along with the propensity of people to be constantly checking in on their smart-phones, has pushed traditional architectures to their absolute limits. In response to the increased computing demands, organizations are taking a much more serious look at how they can create highly scalable and flexible distributed computing environments that can leverage commodity hardware while at the same time meeting the demands of their clients.

Organizations are taking a serious look at how to create scalable and flexible distributed computing environments.

Cameron McKenzie, Editor of TheServerSide

Expert insight into developing distributed architectures

Helping enterprise architects and software developers to create the distributed architectures that are needed to meet modern demands, TheServerSide has been working with some of the industry’s top experts to garner insight, tips and advice on how to best approach the development of distributed systems. Perhaps the best place to look when embarking upon the development and design of a distributed architecture is Jason Tee’s article on the subject:

How to architect a modern distributed architecture by Jason Tee

Concurrency vs. distributed computing

Of course, for many junior software professionals, there is often a confusion between the various ways in which applications can be made to scale linearly and effectively as additional hardware is added to this mix. This often creates confusion between the tenants of distributed programming and concurrent programming. In the following article, Jason Tee explores the similarities and differences between the two, ensuring that software professionals have a solid understanding of the differences between these complimentary approaches that both work to help applications scale to handle increasing workloads:

Contrasting distributed computing with concurrent programming by Jason Tee

Performance optimization

And finally, any architecture that is being developed in a distributed manner has goals such as scalability and performance in mind. In the following article, Tom Nolle addresses the complex issues that arise when managing horizontal traffic, validating policy restrictions and achieving stability in the ALM (Application Lifecycle Management) process.

Optimizing the performance of distributed SOA architectures by Tom Nolle

Developing distributed architectures is a challenge, but with a solid understanding of what distributed programming really is, how the development of a distributed architecture should be approached, and what software professionals can do to ensure that their distributed architectures are effectively performing at capacity, the challenge becomes an easier one to accept and achieve.

Let us know your thoughts on how to best develop a modern, distributed architecture.
 

Recommended Titles

SOA Patterns Arnon Rotem-Gal-Oz
Design Patterns: Elements of Reusable Object-Oriented Software Richard Helm
Head First Design Patterns Eric Freeman
Patterns of Enterprise Application Architecture Martin Fowler

03 May 2013