BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
The two main drivers of application modernization -- social and mobile -- are bearing down like a freight train on developers. Not only are consumers expecting useful, interactive applications for their smartphones du jour, but internal customers are waving around their tablets expecting to access proprietary applications and work on the go. Application modernization has become so pervasive that Cambridge, Mass.-based research and analysis firm Forrester has dubbed it the "cumulative impact of social, mobile, cloud and big data" -- the age of the customer.
Part of the problem lies in legacy applications, which mar an application portfolio, according to Phil Murphy, vice president and principal analyst of application development and delivery at Forrester. While it's likely that old techniques will be revisited for modernization, most mid-career developers might start modernizing back-office systems for remote access by exposing APIs, he said.
Most new applications are being deployed in the cloud in a platform as a service (PaaS) model, and some vendors are encouraging customers to put every application that businesses need into the cloud as a hosted model, exposing the APIs, Murphy said. The significance is that CIOs are now being offered an escape hatch from multiple ERP systems, for example, which isn't classic application modernization, but frees up the IT budget to create customer-facing applications that differentiate, he added.
Reusing code is part of new modernization tools
Most companies have significant investments in their legacy applications, written in COBOL decades ago and now stagnating while the pace of business picks up around them. As developers bridge the gap between those legacy applications and new technologies -- whether that means cloud, mobile or just the next release of Windows -- many are embracing SOA as a way to move forward, according to Ed Airey, product marketing director at Rockville, Md.-based software firm MicroFocus. One of those principles most evident is reuse, modernizing the architecture and using as much of the existing underlying code as possible, he said.
This approach allows organizations to do two things: address the continual barrage of business requirements while developing strategically significant applications. "It's a firefight for many developers to stay above water with requirements from the business, and it doesn't give them time to do something new and innovative," Airey said. But reusing code also allows organizations to extend the life of IT assets while bringing them up to date for in-demand applications, he added.
In other words, he advised, companies don't need to scrap their COBOL or similarly based applications entirely, and they can explore options that will allow them to continue to use those technologies. "Strategy doesn't mean moving away; there is a lot of value in reusing code," he said, particularly when that means lowering the risk that inherently comes with built-from-scratch applications, adding mobility or next-platform capabilities, or even putting in a more intuitive UI on an older application.
SOA principles drive open source tool adoption
One huge trend in modernization is using Docker to deploy applications and package them, according to Dr. Mark Little, vice president of middleware engineering at Raleigh, N.C.-based software company Red Hat. "Everyone seems to have a Docker story … the important thing that seems to be happening is that it's being developed by developers for developers … rather than just by companies that think, 'This is what developers should be interested in,'" he said.
One of the things driving adoption is that Docker embodies microservices. "If you get behind the hype and really drill down the core reasons why people like the things associated with microservices, it's service-oriented architecture," Little said. Essentially, microservices are another version of SOA, and as long as it doesn't get bogged down with the negative connotations SOA garnered in the past seven to eight years, it can offer great benefits for developers, he added.
Consultants are seeing companies reuse code and introduce modernization iteratively, according to Dan Caron, principal consultant at Boston-based consultancy MEGA. Reusing the code on one project helped govern the architecture process, which helped to deliver the application in baby steps. "Reusability of code is definitely one [strategy] we see very often," he said.
SOA principles come on the heels of that, but organizations still struggle to implement them, according to Caron. "Like enterprise architecture, it's best practices; it's not just, 'Follow these steps and you'll get to this destination,'" he said. Organizations are still struggling to prove that SOA is a strategy [for] solving the problem of reusing code.
What will ultimately drive SOA principles -- reusability in particular -- is when IT portfolio planning and strategy are aligned with the business strategy, and companies ultimately realize reusing code while modernizing is going to save them money while driving innovation, according to Caron. "Just because it's legacy doesn't mean to keep sinking money into it," he said.
About the author:
Christine Parizo is a freelance writer specializing in business and technology. She focuses on feature articles for a variety of technology and business-focused publications, as well as case studies and white papers for business-to-business technology companies.
SOA characteristics and design explained