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, SOAP | REST, gRPC |
| 데이터 | 공유 DB | DB 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은 마치 요리사가 레시피를 따르는 것과 같아. 혼란스러운 재료들을 정해진 순서대로 조합하면 → 맛있는 요리(최적 결과)가 나오지! 🍳