Playbooks
Web Services and IBMi
In this section, Programmers.io covers the critical role of Web Services and APIs in modern development practices and modular development architectures. It highlights the significant enhancements IBM has introduced to consume and expose Web Services natively on IBM i while immensely improving its capabilities.
Web Services or Web APIs are an integral part of modern development practices to use Web Services/APIs. Several modular development architectures have been based on it. IBM has made significant developments towards enhancing the time efficiency and backend processing of these native HTTP utilities. At Programmers.io, we specialize in integrating these advanced features, ensuring your IBM i system is fully equipped for modern development.
Accomplishments
- Integrated the Payment provider with the Trucking application.
- Integrated the Human Resource application data from the cloud to IBMi. It made sure any changes were instantly available to the HR department.
- Integrated the Google address verification API.
- Created a dynamic framework using native IBM i HTTP functions and control tables which is integrated into the client’s ERP modules. It is widely used across modules for transport management systems (3G TMS) and sales/return authorizations.
Approach
Several approaches can be employed for web services and IBM i, each offering distinct advantages and considerations.
- Consume/Integrate the External Web Services/API’s
IBM i/AS400 applications connect to any service provided by third parties. Examples are Google Address Verification, Currency Conversion, Payment Gateway Integration, and Container Live Location services. Listed below are the options for connecting IBM i to third-party services:
- HTTP Methods are available in QSYS2 and SYSTOOL Schema. It is natively available on IBM i
- Scott Kelement’s LIBHTTP tool. It is available as open-source which can be used by IBMi developers.
- Licensed products such as Profound API, Eradani Connect, and RXS Integration from Krangle Tech.
- Natively IBM i can execute other high-level languages like Java, Python, Node, and PHP as services to connect to third-party services.
- Expose IBM i native applications as REST Web Services.
For applications running outside IBM i use existing business rules such as Web Services. It allows the tested logic to be reused outside IBM i. Below are the options that can be used to expose any program/business rule as a Web Service:
- Use native IWS (Integrated Web Server). It is available on IBM i
- Use CGI Approach. It is natively available on IBM i.
- Licensed Products like RXS, Eradani, and others.
Key Challenges
- Integration Complexities: Ensuring seamless integration with various platforms, languages, and applications can be challenging for IBM i systems, which often need to interact with modern web applications and other enterprise systems.
- Efficiency Barriers: Without automated workflows, there is a reliance on manual intervention, which can decrease efficiency and lead to delays in accessing real-time data.
- Scalability Issues: Scaling individual components of system architecture independently can be difficult, limiting the ability of IBM i systems to adjust services based on demand.
- Development Costs: Redundant development efforts can arise from not reusing existing code and services, leading to increased development time and resources.
- Third-Party Integration: Integrating third-party applications and services can be complex and requires extensive development efforts.
- User Experience Challenges: Inefficient data retrieval and interaction can negatively impact the performance and responsiveness of applications connected to IBM i systems, diminishing the overall user experience.
Suggestions
- Enhanced Integration Capabilities: Utilize web services and APIs to facilitate seamless integration with various platforms, languages, and applications. This interoperability is crucial for extending the functionality of legacy applications without requiring extensive re-coding or migrations.
- Improved Efficiency and Automation: Implement web services to enable automated workflows, reducing the need for manual intervention and increasing efficiency. Use APIs for real-time data access to ensure applications can retrieve and use the most up-to-date information without delay.
- Scalability and Flexibility: Promote a modular approach to system architecture with web services, allowing individual components to be scaled independently, which is particularly beneficial for IBM i systems to adjust services based on demand.
- Cost-Effective Development: Encourage the reuse of existing code and services through APIs to reduce redundant development efforts. Leveraging existing functionalities can save significant development time and resources.
- Third-Party Integration: Facilitate easy integration with third-party applications and services through web services, allowing IBM i systems to leverage external tools and platforms without extensive development efforts.
- Improved User Experience: Enable efficient data retrieval and interaction through web services to enhance the performance and responsiveness of applications connected to IBM i systems, improving the overall user experience.