Un bon software debute par une architecture bien pensee

architecture software

La mesure initiale n'est pas de comprendre comment mettre des briques ensemble mais de comprendre quelle est la bonnes taille et la bonne forme pour la brique.


Topics in this section:


iSeries legacy applications modernisation - Roadmap

The majority of converter tools are based on the workstation 5250 I/O. They are usually called screenscraper and are based on the 5250 data stream.

The workstation 5250 is a monolithic text device, where fields or display formats are not independent objects (and neither objects) but part of I/O text page (block-oriented terminal).

Any GUI or WEB interface based on that architecture will have to create a meta-system over the monolithic 5250 I/O.

This type of solution contains rapid ROI but does not include the asset for a radical “open” architecture; development and maintenance will have to follow DDS framework and front-end framework.

An IT paradigm structure is to have a multi-tier architecture, which is in other words having an “open” architecture from DB to Business logic and from Business logic to the Interface. The workstation 5250 disable this possibility because it represents a monolithic bloc between Business logic and Interface.

Therefore in some point, the roadmap in modernising apps will need to bypass the workstation 5250 and have a new communication channel to includes an open architecture.

As an IBM iSeries Advisory Council colleague said:

the only viable strategy is architectural modernisation


From 5250 to Open model Architecture technology for legacy apps - authored by Pascal Polverini

New communication channel next to the 5250 channel - Open Communication Architecture Design
:: Automatic transposition of the 5250 logic to Open logic

5250 architecture
New architecture
The critical point of this work has been the transposition (conversion) of the closed and monolithic 5250 logic to an open Open logic:
  • Basically the automated conversion consist in converting the architecture then the interface.
  • Programs are converted through a cmd running as a pre-compiler.
  • Display files and Menus are converted through a cmd which transforms them in XML.
  • Dataflow are made in XML through a DTAQ and User Indexes (User-space with indexes).

  • Concerning the programs not only the I/O operation codes (exfmt, read, readc, write, etc…) are converted [switched to API callp] but also all inherent 5250 functions (INFDS etc..), BIF (%eof, %error), overlay mechanisms (formats overlay output, window formatting) and specific DDS keywords function.
    • Switch code are added to RPG source to bypass the 5250  workstn and use a new communication channel.
    • This approach meets the concept of using a generic "exUI" instead of "exfmt" but also carry all DDS mecanisms and functions to convert legacy apps integrally and automatically.
  • Concerning the display (DDS), the conversion process acts in order to simplify the I/O communication to OO principles, only the “interface” part of some DDS keyword is to be managed.
    • Output operations: these receive a list of formats to be displayed and receive all output fields and indicators values.
    • Input operations: these send all input fields and indicators values.
    • There are 179 DDS keywords: A fifth can be ignored for a GUI environment, almost half of them require functions or “preparation” inside the program, integrated in the conversion process. The remaining DDS keywords are all manageable from any OO Interface.
  • There is a TCP/IP RELAY or HTTP Server to monitor exchanges between the Interface and the converted legacy programs. This RELAY can be a simple CGI or a Socket, its rule is to receive requests and data from the client INTERFACE and send back the response and data from the converted 5250 program in XML format.


We finally have:
  • XML I/O communication capability.
  • Batch process instead of interactive process.
  • Integrality of the 5250 pgm-DDS kword functions transposed to an open OO logic.
  • Multi-Interface capability (from thin to rich client, to any platform and TCP/IP protocol).
  • Program and Interface Event driver capability.
  • New, modern and rich development for RPG skilled population.
  • Consolidation and extension market for the System i.

      “The interface deals directly with the memory of the apps as if it was natively written”


Commercial / industry application samples using the 5250toOpenModel Architecture technology  
5250 architecture
Open architecture
The Open architecture enables apps to have a NEW communication channel:
  • They can run in both 5250 mode or Web mode
  • The Dynamic Library list (*LIBL) system is preserved
  • The User Profile Initial program and Initial Menu are preserved from the LOGIN
  • Main “user system” commands & features are preserved like WRKSPLF, DSPSPLF, GO, SIGNOFF, System Messages etc…