the CICS transaction monitor. To retain the full func-
tionality of the original application, also a web client
was implemented, which uses the services provided
by the server. This client took over the functionality
of the maps in the old application.
With this implementation, a microservice-based
client-server architecture was achieved. Because of
the use of microservices, new functionalities only
need to add an API so that the client can access them,
and the data required by the client must be defined.
Then the client can be adopted to the new services. So
the development of the logic, which is handled by the
client, and the operations on the data are separated,
and the server becomes stateless.
The next step for this application should be an in-
tegration of the CICS with the Liberty Server itself, so
it can be shown that a modernization can be possible
with reusing the underlying COBOL and CICS code.
Another promising possibility could be the de-
velopment of an automated pattern recognition algo-
rithm, following the pattern presented in this work,
which could make use of machine learning techniques
to further automate legacy modernization.
REFERENCES
Allyn, B. (2020). ’cobol cowboys’ aim to rescue sluggish
state unemployment systems. https://www.npr.org/
2020/04/22/841682627/cobol-cowboys-aim-to-resc
ue-sluggish-state-unemployment-systems. visited:
07/06/2022.
Brune, P. (2018). An open source approach for moderniz-
ing message-processing and transactional cobol appli-
cations by integration in java ee application servers. In
International Conference on Web Information Systems
and Technologies, pages 244–261. Springer.
Canfora, G., Fasolino, A. R., Frattolillo, G., and Tramon-
tana, P. (2008). A wrapping approach for migrating
legacy system interactive functionalities to service ori-
ented architectures. Journal of Systems and Software,
81(4):463–480.
Chiang, C.-C. and Bayrak, C. (2006). Legacy software
modernization. In 2006 IEEE international confer-
ence on systems, man and cybernetics, volume 2,
pages 1304–1309. IEEE.
Comella-Dorda, S., Wallnau, K. C., Seacord, R. C., and
Robert, J. E. (2000). A survey of black-box modern-
ization approaches for information systems. In icsm,
pages 173–183.
De Lauretis, L. (2019). From monolithic architecture to
microservices architecture. In 2019 IEEE Interna-
tional Symposium on Software Reliability Engineering
Workshops (ISSREW), pages 93–96. IEEE.
Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M.,
Montesi, F., Mustafin, R., and Safina, L. (2017). Mi-
croservices: yesterday, today, and tomorrow. Present
and ulterior software engineering, pages 195–216.
Gohil, P., Horn, J., He, J., Papageorgiou, A., Poole, C., et al.
(2017). IBM CICS Asynchronous API: Concurrent
Processing Made Simple. IBM Redbooks.
Gregori, S. (2020). Cobol isn’t the issue: A misinterpreted
crisis. https://hackaday.com/2020/04/20/cobol-isnt-th
e-issue-a-misinterpreted-crisis/. visited: 07/06/2022.
Huang, Y., Kintala, C., Kolettis, N., and Fulton, N. D.
(1995). Software rejuvenation: Analysis, module and
applications. In Twenty-fifth international symposium
on fault-tolerant computing. Digest of papers, pages
381–390. IEEE.
Knoche, H. and Hasselbring, W. (2018). Using microser-
vices for legacy software modernization. IEEE Soft-
ware, 35(3):44–49.
Makena, K. (2020). Unemployment checks are being held
up by a coding language almost nobody knows. https:
//www.theverge.com/2020/4/14/21219561/coronavi
rus-pandemic-unemployment-systems-cobol-legacy-
software-infrastructure. visited: 07/06/2022.
Newman, S. (2021). Building microservices. ” O’Reilly
Media, Inc.”.
Reuters (2022). Cobol blues. http://fingfx.thomsonreuters
.com/gfx/rngs/USA-BANKS-COBOL/010040KH18
J/index.html. visited: 07/06/2022.
Sherill, S. (2015). Building an api bridge to your ibm z
systems applications and data.
Simotime (2022). Cics cobol example application. http:
//www.simotime.com/sim4home.htm. visited:
16/05/2022.
Sneed, H. M. (2006). Integrating legacy software into a ser-
vice oriented architecture. In Conference on Software
Maintenance and Reengineering (CSMR’06), pages
11–pp. IEEE.
Sneed, H. M. and Erdos, K. (1996). Extracting business
rules from source code. In WPC’96. 4th Workshop on
Program Comprehension, pages 240–247. IEEE.
Srinivas, M., Ramakrishna, G., Rao, K. R., and Babu, E. S.
(2016). Analysis of legacy system in software appli-
cation development: A comparative survey. Interna-
tional Journal of Electrical & Computer Engineering
(2088-8708), 6(1).
Wolfart, D., Assunc¸
˜
ao, W. K., da Silva, I. F., Domingos,
D. C., Schmeing, E., Villaca, G. L. D., and Paza, D.
d. N. (2021). Modernizing legacy systems with mi-
croservices: A roadmap. In Evaluation and Assess-
ment in Software Engineering, pages 149–159.
Towards a Pattern-based Approach for Transforming Legacy COBOL Applications Into RESTful Web Services
165