SOA (Service-Oriented Architecture)

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

재사용 가능한 서비스 중심 아키텍처. 느슨한 결합과 표준 인터페이스. 비즈니스 유연성 확보.


📝 기술사 모의답안 (2.5페이지 분량)

📌 예상 문제

"SOA (Service-Oriented Architecture)의 개념과 주요 기능을 설명하고, 기업 정보화 전략 관점에서의 도입 방안과 성공 요인을 논하시오."


Ⅰ. 개요

1. 개념

SOA(Service-Oriented Architecture)는 비즈니스 기능을 재사용 가능한 서비스로 캡슐화하고, 표준화된 인터페이스를 통해 서비스 간 느슨한 결합으로 통합하는 아키텍처 스타일이다.

비유: "레고 블록" - 서비스를 조립해서 큰 시스템을 만들어요

2. SOA 등장 배경

┌────────────────────────────────────────────────────────┐
│           왜 SOA인가?                                 │
├────────────────────────────────────────────────────────┤
│                                                        │
│  모놀리식 아키텍처 (Monolithic):                       │
│  ┌────────────────────────────────────────────────┐   │
│  │  ┌────────────────────────────────────────┐   │   │
│  │  │           하나의 큰 애플리케이션          │   │   │
│  │  │                                        │   │   │
│  │  │  주문 │ 재고 │ 결제 │ 배송 │ 고객      │   │   │
│  │  │   ↓     ↓     ↓     ↓     ↓           │   │   │
│  │  │  ────────────────────────────────────  │   │   │
│  │  │            강한 결합                     │   │   │
│  │  │                                        │   │   │
│  │  └────────────────────────────────────────┘   │   │
│  │                                                │   │
│  │  😫 문제:                                      │   │
│  │  • 수정 시 전체 재배포                         │   │
│  │  • 확장 어려움                                 │   │
│  │  • 재사용 불가                                 │   │
│  │                                                │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  SOA (서비스 지향):                                    │
│  ┌────────────────────────────────────────────────┐   │
│  │                                                │   │
│  │  ┌─────┐  ┌─────┐  ┌─────┐  ┌─────┐          │   │
│  │  │주문 │  │재고 │  │결제 │  │배송 │          │   │
│  │  │서비스│  │서비스│  │서비스│  │서비스│          │   │
│  │  └──┬──┘  └──┬──┘  └──┬──┘  └──┬──┘          │   │
│  │     │        │        │        │              │   │
│  │     └────────┴────────┴────────┘              │   │
│  │                  │                             │   │
│  │            ┌─────┴─────┐                      │   │
│  │            │    ESB    │                      │   │
│  │            └───────────┘                      │   │
│  │                                                │   │
│  │  😊 효과:                                      │   │
│  │  • 개별 서비스 수정/배포                       │   │
│  │  • 독립적 확장                                 │   │
│  │  • 서비스 재사용                               │   │
│  │                                                │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
└────────────────────────────────────────────────────────┘

Ⅱ. 구성 요소 및 핵심 원리

3. SOA 핵심 원칙

┌────────────────────────────────────────────────────────┐
│           SOA 핵심 원칙                              │
├────────────────────────────────────────────────────────┤
│                                                        │
│  1️⃣ 서비스 재사용성 (Reusability):                   │
│  ┌────────────────────────────────────────────────┐   │
│  │  • 동일 서비스를 여러 곳에서 사용               │   │
│  │  • 예: "주소 검증" 서비스 → 주문, 회원가입     │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  2️⃣ 서비스 추상화 (Abstraction):                     │
│  ┌────────────────────────────────────────────────┐   │
│  │  • 내부 구현 숨기기                             │   │
│  │  • 인터페이스만 공개                           │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  3️⃣ 느슨한 결합 (Loose Coupling):                    │
│  ┌────────────────────────────────────────────────┐   │
│  │  • 서비스 간 의존성 최소화                      │   │
│  │  • 한 서비스 변경이 다른 서비스에 영향 최소     │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  4️⃣ 서비스 자율성 (Autonomy):                        │
│  ┌────────────────────────────────────────────────┐   │
│  │  • 각 서비스가 독립적으로 동작                  │   │
│  │  • 자체 로직과 데이터 관리                      │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  5️⃣ 서비스 계약 (Service Contract):                  │
│  ┌────────────────────────────────────────────────┐   │
│  │  • 표준화된 인터페이스 정의                     │   │
│  │  • WSDL, OpenAPI 등                            │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  6️⃣ 서비스 검색성 (Discoverability):                 │
│  ┌────────────────────────────────────────────────┐   │
│  │  • 서비스 레지스트리에 등록                     │   │
│  │  • 검색 및 조회 가능                           │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
└────────────────────────────────────────────────────────┘

Ⅲ. 기술 비교 분석

4. SOA vs 마이크로서비스

구분SOA마이크로서비스
크기큰 서비스작은 서비스
통신ESB, SOAPREST, gRPC
데이터공유 DBDB per 서비스
배포Enterprise급독립 배포
거버넌스중앙 집중분산
도입 시기2000년대2010년대

5. 장단점

장점단점
재사용성복잡성
유연성성능 오버헤드
확장성초기 비용
비즈니스 정렬거버넌스 필요

Ⅳ. 실무 적용 방안

**SOA (Service-Oriented Architecture)**의 실무 적용 시나리오와 고려사항.


Ⅴ. 기대 효과 및 결론

효과 영역내용정량적 목표
경영 효율프로세스 자동화·통합으로 업무 생산성 향상행정 업무 처리 시간 40% 단축
의사결정실시간 BI·분석으로 데이터 기반 의사결정 지원의사결정 속도 50% 향상
IT 거버넌스표준화된 거버넌스 체계로 IT 리스크 관리 강화IT 감사 지적 사항 60% 감소

결론

**SOA (Service-Oriented Architecture)**은(는) 기업 정보 시스템은 ERP·CRM에서 시작하여 DX(디지털 전환)·초자동화(Hyper-automation)·AI 통합으로 진화하며, 기업의 모든 운영 영역을 데이터로 연결하는 디지털 기업(Digital Enterprise)의 근간이 될 것이다.

※ 참고 표준: ITIL v4(AXELOS), COBIT 2019(ISACA), ISO/IEC 20000-1:2018, ISO 9001


어린이를 위한 종합 설명

SOA를 쉽게 이해해보자!

재사용 가능한 서비스 중심 아키텍처. 느슨한 결합과 표준 인터페이스. 비즈니스 유연성 확보.

왜 필요할까?
  기존 방식의 한계를 넘기 위해

어떻게 동작하나?
  복잡한 문제 → SOA 적용 → 더 빠르고 안전한 결과!

핵심 한 줄:
  SOA = 똑똑하게 문제를 해결하는 방법

비유: SOA은 마치 요리사가 레시피를 따르는 것과 같아. 혼란스러운 재료들을 정해진 순서대로 조합하면 → 맛있는 요리(최적 결과)가 나오지! 🍳