{"id":5663,"date":"2013-03-12T07:53:10","date_gmt":"2013-03-12T12:53:10","guid":{"rendered":"http:\/\/www.mrc-productivity.com\/blog\/?p=5663"},"modified":"2013-03-12T07:54:08","modified_gmt":"2013-03-12T12:54:08","slug":"application-architecture-ignore-at-your-own-risk","status":"publish","type":"post","link":"https:\/\/www.mrc-productivity.com\/blog\/2013\/03\/application-architecture-ignore-at-your-own-risk\/","title":{"rendered":"Application architecture: Ignore at your own risk"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-725\" alt=\"Education\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2010\/11\/Education.jpg\" width=\"76\" height=\"100\" \/>I\u2019ve noticed a disturbing trend in the world of business web applications. It seems that emphasis is shifting away from application architecture and shifting towards application design. These days, flashy interfaces beat out well-built web applications.<\/p>\n<p>Why is this happening? I recently read an <a href=\"http:\/\/www.techrepublic.com\/blog\/cio-insights\/enterprise-software-win-over-the-staff-and-youll-win-over-the-business\/39749832\" target=\"_blank\"><span style=\"color: red;font-weight: bold\">article<\/span><\/a> over on techrepublic.com that highlights a major factor driving this trend: End user\u2019s expectations are rising. They expect enterprise applications to be as well-designed and easy to use as the apps and tools they use every day. After all, if their enterprise applications don\u2019t meet their expectations, there are plenty of other web services they can use.<\/p>\n<p>Now, I get it. I understand the problems this creates for businesses. But, in the rush to please the end users with well-designed interfaces, let\u2019s not forget about the most important aspect of business applications: Architecture.<\/p>\n<p><strong>For business web applications, architecture is infinitely more important than design.<\/strong> While application architecture might be invisible to the business users, the effects of application architecture are clear as day.<\/p>\n<p>Let me try to highlight a few tangible benefits of good architecture, and help you understand why ignoring it might be the worst mistake your business can make. To help drive this home, I solicited feedback from a few experts in the field of application architecture. You can find their responses below, along with 5 big reasons why application architecture is so important.<a name=\"20130311\"><\/a><!--more--><\/p>\n<h3>Good architecture is more secure<\/h3>\n<p>Have you noticed an uptick in security breaches in the last year? While some are caused by human error or weak passwords, many are caused by architectural vulnerabilities. That\u2019s right, weak security is one of the biggest problems of bad application architecture.<\/p>\n<p>\u201cApplication architects probably have more impact on an application\u2019s security than anyone else,\u201d says Rohit Sethi, VP of <a href=\"http:\/\/sdelements.com\/\" target=\"_blank\"><span style=\"color: red;font-weight: bold\">SD Elements<\/span><\/a>. \u201cA single architectural decision can have major ramifications on how secure an application is inherently, and perhaps more importantly how expensive it is to fix a vulnerability.\u201d<\/p>\n<p>Sethi goes on to share a cautionary story on the value of good architecture: \u201cI once reviewed a web-based accounting application where the developers decided to implement their own JavaScript presentation framework with a service-based backend. In order to speed up performance, the JavaScript framework was responsible for making all authorization decisions. The development team was horrified to find out that it was trivial for attackers to bypass JavaScript security controls and access the backend services directly. This effectively meant anyone who could reach their web server could perform any accounting activity \u2013 even without credentials. Their architecture made it very difficult to fix because it effectively meant changing the way every transaction occurred and sacrificing at least some of the JavaScript performance benefits on which they marketed their software. The fix was a very expensive, multi-year effort.\u201d<\/p>\n<h3>Good architecture is easier to maintain<\/h3>\n<p>When building or buying new business applications, look at long-term value over short-term cost\/effort. Sure, purchasing a well-architected system may cost more initially, or building a web application right the first time may take a bit longer up front. But, it saves time in the long run. Maintaining a well-architected application is far simpler, and requires much less time than a poorly-built application.<\/p>\n<p>\u201cMaintaining a badly designed system is very man-power intensive and problematic,\u201d says Andreas Huttenrauch, Managing Director of <a href=\"http:\/\/www.globi.ca\/\" target=\"_blank\"><span style=\"color: red;font-weight: bold\">Globi Web Solutions<\/span><\/a>. \u201cThe total-cost-of-ownership (TCO) can mushroom out of control very quickly, and is often a side-effect of initial savings in development.\u201d<\/p>\n<h3>Good architecture adapts to changes<\/h3>\n<p>While everyone enjoys making predictions, does anyone really know what the tech landscape will look like in 5 years? No&#8230;which is yet another reason why architecture is so important. A well-architected application adapts to changing technology trends far easier than its poorly-architected counterpart.<\/p>\n<p>&#8220;A web application designed today needs to to be built for the needs of tomorrow,\u201d explains Tyler Wassell, Software Development Manager here at <a href=\"https:\/\/www.mrc-productivity.com\/\" target=\"_blank\"><span style=\"color: red;font-weight: bold\">mrc<\/span><\/a>. \u201cApplications must not only meet immediate business requirements but also be ready to scale, deploy to cloud environments, and be accessed from any location or device. As business needs evolve, web applications must quickly adapt without wasting the time and money associated with new software upgrades and replacement.&#8221;<\/p>\n<h3>Good architecture scales with your business<\/h3>\n<p>Well architected applications grow with your business. Oftentimes, businesses make the mistake of building applications to fit their current business size, while ignoring scalability. When their businesses grow, their applications cannot grow with them. As you might imagine, they\u2019re forced to create new applications.<\/p>\n<p>\u201cIf a system is not designed to scale, it pretty much has to be re-written from scratch to work in a multi-server environment,\u201d explains Huttenrauch. \u201cUsually scalability is an urgent requirement, so the time to re-write can have massive negative impacts.\u201d<\/p>\n<h3>Good architecture saves money<\/h3>\n<p>When you boil everything down, good application architecture saves money, and lots of it. Poorly-built applications are money pits, requiring more maintenance and enhancements. On the other hand, applications built on good architecture are far cheaper to maintain and enhance.<\/p>\n<p>\u201cWe have a philosophy at DEN that helps us keep our software flexible: I call it, \u2018Architecting for Ambiguity,\u2019\u201d explains Ross Lambert, System Architect for <a href=\"http:\/\/demandenergynetworks.com\/\" target=\"_blank\"><span style=\"color: red;font-weight: bold\">Demand Energy Networks<\/span><\/a>. \u201cFrom day one, for example, we did not assume we were only writing software for our own hardware (a large-scale energy storage system), although that was the specific requirement. Instead we asked, \u2018How can we design a system that incorporates new devices and protocols easier and faster than it has ever been done before?\u2019\u201d<\/p>\n<p>Lambert goes on to explain how this decision saves so much money for their company: \u201cIt turned out to be a good question to ask because as our own system evolved the hardware design had significant changes and we had to continue to support legacy models in the field, too. Our ability to add support for our own new devices not only enabled us to pivot faster as a company, but saved significant software development costs.\u201d<\/p>\n<h3>Wrap up<\/h3>\n<p>As developers struggle to meet end user\u2019s rising design expectations, they must not lose sight of application architecture. Even the most well-designed application will waste time and money for your business if it\u2019s built on bad architecture. Before you begin your next development project, or purchase your next business application, remember one thing: Ignoring architecture is a mistake your business can&#8217;t afford to make.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019ve noticed a disturbing trend in the world of business web applications. It seems that emphasis is shifting away from application architecture and shifting towards application design. These days, flashy interfaces beat out well-built web applications. Why is this happening? I recently read an article over on techrepublic.com that highlights a major factor driving this &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.mrc-productivity.com\/blog\/2013\/03\/application-architecture-ignore-at-your-own-risk\/\"> <span class=\"screen-reader-text\">Application architecture: Ignore at your own risk<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","slim_seo":{"title":"Application architecture: Ignore at your own risk - mrc&#039;s Cup of Joe Blog","description":"I\u2019ve noticed a disturbing trend in the world of business web applications. It seems that emphasis is shifting away from application architecture and shifting to"},"footnotes":""},"categories":[8],"tags":[70],"class_list":["post-5663","post","type-post","status-publish","format-standard","hentry","category-education","tag-application-architecture"],"_links":{"self":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/5663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/comments?post=5663"}],"version-history":[{"count":19,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/5663\/revisions"}],"predecessor-version":[{"id":5709,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/5663\/revisions\/5709"}],"wp:attachment":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/media?parent=5663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/categories?post=5663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/tags?post=5663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}