본문 바로가기
Data & Programming/C

[C언어] 코어뱅킹 c언어 개발언어 채택

by 눈부셔™ 2023. 7. 23.
728x90

[C언어] 코어뱅킹 c언어 개발언어 채택

은행에서 코어뱅킹(Core Banking) 시스템이란 무엇일까? 은행의 코어 뱅킹 시스템은 은행이 핵심적인 금융 서비스를 제공하고 업무를 운영하는 데 필수적인 시스템입니다. 이 시스템은 은행의 핵심 기능을 포함하며, 대부분의 핵심 은행 업무를 자동화하고 통합하는 역할을 수행합니다.

코어뱅킹 c언어 개발언어 채택


은행에서 코어뱅킹 시스템은 주로 다음과 같은 기능을 포함하고 있습니다:


● 계좌 관리: 고객의 예금, 대출, 투자 등의 계좌를 관리하고 업데이트하는 기능을 제공합니다.
 입출금 처리: 고객들의 현금 입출금과 이체를 처리하며, 자동화된 트랜잭션 처리를 통해 빠르고 정확한 업무를 수행합니다.
 대출 및 이자 계산: 대출 상품과 이자를 계산하고, 상환 일정을 관리하여 대출 업무를 지원합니다.
 카드 관리: 신용카드, 직불카드 등의 발급과 관리를 수행하며, 카드 결제와 결제내역 관리를 지원합니다.
 보안 및 인증: 고객의 정보와 자산을 보호하기 위한 보안 시스템과 인증 기능을 포함합니다.
 거래 내역 기록: 모든 거래와 업무 내역을 기록하고 데이터베이스에 저장하여 추적 및 분석이 가능하도록 합니다.
 보고서 및 분석: 금융 거래에 대한 보고서를 생성하고 분석하는 기능을 제공하여 은행의 의사 결정을 지원합니다.
 온라인 뱅킹: 인터넷 뱅킹과 모바일 뱅킹 기능을 통해 고객이 편리하게 은행 업무를 처리할 수 있도록 합니다.

이러한 코어 뱅킹 시스템은 은행의 핵심적인 업무를 안정적이고 효율적으로 수행하며, 고객과 은행 간의 원활한 소통과 서비스 제공을 가능케 합니다. 은행 산업에서는 코어 뱅킹 시스템의 안정성과 기능성이 중요한 요소로 간주되며, 이를 지속적으로 개선하고 발전시키는 것이 중요합니다.

 

현재 국내 은행의 코어 뱅킹 시스템은 보통 Unix나 Linux 시스템 기반하에 C 나 Java로 개발되어 있습니다.

 

제가 은행 전산부서에 입사할 2003년에만 하더라도 Unisys COBOL 이 개발언어였습니다.

유니시스(Unisys)사의 주도로 개발된 유니시스 메인프레임에 최적화된 COBOL 프로그래밍 언어입니다.

Unisys COBOL은 은행 및 금융기관을 비롯한 다양한 산업 분야에서 유용하게 사용되며 국내 서버시장에서 메인프레임 강자로 군림했었으나, 유니시스가 경역 실적 악화를 이유로 한국 진출 39년만에 2010년 지사를 철수하면서 많은 은행들이 메인프레임에서 Unix / Linux 서버로 다운사이징 차세대 프로젝트를 진행했었습니다.

 

제가 근무중인 은행도 2011년 차세대에는 Unix 시스템으로 다운사이징하고, 작년 초에는 다시 Linux 시스템으로 고도화 전환을 진행했었습니다. 코어뱅킹 시스템을 Unix와 Linux 서버로 선택하는데에는 많은 장단점이 있기 때문에, 코어뱅킹 시스템을 구축할 때는 해당 시스템의 요구사항과 기술적인 환경을 고려하여 적절한 운영체제를 선택하는 것이 중요합니다. 

 

  Unix 서버 Linux 서버
장점 안정성이 뛰어남 오픈 소스이며 라이선스 비용이 없음
높은 보안성과 권한 관리 안정성이 향상되어 신뢰성이 높음
다중 프로세서와 대용량 메모리 지원 다양한 커뮤니티의 지속적인 보안 업데이트
확장성이 뛰어남 다양한 플랫폼과 하드웨어에 대한 호환성
단점 상용 운영체제로 라이선스 비용이 발생 기술 지원 서비스가 제한적일 수 있음
운영과 유지보수에 높은 기술력이 요구됨 여러 배포판으로 인한 선택과 관리의 어려움
  특정 하드웨어에 대한 최적화가 미흡할 수 있음

 

당행의 코어뱅킹 개발언어로 C언어가 채택된 이유는 여러 가지가 있습니다.

 성능과 효율성: C언어는 저수준 프로그래밍 언어로, 하드웨어와 밀접한 관련이 있어서 빠른 실행 속도와 효율적인 메모리 관리를 가능하게 합니다. 코어 뱅킹 시스템은 대용량 금융 트랜잭션 처리와 실시간 응답이 필요하기 때문에 C언어의 성능과 효율성이 적합합니다.

 시스템 제어와 하드웨어 접근: C언어는 포인터와 메모리 주소를 직접 다룰 수 있어서 시스템 제어와 하드웨어 접근이 가능합니다. 이러한 저수준 기능은 코어 뱅킹 시스템의 하드웨어와 상호작용하며 안정적인 동작을 보장하는 데 도움이 됩니다.

 다중 스레드 및 동시성 지원: 코어 뱅킹 시스템은 여러 클라이언트의 동시 접속을 처리해야 합니다. C언어는 다중 스레드와 동시성을 지원하여 병렬 처리를 가능케 하며, 이는 코어 뱅킹 시스템의 성능을 향상시키는 데 도움이 됩니다.

 시스템 간 이식성: C언어는 여러 플랫폼에서 이식성이 높습니다. 리눅스, 윈도우, 유닉스 등 다양한 운영체제에서 동작할 수 있어서 코어 뱅킹 시스템을 다양한 환경에서 구현하고 운영하는 데 유리합니다.

 높은 안정성과 검증 가능성: C언어는 안정성과 검증 가능성이 높은 언어로 알려져 있습니다. 이러한 특징은 코어 뱅킹 시스템의 신뢰성과 보안성을 확보하는 데 기여합니다.

 역사적인 이유: C언어는 오랜 역사를 가진 프로그래밍 언어로, 초기부터 시스템 프로그래밍에 널리 사용되어 왔습니다. 따라서 초기 코어 뱅킹 시스템 개발에서 C언어가 선택된 경우가 많았습니다.

이러한 이유들로 인해 C언어가 은행의 코어 뱅킹 시스템 개발에 적합하다고 판단되어 많은 은행들이 C언어를 사용하여 코어 뱅킹 시스템을 개발하고 있습니다.

 

 

#C언어  #Linux  #리눅스  #Unix  #유닉스  #개발언어  #은행IT  #금융IT  #코어뱅킹  #금융서비스  #CoreBanking

728x90