End User의 화면은 여기서 담당
그건 계정계에서 주는대로 보여주고 있어요.
* 금융 IT 구조 해부하기 : 개요에서 이어집니다.
뭔가 해야 하는게 생겼는데 채널계쪽 담당자는 계정계가 보내주는 대로 보여준다고 하고, 계정계쪽 담당자는 채널에서 여러 전문의 항목을 조합해 사용하는 것이라고 한다. 오늘도 당구공이 되어 이리로 갔다, 저리로 갔다 하루종일 치인다. 도대체 채널계는 구체적으로 무엇을 하는것일까?
채널계의 가장 핵심적인 업무는 아래와 같다.
1. 기간계(계정계)의 데이터를 전문을 통해 화면에 뿌린다.
2. 사용자(End User)의 요청을 기간계에 전달하고, 기간계의 처리결과를 노출한다.
사용자가 앱을 실행시키고, 로그인을 할 때 채널계와 계정계가 어떻게 움직이는지 살펴보자.
1. 사용자는 앱에 아이디/비밀번호를 입력 후 확인을 누른다. 이 요청은 채널계로 전송된다.
2. 채널계는 아이디/비밀번호 혹은 인증 내역을 받아 채널계 내의 원장을 바탕으로 검증한다. 이 때 문제가 있다면 오류 화면을 보여준다. 검증이 되었다면 고객ID를 계정계로 전달한다.
3. 계정계는 채널계에서 받은 고객ID를 바탕으로 각 업무단에서 필요한 정보를 취합해 전문으로 전달한다. 여기에는 고객의 보유계좌, 계좌잔액, 대출잔액, 한도 등 다양한 정보가 포함되어 있다.
4. 채널계는 계정계에서 받은 데이터를 바탕으로 고객의 메인화면을 구성해 사용자에게 노출한다.
그런데 여기서 머리가 아파지는 상황이 발생하면 채널에서 계정계가 전문 형식으로 보내준 데이터를 조합하거나, 여러 항목 중 취사 선택해 보여지는 경우가 생긴다. 변하는 항목에 맞춰 전문을 바꾸면 되는것 아닌가 싶지만(현업입장에서는) 전문은 고정된 포멧이기 때문에 변경이 아주 아주 어려워 이런 문제가 발생한다.
1. 채널에서 임의로 조합해서 보여주는 경우
전문을 바꾸기는 어렵고, 그렇다고 전문을 새로 만들기도 어렵다. 그런데 이미 현업이 보여주고 싶은 항목이 전문에 있다면? 그러면 항목들을 조합해서 보여줄 수가 있다. 계좌 총액을 보여주고 싶으니 A + B + C... 이런식으로 유효계좌의 잔액을 합쳐서 보여주자는 식이다. 문제는 나중에 이 히스토리 관리가 되지 않았을 때다. 왜 이렇게 고객에게 노출되고 있는지 소스를 까보기 전까지는 모르는 상황이 발생해 버릴 수 있다.
2. 채널에서 임의로 취사선택하는 경우
전문을 바꾸기 어렵다보니 계정계에서는 통채로 데이터를 보내주는 경우가 있다. 해당 상황에서 현업의 요구로 인해 B를 비노출 처리한다고 할 수도 있다. 역시 문제는 나중에 이 히스토리 관리가 되지 않는다면, 도대체 해당 전문의 여러 항목 중 무엇이 보여지고 있는지 알 수 없을 수 있다.
어떻게 그게 관리가 안될 수도 있어요? 하겠지만 현실은 냉혹하다. 누군가의 '빨리해라'는 독촉으로 인해...급하게 개발을 진행하다보면 왕왕 발생하는 일이다. 심지어 개발자와 현업이 모두 다른 업무로 롤이 바뀌었다면? 그러면 이 글의 처음에서 말한 핑퐁지옥이 발생할 수도 있다. 이런 이유를 안다면 적어도 나중에 비슷한 문제가 발생해도 '어떻게 개발자가 모를 수 있어?'라는 생각으로 분노하지 않고 침착하게 요건을 짤 수 있다.
다음 포스팅에서는 채널계와 일할 때 듣게 되는 몇가지 용어에 대해서 살펴보겠다.