NRB - BE MAINFRAME DAY 2017 - Case Study

15
Mainframe modernization case study Sébastien Georis, Information system architect NRB

Transcript of NRB - BE MAINFRAME DAY 2017 - Case Study

Page 1: NRB - BE MAINFRAME DAY 2017 - Case Study

Mainframe modernization case studySébastien Georis, Information system architect NRB

Page 2: NRB - BE MAINFRAME DAY 2017 - Case Study

FSMB IT transformation plan objectives

Mainframe as a services provider

Case study : Scriptura service

Agenda

Page 3: NRB - BE MAINFRAME DAY 2017 - Case Study

FMSB IT Transformation plan

Migration to a new relational data model

New mainframe applicative architecture : services oriented

Mainframe’s services exposition through an ESB

Legacy applications refactoring using the new services

Document generation using Scriptura

New front-end development

Projet main objectives

Page 4: NRB - BE MAINFRAME DAY 2017 - Case Study

IT Transformation planPhase 1 : Architecture to be

JBOSS

UIUIJava

Front-End (Internal)

UIUIUI

Batch (JES)

PL1 Batch program

PL1 Batch program

JCL

ESB

Business ServicesBusiness ServicesBusiness Services

CICS

PL1 Batch program

PL1 Batch program

PL1 CICS program

Batch

PL1 Batch program

PL1 Batch program

PL1 Batch program

Natives Business services

PL1 Services

PL1 Services

PL1 Services

Data access services

PL1 Services

PL1 Services

PL1 Services

DB2

Terminaux 3270

PL1 Batch program

PL1 Batch programTN3270

API Proxy

Page 5: NRB - BE MAINFRAME DAY 2017 - Case Study

FMSB IT transformation plan objectives

Mainframe as a services provider

Case study : Scriptura service

Agenda

Page 6: NRB - BE MAINFRAME DAY 2017 - Case Study

Mainframe as a services providerServices oriented new applicative architecture

Services architecture using SOA layers patterns and principles.

Services are common for all the consumers (CICS / Batch / ESB / DB2 Stored Procedures).

Services’ operations have a high level of reusability.

Services are developed using the framework and based on the same model

Development framework : Abstract the common tasks for the developers.

Consumers

CICS

Business services

Data Services Utility Services

Business Logic

PL1 Services

PL1 Services

PL1 Services

PL1 Services

PL1 Services

PL1DLL

PL1 Services

PL1 Services

PL1 DLL

Batch ESB

PL1 Services

PL1 Services

PL1 Services

DB2

Page 7: NRB - BE MAINFRAME DAY 2017 - Case Study

Service

Method code

Mainframe as a service providerServices overview

Framework functions

Method codeOperation code

PL1 CopybookPL1 Copybook

Interfaces include

Initialisation

Service invoke procedure

Common input and output technical headers

include

Methods Input and Ouputstrucutres

Framework

DB2

Centreon monitoring server

SYSLOG

CHECK_METHOD

GET_SERVICE_ID_FROM_SRV_NAME

GET_SYSTEM_INFORMATIONS

PUT_MSG_IN_SYSLOG

TCP/IP

When invoked from a PL1 program (CICS or batch)

Services catalog

Page 8: NRB - BE MAINFRAME DAY 2017 - Case Study

MQ

Service

Method code

Mainframe as a services providerServices overview

Framework functions

Method codeOperation code

Framework

DB2

Centreon monitoring server

SYSLOG

CHECK_METHOD

GET_SERVICE_ID_FROM_SRV_NAME

GET_SYSTEM_INFORMATIONS

PUT_MSG_IN_SYSLOG

TCP/IP

Services catalog

CICSESB

Business ServicesBusiness ServicesBusiness Services

TCP/IP : Synchrone

MQ : Asynchrone

MQ – CICS Bridge

IPICTCP/IPService

JBOSS

UIUIJava

Front-End (Internal)

UIUIUI

Page 9: NRB - BE MAINFRAME DAY 2017 - Case Study

FMSB IT transformation plan objectives

Mainframe as a services provider

Case study : Scriptura service

Agenda

Page 10: NRB - BE MAINFRAME DAY 2017 - Case Study

Case studyScriptura integration – PL1 batch application

SBCCM03 : CREATE_DOCUMENT

CREATE_DOCUMENT_FOR_AFFILIATE.01.00

CREATE_DOCUMENT_SEPARATOR.01.00

CREATE_DOCUMENT_FOR_AFFILIATE_NO_ECV_ACCESS.01.00

Input

Common input technicalheader

- documentId- (recipientId)- (concernedPersonId)- (xmlPayload)

Output

Common output technicalheader

xmlDocumentxmlDocumentxmlDocument

Page 11: NRB - BE MAINFRAME DAY 2017 - Case Study

Case studyScriptura integration – PL1 batch application

SBCCM03 : CREATE_DOCUMENT

CREATE_DOCUMENT_FOR_AFFILIATE.01.00

CREATE_DOCUMENT_SEPARATOR.01.00

CREATE_DOCUMENT_FOR_AFFILIATE_NO_ECV_ACCESS.01.00

PL1 Batch program

Generate payload XML

Invoke SBCCM03 : CREATE_DOCUMENT_SEPARATOR.01.00

Scriptura XML documents : - Batch contentHeader XML- Separtor Document XML

Write XML’s to file

Invoke SBCCM03 : CREATE_DOCUMENT_FOR_AFFILIATE.01.00

Document XML

Write XML’s to file

Loop

Page 12: NRB - BE MAINFRAME DAY 2017 - Case Study

Case studyScriptura integration – Native services Business services and used methods

SBCCM03 : CREATE_DOCUMENT

CREATE_DOCUMENT_FOR_AFFILIATE.01.00

CREATE_DOCUMENT_SEPARATOR.01.00

CREATE_DOCUMENT_FOR_AFFILIATE_NO_ECV_ACCESS.01.00

SBCCM02 : GET_DOCUMENT

GET_DOCMENT_CONTACT_INFO.01.00

GET_DOCUMENT_SIGNATURE.01.00

GET_DOCUMENT_INFO.01.00

SBECV06 : AFFILIATE

GET_AFF_INFO.01.00

GET_AFF_INFO_CD.01.00

GET_AFF_LAST_PERIOD.01.00

GET_AFF_POSTAL_ADDR.01.00

GET_AFF_POSTAL_ADDR_CONV.01.00

GET_AFF_HAS_MANDATE_BY_TYPE.01.00

SBECV08 : MANDATED ORGANIZATION

GET_MANDATED_ORG_POSTAL_ADDR.01.00

SBECV09 : MANDATED PERSON

GET_MANDATED_PERSON_POSTAL_ADDR.01.00

CCM domain : Customer Communication managment ECV domain : « Etat Civil »

GET_DOCUMENT_POSTAL_ADDR.01.00

Page 13: NRB - BE MAINFRAME DAY 2017 - Case Study

Case studyScriptura integration – Native services Business services and used methods

SBCCM02 : GET_DOCUMENT

GET_DOCMENT_CONTACT_INFO.01.00

GET_DOCUMENT_SIGNATURE.01.00

GET_DOCUMENT_INFO.01.00

GET_DOCUMENT_POSTAL_ADDR.01.00Invokes ECV domain : « Etat Civil »

business services

DSCCM02: GET_DOCUMENT_DATAS

GET_DOCUMENT_SIGNATURE_DATAS.01.00

GET_DOCUMENT_INFO_DATAS.01.00

GET_DOCUMENT_CONTACT_INFO_DATAS.01.00

DSCCM03 : GET_DOCMENT_PREFERENCES

GET_DOCUMENT_CONTACT_INFO_PREFERENCES.01.00

GET_DOCUMENT_SIGNATURE_PREFERENCES.01.00

GET_DOCUMENT_OUTPUT_CHANNELS_PREFERENCES.01.00

GET_DOCUMENT_POSTAL_ADDR_PREFERENCES.01.00

DB2

Documents catalog

Invokes CCM domain : Customer contact managment data services

Data access layer

Page 14: NRB - BE MAINFRAME DAY 2017 - Case Study

Case study

SBECV06 : AFFILIATE

GET_AFF_INFO.01.00

GET_AFF_INFO_CD.01.00

GET_AFF_LAST_PERIOD.01.00

GET_AFF_POSTAL_ADDR.01.00

GET_AFF_POSTAL_ADDR_CONV.01.00

GET_AFF_HAS_MANDATE_BY_TYPE.01.00

SBECV08 : MANDATED ORGANIZATION

GET_MANDATED_ORG_POSTAL_ADDR.01.00

SBECV09 : MANDATED PERSON

GET_MANDATED_PERSON_POSTAL_ADDR.01.00

Data access layer

DSECV06 : GET_AFF

GET_AFF_INFO.01.00

GET_AFF_INFO_CD.01.00

GET_AFF_LAST_PERIOD.01.00

DSECV07 GET_PARTY

GET_PARTY_GEO_DATA.01.00

GET_PARTY_VAL_GEO_DATA.01.00

GET_PARTY_UNVAL_GEO_DATA.01.00

DSECV08 : GET_MANDATE

GET_MANDATE_PERSON_BY_TYPE.01.00

GET_MANDATE_ORG_BY_TYPE.01.00

DB2

ECV tables

Scriptura integration – Native services Business services and used methods

Page 15: NRB - BE MAINFRAME DAY 2017 - Case Study

FMSB IT Transformation plan

More than 180 services’ operations have been developed

Legacy applications refactoring is in progress

Scriptura phase 1 integration is in progress

ESB services using the new natives services have been developed

JBOSS will call the ESB soon (2 projects will start soon)

What we have already done