Innovate faster and cut risk with PHP experts from Zend Services.
Learn PHP from PHP experts with free, on-demand, and instructor led courses.
Submit support requests and browse self-service resources.
While there is no standard or formal definition of the term “microservice,” one can essentially view microservices as a method of developing software systems as a suite of independently deployable, small, modular services that work together. Each service performs a specific process and communicates via a well-defined, typically lightweight mechanism to satisfy a particular business need.
Why, you may ask, is the subject of microservices of interest to the IBM i community?
Microservices can be viewed as an important aspect of application modernization. With application modernization, we want to provide a robust interaction with existing business logic. Typically, when we talk about application modernization in the IBM i space, we are talking about providing a web or mobile presence to DB2-resident data. The reality of that approach is essentially writing new applications that, at times, are performing the same function as existing “green screen” applications. Application modernization is about being able to leverage those existing applications in new and exciting venues to reach a wider constituency of users.
Let’s take this back to a discussion of microservices and how they apply to PHP in the IBM i space. Imagine treating an existing RPG application as simply providing a service that other applications can leverage. That is exactly what PHP with the XML Toolkit allows us to do.
Using the definition provided in the first paragraph, the RPG program is providing a “service” (typically the overarching business logic); the PHP script/program is also providing a “service” (in this case, user-interface activities such as parameter collection); and the “communications” between these two services is provided by a combination of the “PHP XML Toolkit” on the PHP side (think of it as the client) and the XMLService (an IBM-sponsored open source project that supports calling ILE programs with XML-packaged parameters and providing responses in another XML document). The final piece of this puzzle is the presentation, which isn’t actually a formal part of microservices, but, in this case, is typically provided by an HTML renderer – i.e., web page or mobile application.
Pictorially, it could look something like this:
Moving towards application modernization with a focus on microservices provides the opportunity to turn ILE programs into a wide collection of reusable services that are accessible from a larger number of consumers for a potentially larger number of purposes.
If you're interested in learning more about IBM i, be sure to review our collection of IBM i resources. From blogs, to white papers, to recorded webinars, this resource collection is a must see for those just getting started with IBM i.
See IBM i Resources
IBM Champion | Former - Senior Solutions Consultant, Zend, Perforce Software
As an IBM champion, Mr. Earley has been recognized as a leader in the IBM i community and offers more than 20 years of experience helping customers to implement solutions on the platform. His expertise includes using PHP, MariaDB, Docker, and Chef for creating modern enterprise solutions that run on IBM i, as well as PowerVC for cloud deployments and virtualization management. Mr. Earley is a frequent speaker at global technology conferences, and he has authored numerous articles on Linux, PHP, virtualization, systems management, and open source solutions and concepts.