금융IT 개발의 단골 손님. 전문 알아보기.
아, 그럼 0000번 전문을 쓰면 되겠네요. 그리고...
오늘도 나는 말하는 감자다. 개발자들끼리 회의에 현업이 필요하다고 해서 왔지만 알아들을 수 있는 말이 없다. 전문이라니 먹는걸까? 놀고 먹는게 내 전문이긴한데... 번호가 있는걸 보니 뭔가 여러개 있는건가 보다. 하는 생각을 하다 오늘 회의도 끝나버렸다. 회의록에 주어들은 몇마디를 적는다. 0000번 전문, XXXX번 전문 사용 예정.
금융을 포함한 여러분야의 서비스는 굉장히 많은 프로그램들이 있다. 프로그램들이 서로 데이터를 주고 받는 커뮤니케이션을 하기 위해서는 언어가 필요하다. 이 양식을 고정된 형태로 저장해 놓는 것이 바로 전문이다. 전문의 가장 큰 특징은 그 형태가 정해져 있다는 것이다. 정말 쉽게 생각하면 A 프로그램이 B 프로그램에게 빈 엑셀을 준다. B프로그램은 거기에 정보를 채워서 다시 A프로그램에게 전달해 주는 것이다. 해더부에는 시스템 연동 시 필요한 정보들이 들어가 있다. 요청하는 시스템은 누구고(시스템ID), 전문번호는 몇 번이고 등 등. 그리고 바디부에은 요청하는 정보들이 들어가 있다.
사용자가 로그인을 했다. 앱은 로그인 요청을 한 사용자의 회원ID를 전문에 넣어서 계정계로 보낸다. 계정계에서는 원장에서 그 회원의 정보를 찾는다. 해당 사용자가 보유한 금융상품은 무엇이고, 대출 금리는 몇 프로고 등 등. 때로는 여러 프로그램에 전문을 보내고, 그 결과를 조합해 보여주기도 한다.
전문의 가장 큰 특징이라 하면, 길이가 정해져 있다는 것이다. 해더부/바디부의 길이가 정해져 있다 보니 아무래도 변경이 쉽지 않다. 해당 전문을 쓰는게 보통 금융앱만이 아니라 업무에 쓰는 단말, ATM, 인터넷뱅킹 등 등 여러군데에 쓰이다 보니 항목들을 바꾸는 것은 당연히 어렵고, 만약에 거의 모든 길이를 채워서 쓰고 있다면 항목을 추가하는 것 자체도 어려울 수도 있다. 심지어는 쓰지 않는 값인데도 불구하고, 데이터를 받아야 하니 공백으로 채워서 받는 경우도 있다.
IT에 관심이 없는 사람일지라도 한번쯤 API에 대해서 들어봤을 것이다. API도 전문과 유사하게 서로 다른 프로그램간 통신하는 방식을 말한다. 그러면 무엇이 다를까? 전문이 한 시스템과 다른 시스템에서 데이터를 주고 받는 방식을 모조리 정해 놓는다면, API는 그보다 훨씬 유연한 구조라고 생각해 볼 수 있다.
전문이 고정된 형태로만 소통한다면, API는 요청하는 시스템에서 필요로 하는 항목들만 넣어서 소통할 수 있다. 그러다 보니 기존에 정의되지 않은 형태로도 통신이 가능하다. 전문통신이 중국집의 모든 메뉴를 주면 그 중에 필요한 것을 선택해서 주방에 전달하는 형태라면, API통신은 손님이 포스트잇에 먹고싶은 메뉴만 적어서 내는 것이라고 생각해 볼 수 있다.
API에 대해서는 REST API, OPEN API 등 추가로 다룰 내용이 더 있기 때문에 나중에 별도 포스팅으로 다루고, 오늘은 전문과의 차이까지만 살펴보았다. 다음부터는 전문을 물어봤을 때 당황하지 않으리라 결심하며, 오늘 포스팅을 마친다.