Short description:

Web services are increasingly used to enable automated retrieval of information, e.g. stock levels or prices for customers and suppliers. In this regard, the customer is developing a Python-based middleware that reads web services and forwards the content received to an IBM iSeries (AS/400) database. In the future, the customer would like to provide information via web services in a similar way. The processing of the data is done on the database environment in RPG itself. The middleware thus only passes the required information from the web services to the database in a suitable format. Based on an analysis of the existing code, PTA supports the developers with regard to recommended procedures and code standards (e.g. PEP-8) in Python, general project structure, creation of automated tests and handling of errors.


The iSeries (AS/400) is a database environment provided by IBM with its own hardware. In terms of development, this means that the Python code runs directly on the database hardware and developers are bound to the compatible packages provided by IBM. The middleware queries XML or JSON content from the web services. This is converted into a Pandas dataframe, which is then used to create an SQL query to send to the actual database. As the middleware is being created from scratch, PTA supports the developers with its experience in targeted workshops. In preparation for the workshops, the already created source code is analysed, compared with Python standards and revised and made available to the client's developers.

Technical description:

The client's developers benefit from the experience of PTA staff and an independent review of the source code. This ensures good quality of the middleware, simplifies future maintenance and, in the long term, reduces the developers' time spent on troubleshooting. The content of the workshops is developed in close exchange with the client's developers in order to identify problems at an early stage and to find solutions together. In particular, the potentially long lifetime of the middleware and the adaptability to new requirements are taken into account. Furthermore, the long-term training of the developers is taken into account by presenting code standards and professional programming procedures.