Despite the rapid development of modern digital technologies and the creation of many new tools for business automation, IBM i legacy applications are still very popular and important for businesses. However, in the process of integrating them with new systems, you may encounter a number of problems. In this article, we will cover why it is important to perform application modernization and how to integrate business functionality from legacy applications into new applications using IBM i web services.
What Are the Legacy Applications?
Legacy applications are built with legacy technologies and architectures, and use legacy hardware and software but are essential to the day-to-day business functions. In legacy applications, code, services, and other components are tightly coupled, making it difficult to scale and adapt the application to changing environments. Because of this, legacy applications are often inefficient and unstable. If one part of such an application fails, the entire application will also fail.
The main differences between legacy applications and their new counterparts:
- Legacy applications may require more time and effort to update.
- Legacy applications may be designed mainly for local development and deployment, while modern ones are built on cloud infrastructure.
- OS-specific and require a specific environment, including server and network hardware, databases, and storage resources. Modern applications are built for the cloud, which may make them more flexible and scalable.
- In legacy applications, the application codebase and services may be built into a single deployment package. This leads to dependencies between services, making it difficult to scale and upgrade. Modern applications may use a loosely coupled architecture based on services that communicate through APIs.
- Modern applications may use automated processes to build, deploy, and test code, while these processes in legacy applications are probably done manually.
IBM i legacy applications are developed for the IBM i operation system, which was released in 1988 and became very popular due to its high performance and cost effectiveness. IBM i applications are widely used for ERP systems, data-intensive industries, and other business purposes. These systems are popular and important for business today. However, there are a number of reasons why you should modernize them.
Why Should You Keep Legacy Applications?
Even though legacy applications use old technologies and can be difficult to maintain, their use is still important for businesses. They are reliable, tested, and tuned to accurately perform the company’s business functions. Creating a new application that performs all the same functions as the legacy one can be too difficult or even impossible.
The main reasons for keeping legacy applications:
- Perform critical business functions.
- Manage business processes that provide a competitive advantage.
- They can be more cost-effective than new applications.
- The cost of developing a new application might be too high.
Replacing legacy applications is one of the most difficult and challenging tasks for information systems professionals. In the process of upgrading or changing technologies, compatibility with older systems and data formats that are still in use must be ensured.
Why Is It Important to Modernize Legacy Applications?
Legacy application modernization allows you to change applications using modern technologies and take advantage of all their functionality.
Legacy applications may no longer meet new business goals. Also, using them may be less cost-effective than using new ones. There is also a shortage of skilled professionals needed to support a system that uses outdated technology. Legacy applications may not be able to integrate with new applications. For example, they may not integrate with the Internet, mobile applications, etc. These are all signs that the application needs to be upgraded.
Key Benefits of Application Modernization:
- Adapts legacy applications to support new business models.
- Simplifies access to information and maintenance process.
- Allows you to create new user interfaces (for example, for mobile devices).
- Allows you to improve the quality of the software.
- Helps reduce maintenance costs.
What Are the Web Services?
A web service is a stand-alone, modular web application that uses the Internet or private networks to exchange information between applications and systems based on open standards such as TCP/IP, HTTP, Java, HTML, and XML. The use of web services allows software applications written in different programming languages and running on different platforms to exchange data over computer networks.
The use of web services helps increase business process agility by integrating with applications that otherwise do not communicate. Web services provide components written in different programming languages to work together as if they were created using the same language, thus ensuring application compatibility.
Key components of web services:
- Web Services Description Language (WSDL). It is an XML file that describes a web service. The web service request uses this file to bind to the service.
- SOAP is an XML-based protocol that is used by a web service request to invoke a service.
- REST is a popular application programming interface architecture based on Representational State Transfer (REST) technology which uses HTTP requests to GET, PUT, POST and DELETE data.
Learn more about how your business can fulfill an agile target architecture in this article about IBM Insurance Application Architecture.
How can I make a REST call from within Visual LANSA which supports IBM i?
Here is some sample code for making a REST request to a Google Geocode REST API:
Define_Com Class(#XPRIM_HttpRequest) Name(#Req)
Define_Com Class(#XPRIM_RandomAccessJsonReader) Name(#Reader) #Req.DoGet Url('https://maps.googleapis.com/maps/api/geocode/json?...') * Check if request is successful If (#Req.Response.IsSuccessHttpStatusCode) * Set the JSON reader source for response from the HTTP request #Reader.SetSourceHttpResponse HttpResponse(#Req.Response) * Navigate to the 'location' object (containing the 'lat' and 'lng' values) * We'll specify a navigation path to navigate to the 'location' element * Names and indexes in a path are separated by forward slashes #Reader.BeginObjectWithPath Path('results/1/geometry/location') * Get the latitude and longitude value #Latitude := #Reader.ReadNumberWithName('lat') #Longitude := #Reader.ReadNumberWithName('lng') * Close "BeginObject" with "EndObject" #Reader.EndObject Endif
Read the detailed and extensive documentation covering all the aspects of this process available for all Visual LANSA users.
How to Modernize Your Application Using IBM i Web Services?
In order to keep and modernize a legacy application, you need to add IBM i web services to its business functions and make them available to other modern applications. This requires examining legacy applications to identify business functions that are potential services. Based on the selected functions, you can create IBM i web services using modern software development tools.
If other applications need to use the business function, they must call the web service, and it executes the corresponding function in the legacy application. This approach allows business functionality to be retained in legacy applications and reused in other applications.
In this case, a wide range of users can access the functionality of legacy applications through familiar modern applications, bypassing the presentation layer of the legacy application. In this way, enterprises can be transformed into modern technologies by retaining and reusing their legacy applications that perform business functions appropriate for the company’s operations, without the investment of rewriting all applications from scratch.
One of the best tools for modernizing existing applications for the IBM i as well as supporting the creation of new applications in the same environment is LANSA. It offers various modernization solutions including a set of separate but complementary products:
- aXes. With aXes, you can connect 5250 screens to your network on the fly.
- Visual LANSA lets you create new, rich web applications up to 10 times faster than traditional coding, with full native integration with your IBM i.
- RAMP integrates your existing 5250 displays and new applications built with Visual LANSA into a web-enabled, scalable infrastructure.
LANSA products are easy to learn and use. It is one of the best low-code development tools on the market.
Try the full-featured free trial version of LANSA and enjoy the benefits of modernization of your legacy applications with its products.