논문 소개
아주 오래전, 동남아 촉발 외환위기가 끝나고
한국에선 시중은행간의 인수합병, 그리고 구조조정
그 뒤 대두된건 BPR (Business Process Re-engineering)로 이어졌다. 물론, 지속적인 프로세스 개선을 노력해오다. 지금은 디지털화로 빠르게 전환되어 BPR의 대상이던 채널이 바뀌어 가는 듯하다.
오늘 갑자기 과거에 봤던 Re-Engineering Bank : A Blueprint for Survival and Success (Allen)의 책을 다시 살펴 보게 되었는데, 책의 요약을 구글에서 보면 이렇다
급변하는 금융 서비스 시장에서 은행은 비즈니스 방식을 진지하게 재고해라. 은행 리엔지니어링은 과거를 반복하지 않고 더 적은 비용으로 더 나은 일을 할 수 있도록 '백지 상태'에서 조직을 재설계가 가능하다. 은행은 경쟁 심화에 대응하고 낡은 비즈니스 관행을 재설계하기 위한 리엔지니어링, 성과 개선을 위한 비용 및 관료주의 감축, 상품과 서비스의 올바른 가격 책정, 리엔지니어링을 통한 주주 가치 및 시장 성과 증대, 서비스 품질, 경쟁력, 고객 집중도를 높이는 동시에 수익률을 획기적으로 개선하는 검증된 전략 실행과 같은 문제에 대한 논의도 다룬다.
이 책은 리엔지니어링 프로그램을 수행하는 변화관리 방법도 설명하는데 어디까지나 책이다. 현재로 돌아와 2023년은 은행업계의 기록적인 스프레드와 수익으로 2024년엔 미래 지향적인 재설계 노력에 자금을 지원할 수 있을꺼 같은데도, 지금 경쟁이 너무 치열하고, 빠르게 스마트하게 변하기 때문에 자칫 장기 프로젝트 하면, 은행이 망가질수도 있다. 과연 어떻게 리엔지니어링을 시작하면 은행의 지속적인 성공과 경쟁력을 보장할 수 있을까? (은행에 있었을땐 이런 글 못썻지만, 지금이야 상관없는 일하니)
문제는 많은 은행 (국내외 포함)은 레거시 시스템에서 크게 벗어나지 못하고 있어서, The Crisis이후 에 만들어진 그 시스템을 보유하고, 또하나는 레거시+프로세스+지식이 담겨 있어 지금 수정하기도 어렵지 않나 추측을 해봤다. 그러면서 자연스럽게 레거시를 최신 스텍으로 스마트뱅킹을 할수 있게 리엔지니어링 하는 툴도 나왔다는 건 이미 알고 있고, 더군다나, 은행의 디지털 트랜스포메이션을 돕는 오픈레거시 (Open Legacy)회사도 존재한다.
오늘 알게된 건 툴을 만든 곳인데, 이곳에서 실제로 일했던 내용을 논문으로 적어놔서 논문을 가볍게 소개하려고 한다.
논문제목은 Experiences from a Brazilian Bank Re engineering Project, 저자는 Kellyton dos Santos Brito외2인 이다. 업자들이 쓴 글 같은데 매우 흥미롭다. (물론 내가 의역을 많이 해버렸다, 이해가 안되면 직접 찾아서 보면된다)
우선 요약부분
레거시 메인프레임 응용 프로그램을 새로운 웹 기술로 이관하는건 매우 어려운 과제다. 연구자들은 은행 기관을 대상으로 대규모 Migration 프로젝트에 참여하여 NATURAL/ADABAS 레거시 메인프레임 소스 코드를 웹 기반 플랫폼으로 이관하는 것을 목표로 하고 프로젝트의 진화와 얻은 교훈에 대해 간략하게 설명한다.
Introduction
새로운 기술의 등장 + 업무 요구 사항의 지속적인 변화 + 코어뱅킹 소프트웨어 노후화 문제는 OPEX의 증가를 만든다. 그래서 과거 IBM이 팔았던 메인프레임 기반의 레거시 시스템을 새로운 현대적인 환경으로 이관작업이 한때 유행이었다. 이 상황에서 연구자들은 브라질 은행의 NATURAL/ADABAS 레거시 시스템을 새로운 웹 기반 기술로 이관하기 위해 학술 기관과 협력하며 5년 동안 프로젝트를 진행 하면서 얻은 교훈을 간략히 설명한다.
Project 개요
프로젝트의 주요 요구 사항은 레거시 NATURAL/ADABAS 소스 코드를 이해하고 재문서화하여, 그런 다음 이를 웹 애플리케이션으로 재구현하는 것이다. 새로운 웹 애플리케이션은 은행에서 정의한 아키텍처 모델과 일관성을 유지해야 한다. 이 프로젝트를 수행하기 위해 두 개의 팀을 구성했는데, 역공학 활동(RE 팀)을 수행하기 위해 은행 및 금융 시스템에 대한 이전 경험이 있는 시니어 NATURAL/ADABAS 개발자 그룹, 그리고 웹 개발에 이전 경험이 있는 JAVA 개발자 그룹, 순방향 공학 활동(FE 팀)을 수행하기 위한 팀이다.
Project 단계
이 프로젝트는 세 가지 단계로 나눌 수 있으며 각각은 다른 접근 방식을 가지고 있다.
첫 번째 단계에서 사용된 접근 방식은 IBM의 COGNOS 비즈니스 인텔리전스(BI) 도구를 기반으로 했다. 이 도구는 대량의 소스 코드를 극도로 효율적으로 분석할 수 있는 특성으로 선택되었다. 이 단계에서는 내부적으로 모든 소스 코드 문장을 읽고 도구의 구조로 로드하는 파서를 개발하여 소스 코드에 대한 여러 분석, 메트릭 및 보고서를 수행할 수 있었다. 또한 NATURAL/ADABAS 환경의 내장 도구인 XREF, LIST 및 SCAN 명령과 같은 도구들이 자연스럽게 사용되었다. 이는 스태프가 이러한 명령에 익숙하기 때문입니다. 그런 다음 메트릭과 보고서를 사용하여 역공학 그룹이 시스템 문서화를 수행하였으며, 이는 이후 순방향 공학 그룹이 재구현을 돕기 위해 전달되었다. BI 도구의 불가능한 지원에도 불구하고 코드 메트릭 및 보고서만으로는 소스 코드를 완전히 이해할 수 없었다. 소스 코드를 여러 번 읽어야 하는 경우가 있었다. 따라서 코드의 이전 분석과 사용자에게 제안을 제공하는 새로운 환경이 필요 했다고 한다.
이 질문을 해결하기 위해 프로젝트의 두 번째 단계에서는 이미 다른 문서에서 문서화된 것을 역공학 (Reverse Engineering) 및 시스템 문서화 시키는 LIFT - Legacy InFormation retrieval Tool을 개발했다. 주요 기능으로는 1. 프로그램 슬라이싱, 2. 호출 그래프 생성 및 화면에서 데이터베이스 모듈로의 완전하고 최소한의 흐름 격리, 3. 클러스터 감지, 4. 소스 코드의 통합 시각화, 5. 소스 코드 주석의 식별 및 시각화, 6.보고서 생성 및 7. 문서 생성하는 리버스 엔지니어링 툴이고, forward engineering은 포함 되지 않았음
이 단계의 분석에서 LIFT 도구의 사용이 Lines/Hour 메트릭을 기준으로 역공학 활동의 생산성을 평균 53.5% 증가시켰음을 보여 주었다.
세 번째 단계에서 LIFT는 1. 화면 레이아웃의 시각화 및 2. 데이터베이스 구조의 시각화 및 자동 이관 기능으로 강화되었고, 몇 가지 역방향 및 순방향 엔지니어링 활동을 통합하기 위해 프로세스가 수정되었다.
그림과 같이, 먼저 COGNOS와 LIFT의 지원을 받아 데이터베이스와 레거시 코드를 분석하고 모델 클래스를 자동으로 생성한 다음 Grails 프레임워크를 사용하여 초안 애플리케이션을 생성했다. 이러한 프레임워크는 모델 클래스를 받아들이고 자동으로 웹 기반 MVC 애플리케이션을 생성한다. 자동화된 단계로 CRUD 작업(Create, Retrieve, Update 및 Delete)을 포함하는 쓰리티어 응용 프로그램 (데이터베이스에서 웹 페이지로)이 생성되어 많은 작업이 필요없었다. 그다음 비즈니스 로직을 인식하기 시작했고, 다시 한번 LIFT의 지원을 받아 클러스터 감지, 화면 시각화 및 소스 코드 분석으로 reverse engineer 들은 비즈니스 로직 정보를 식별하고 문서화한 다음 이를 순방향 엔지니어링 팀으로 전달한다. 분석 팀은 새로 생성된 애플리케이션을 수정하여 비즈니스 로직을 삽입하고 클라이언트의 아키텍처 모델과 일치하도록 조정했다.
현재 접근 방식의 효과를 입증할 데이터는 아직 없지만 관찰 결과, 역공학 활동뿐만 아니라 두작업 간의 통합과 초기 순방향 엔지니어링 단계의 자동화로 전체 생산성이 증가했음을 보여주었다.
결론
논문에서는 레거시 메인프레임 NATURAL/ADABAS 응용 프로그램을 웹 애플리케이션으로 이관하는 프로젝트의 진화를 간략하게 소개했다. 프로젝트에서는 코드에 대한 메트릭과 보고서를 제공하는 IBM의 COGNOS BI 도구의 사용이 중요했지만, 충분하지 않다는 것을 확인했다. 역방향 및 순방향 엔지니어링 팀 및 활동 간의 통합은 좋은 리엔지니어링 방법이 Working 한다는 것은 증명 되었다.
논문 출처
제목:
Experiences from a Brazilian Bank Reengineering Project
저자 :
1. Kellyton dos Santos Brito Exact Sciences Department Feira de Santana State University Feira de Santana, Brazil kellyton.brito@gmail.com
2. Vinicius Cardoso Garcia FACITEC - Pernambuco State University, and Informatics Center – Pernambuco Federal University Recife, Brazil vcg@cin.ufpe.br
3. Silvio Romero de Lemos Meira Informatics Center - Pernambuco Federal University, and Recife Center for Advanced Studies and Systems (C.E.S.A.R) Recife, Brazil silvio@cesar.org.br
Legacy를 한번에 바꾸려는 노력보다는 이렇게 Legacy의 좋은 점을 재해석하고, 디지털로 순차적 접근을 어쩌면 그동안 은행들이 해왔던 IT업무를 줄이는데 일조 할수도 있겠다.
위 논문의 핵심요약은 레거시는 문서없이 만들어졌을 가능성이 많고, 문서가 있더라도 업데이트가 다되었는지 잘 모른다. 그래서 구동되는 시스템의 소스코드를 까서, 소스코드 리버스엔지니어링 해서 문서를 만들고, 그 문서화된 것을 기반으로 새로운 랭귀지인 자바 (Java)나 다른 랭귀지로 구현되는 것을 기초로, 업무단위별로 리엔지니어링해서 클라우드상의 MSA까지도 가능 할수 있다는 것으로 할수 있겠다.