If you do your homework properly, modernizing your existing System i applications can deliver rapid ROI and long-term success. However, getting it wrong can cost you - big time! A failed modernization project can be the last straw for some companies that seem to have forgotten the business value the System i has been delivering for years. A successful project on the other hand, can be the first step to guaranteeing a bright future for your System i applications.
In the last 12 years, we've learned a lot about successful application modernization – the traps, the tricks, what works and what doesn't. If you're considering embarking on your first modernization project, these practical tips will assist your success.
We've also seen those tools that support automated modernization efforts, develop and mature to the point where today the code you've written over the last 20 years can support a diverse range of new technologies including touch screens, interactive voice response, rich clients, mobile devices and Web services – all without forcing you to change your code, let alone redevelop it.
Getting started - the modernization big picture
Application Modernization means different things to different people. Improving the value of legacy application assets is one, simple definition. But rather than using the term legacy, we'll call these core applications, because they typically run the core business functions very well.
Modernizing typically refers to improving what you've already got – these core applications have already stood the test of time, so when we discuss modernizing in this paper, we're aiming to deliver more value from what has already been developed. Our goal is reuse – not redevelopment or generating more code.
Examples of modernizing include:
- Web-enabling 5250 based applications
- Delivering rich client UIs for existing applications
- Extending access to mobile users
- Integrating System i applications with desktop applications
- Multi-platform integration, inside and outside your company
- Service-enable existing applications to allow flexible reuse of key functions
- Invasively restructuring your code.
There's a few different ways to approach modernization. Two popular approaches are:
- Front-end modernization which includes modern GUIs like rich, thin and mobile clients, as well as integrating with popular UI's (like MS Outlook and Google) and desktop applications to deliver streamlined business processes.
- Back-end modernization which starts with a services oriented approach to deliver SOA compliant web services from your existing applications, which can then be easily connected to modern UIs and other applications.
This paper does not discuss whether it's best to adopt a services oriented approach to modernization or take the more pragmatic front end view. Both are valid, and often complimentary paths that can provide rapid results with a long-term future.
What's the business driver?
Are you modernizing because it's the fashion, or is there a real business need? If there's a real business need, are you trying to simplify desktop deployment, improve workflow through integration, extend access to external customers or partners, perhaps reduce costs by eliminating 5250 OLTP or leverage SOA to improve agility and delivery times.
Whatever the identified reason(s), make sure you have a clear understanding of the business needs and the expected benefits, particularly the return on investment (ROI).
Business drivers for modernizing
- Lower training costs
- Need for browser deployment
- Desktop integration
- Improve the user experience
- Reduce integration costs and complexity
- Lower maintenance costs
- Improve agility and delivery times
- Consolidate IT infrastructure
- Encourage reuse of IT assets
What's the plan?
You need to clearly define exactly what business benefits your modernization efforts should deliver and you need an understanding of which potential projects will deliver the most benefit.
If you don't already know what aspects of modernizing are relevant for your company – work it out! You can start by doing a simple inventory analysis of your apps – rate their health, volatility and strategic value to your business. Talk to your customers – the business's users – and ask how well they think each application supports the business?
You're probably running a few System i apps – some packages, some custom applications and extensions. Build a simple inventory analysis like the example below to help determine the appropriate modernization strategy.