118. SRM (Service Reference Model, 서비스 참조 모델)

⚠️ 이 문서는 정부나 거대 기업 산하의 수많은 부서들이 새로운 웹사이트나 IT 시스템을 만들 때마다 '로그인 기능', '게시판 기능', 'SMS 발송 기능'을 각자 SI 업체에 돈을 주고 밑바닥부터 새로 개발(중복 투자)하는 바보짓을 원천 차단하기 위해, **시스템을 구성하는 소프트웨어 조각(기능)들을 표준화된 레고 블록(컴포넌트)으로 쪼개어 엑셀 분류표(카탈로그)로 만들어 두고 "우리 국가/회사의 시스템은 이 기능 조각들을 재조립해서 만들어라!"라고 강제하는 'SRM(서비스 참조 모델)'**을 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: 앞서 배운 BRM이 '국가가 하는 업무(What)'를 분류한 것이라면, SRM은 '그 업무를 자동화하기 위해 필요한 소프트웨어 기능(How)'을 공통된 잣대로 분류해 놓은 IT 서비스 카탈로그다.
  2. 가치: "이 기능 작년에 옆 부서에서 이미 짜놓은 코드 아니야?"라는 질문에 완벽한 해답을 준다. 전국의 모든 시스템이 이 SRM 꼬리표를 달고 개발되기 때문에, 재사용 가능한 소프트웨어 컴포넌트를 1초 만에 검색해 훔쳐다 쓸 수 있어 수백억의 개발비(SI 용역비)를 아껴준다.
  3. 기술 체계: 단순히 기능을 나열하는 것을 넘어, 최하단에는 인프라 기반 서비스, 그 위에는 '전자결재' 같은 범용 서비스, 최상단에는 '여권 발급' 같은 특정 업무 서비스로 층(Layer)을 나누어 소프트웨어 아키텍처의 재사용성(Reusability)을 극대화한다.

Ⅰ. 스파게티 개발의 재앙과 중복 코딩의 늪

로그인 화면을 100번 다시 만드는 것은 국가적 낭비다.

  1. 사일로(Silo) 시스템의 복사 붙여넣기:
    • A 부처가 '민원 24' 사이트를 10억 주고 만들며 결제 모듈 코드를 짰다.
    • B 부처가 '홈택스' 사이트를 만들 때, SI 개발자들은 A 부처 코드가 있는지 알 길이 없으니(분류 체계 부재) 결제 모듈을 1억을 더 받고 처음부터 다시 하드코딩해서 납품했다. 이 짓을 대한민국 부처 100곳이 반복하면 100억의 혈세가 증발한다.
  2. SRM (서비스 참조 모델)의 도입 원리:
    • 정부는 IT 시스템 안에 들어가는 모든 눈에 보이는 화면과 눈에 안 보이는 백엔드 기능을 원자 단위로 쪼개어(Componentization) 이름을 붙였다.
    • "앞으로 시스템을 만들 때 소스코드 뭉치마다 이 SRM 코드(예: [SRM-공통기능-인증-공인인증서로그인])를 무조건 달아서 국가 시스템에 소스코드를 반납(업로드)해라!"라고 지시했다.

📢 섹션 요약 비유: 전국에 아파트를 짓는데, 목수들이 현장마다 문고리와 수도꼭지를 대장간에서 쇳물을 부어 처음부터 새로 깎아 만들고 있었습니다(중복 개발). SRM은 국가에서 발간한 '건축 자재 표준 카탈로그'입니다. "자, 101번 문고리 규격은 이거니까, 현장에서 새로 철을 깎지 말고 창고(EA 포털)에 가서 101번 문고리 재고(소스코드)를 찾아서 그냥 드라이버로 끼워 맞춰라!"라고 지시하는 건축의 공업화/레고화 선언입니다.


Ⅱ. SRM의 계층 구조 (Layered Architecture)

기반부터 응용까지, 흔들리지 않는 소프트웨어 아키텍처의 뼈대다.

  1. 범정부 SRM 3단계 분류 체계:
    • 서비스 도메인 (대분류): 소프트웨어 기능의 가장 큰 덩어리. (예: 업무 응용 서비스, 데이터 관리 서비스, 보안 서비스)
    • 서비스 카테고리 (중분류): 덩어리 안의 세부 영역. (예: 보안 서비스 $\rightarrow$ 접근 제어, 암호화)
    • 서비스 컴포넌트 (소분류/최하위): 실제 개발자가 짜는 기능 단위의 조각 코드. (예: 접근 제어 $\rightarrow$ SSO (통합 로그인), 권한 관리)
  2. 업무 무관 공통 컴포넌트의 위력:
    • SRM의 진정한 가치는 하단 계층에 있는 '공통 컴포넌트'에 있다.
    • "게시판 쓰기", "SMS 문자 발송", "파일 압축/해제", "우편번호 검색 API" 같은 기능들은 경찰청이든 국방부든 100% 똑같이 쓴다.
    • 그래서 대한민국 정부는 아예 **'전자정부 표준프레임워크(eGovFrame)'**라는 국책 자바(Spring) 소스코드 뭉치를 만들었고, 이 안에 SRM 분류표에 입각한 250개의 공통 컴포넌트 소스코드를 다 짜서 국민에게 공짜로 뿌려버렸다.

📢 섹션 요약 비유: 쇼핑몰을 창업할 때 '장바구니', '결제', '배송조회' 기능을 밑바닥부터 짤 필요가 없습니다. 네이버 스마트스토어(전자정부 표준프레임워크)가 이미 SRM 분류 체계에 맞춰 레고 블록으로 다 만들어 놨기 때문에, 사장님은 그저 메뉴판에서 "결제 블록 하나 달아주시고, Q&A 게시판 블록 하나 떼서 붙여주세요"라고 마우스 클릭만 하면 쇼핑몰 하나가 뚝딱 조립되는 마법과 같습니다.


Ⅲ. BRM과 SRM의 만남: 업무와 IT의 완벽한 일치 (Mapping)

"너희 부서는 무슨 일을 하고, 그 일을 하려면 무슨 소프트웨어가 필요한가?"

  1. 상호 교차 매핑 (Cross-Mapping):
    • 앞서 배운 BRM은 인간의 업무(Business)다. SRM은 컴퓨터의 소프트웨어(IT Service)다.
    • EA(엔터프라이즈 아키텍처)의 궁극적 목적은 이 두 개를 엮어 거대한 그물을 짜는 것이다.
    • 예: BRM[보건복지-백신예약] 이라는 업무 네모 박스를 클릭하면 선이 쫙 이어지며 $\rightarrow$ SRM[인증-카카오톡로그인], SRM[달력-예약스케줄러], SRM[알림-알림톡발송] 이라는 3개의 소프트웨어 컴포넌트 박스에 불이 들어온다.
  2. IT 포트폴리오 최적화 (버릴 것과 투자할 것):
    • 이 매핑 지도를 완성해 놓고 보니 기가 막힌 사실을 알게 된다.
    • "어? 우리 회사는 SRM[AI 챗봇] 컴포넌트는 수십 억 들여 사놨는데, 정작 BRM[고객 CS응대] 부서에서는 이 챗봇을 한 번도 안 쓰고 전화만 받고 있네?" (IT 과잉 투자 적발)
    • "반대로 BRM[빅데이터 예측] 업무를 하라는 특명을 내렸는데, 이 업무와 연결된 SRM[통계 분석 소프트웨어] 컴포넌트가 우리 회사 자산 목록에 아예 존재하지 않네?" (IT 투자 누락 발견)

📢 섹션 요약 비유: BRM(업무)이 "요리사, 서빙, 캐셔"라는 식당 직원의 직업 목록이라면, SRM(소프트웨어)은 "식칼, 쟁반, 포스기"라는 주방 도구 목록입니다. 훌륭한 사장님(EA 아키텍트)은 직업과 도구를 줄 긋기(매핑)해 봅니다. 줄을 그어보니 '서빙' 직원에게 '식칼'이 지급되어 있고, 정작 '요리사'에게는 '포스기'가 매핑되어 있는 엉망진창인 식당 운영의 허점(IT 투자 오류)을 한 장의 엑셀 표(매트릭스)로 완벽하게 찾아내어 뜯어고칠 수 있는 궁극의 통제 기술입니다.