인터페이스 설계
목차 20
시스템과 시스템을 잇는 약속. 직접 vs 간접 연계 · EAI 4유형 · 미들웨어 6종이 중심. 1과목 인터페이스 설계 영역(약 20%·매 회차 1~3문항)의 점수밭. 약자가 많아 명칭 함정이 단골.
핵심 암기 3종: 연계 방식 직간 · EAI 4유형 포허메하 · 미들웨어 6종 원메티객왓디
인터페이스 설계 기초
인터페이스 개념 ·정의·
[정의] 두 시스템(또는 모듈)이 정보를 주고받기 위해 약속한 접점(Interface). 자바 인터페이스가 클래스 간 약속이듯, 여기선 단위가 시스템으로 확장된다.
[표]
| 용어 | 정의 |
|---|---|
| 인터페이스(Interface) | 두 시스템이 정보 교환을 위해 약속한 접점 |
| 송신 시스템(Source) | 데이터를 보내는 쪽 |
| 수신 시스템(Target) | 데이터를 받는 쪽 |
💡 비유 콘센트 규격 표준화 — 표준(220V 2핀)만 지키면 어떤 기기든 꽂힌다. 인터페이스 명세가 그 표준. 🎯 빈출 개념 단독 출제는 드물고, 연계 방식·EAI·미들웨어로 바로 들어간다. 송신=Source·수신=Target 용어만 잡으면 충분. 간헐.
인터페이스 설계 3단계 ·절차·
[흐름] 요구사항 확인 → 송수신 시스템 식별 → 명세서 작성
| 단계 | 핵심 활동 | 주요 산출물 |
|---|---|---|
| ① 요구사항 확인 | 어떤 정보를 어떻게 주고받을지 도출 | 인터페이스 요구사항 명세서 |
| ② 송수신 시스템 식별 | 송신·수신 시스템 특정 + 데이터 식별 | 시스템 식별표 |
| ③ 명세서 작성 | 통신 방식·데이터 형식·주기·보안 결정 | 인터페이스 정의서/명세서 |
🔑 암기 요구사항 → 식별 → 명세서 🎯 빈출 절차 자체보다 산출물 이름(인터페이스 정의서/명세서) 매칭. 간헐.
시스템 인터페이스 vs 모듈 인터페이스 ·단위 차이·
[비교]
| 구분 | 시스템 인터페이스 | 모듈 인터페이스 |
|---|---|---|
| 단위 | 시스템 ↔ 시스템 (서로 다른 프로세스) | 모듈 ↔ 모듈 (한 시스템 내부) |
| 통신 | 네트워크 기반(HTTP·TCP·메시지) | 함수·메서드 호출 |
| 보안 | 강 (외부 노출·인증·암호화 필수) | 약 (같은 프로세스 내부) |
⚠️ 함정 8강 주영역은 시스템 인터페이스(외부 연결). 모듈 인터페이스(내부·결합도/응집도 영역)와 단위가 다르다. 🎯 빈출 단위 구분 함정으로 가끔 등장. 간헐.
시스템 연계 방식
직접 연계 vs 간접 연계 ·직간·1순위·
[정의] 중간 매개체(연계 솔루션)의 유무로 갈린다. 직접 = 매개체 없이 송신→수신 직결 / 간접 = 매개체(EAI·ESB 등)를 거쳐 전송.
[비교]
| 항목 | 직접 연계 | 간접 연계 |
|---|---|---|
| 매개체 | 없음 (송신→수신 직결) | 있음 (EAI·ESB·MOM 등) |
| 구현 비용 | 낮음 | 높음 |
| 처리 속도 | 빠름 | 상대적으로 느림 |
| 결합도 | 높음 (한쪽 변경 시 다른 쪽 영향) | 낮음 (매개체가 변경 흡수) |
| 확장성 | 낮음 (시스템 추가 시 N×M 연결) | 높음 (매개체 통한 다대다) |
| 보안·표준화 | 약 | 강 |
| 대표 종류 | DB Link·JDBC·API·Hyperlink | EAI·ESB·Web Service·Socket |
🔑 암기 직간 — 직접=매개체 없음·내부 직결·결합도↑·빠름 / 간접=매개체 있음·결합도↓·확장성↑ ⚠️ 함정 '직접 연계가 결합도가 낮다'는 100% 오답. 직접은 결합도가 높다. 🎯 빈출 '구조 단순·빠름·결합도 높음' → 직접 / '매개체·표준·결합도 낮음·확장성' → 간접. 단서 한 단어가 답을 가른다. 거의 매회. 💡 비유 옆집과 직접 인터폰(직접) vs 동네 우체통 경유(간접). 받는 사람이 바뀌어도 우체통 주소만 같으면 그대로 — 매개체가 결합도를 낮춘다.
직접 연계 5종 ·매개체 없음·
[분류]
| 종류 | 한 줄 정의 |
|---|---|
| DB Link | DB가 다른 DB의 테이블을 직접 참조 |
| DB Connection | WAS가 수신 DB와 연결 풀(Connection Pool) 유지 |
| JDBC | Java 애플리케이션이 DB와 직접 연결 |
| API / Open API | 송신측이 제공하는 API를 수신측이 직접 호출 |
| Hyper Link | 웹페이지에서 다른 시스템의 URL로 직접 이동 |
🔑 암기 DB Link · DB Connection · JDBC · API · Hyperlink (5종) ⚠️ 함정 Hyperlink가 간접 연계로 둔갑하면 오답 — Hyperlink는 직접(URL 직접 이동). 🎯 빈출 보기에 이 5종이 보이면 직접 연계 후보. 소거형 단골.
간접 연계 4종 ·매개체 경유·
[분류]
| 종류 | 영문 풀네임 | 한 줄 정의 |
|---|---|---|
| EAI | Enterprise Application Integration | 기업 내·외부 애플리케이션 통합·연계 솔루션 |
| ESB | Enterprise Service Bus | 표준 기반 메시지 버스로 느슨한 결합 통합 |
| Web Service | (그대로) | 웹 표준(HTTP·XML/JSON) 기반 시스템 간 통신 |
| Socket | (그대로) | TCP/UDP 기반 양방향 실시간 통신 |
🔑 암기 EAI · ESB · Web Service · Socket (4종) ⚠️ 함정 JDBC·DB Link가 간접 연계로 둔갑하면 오답 — 둘 다 직접. 매개체 유무로 구분. 🎯 빈출 직접 5종 / 간접 4종 소거형(연계 방식이 다른 하나)이 단골.
EAI와 ESB
EAI 개념과 등장 배경 ·1순위·
[정의] EAI(Enterprise Application Integration) — 기업 내·외부의 다양한 애플리케이션을 하나로 통합·연계하는 솔루션.
N개 시스템을 직접 연결하면 N(N-1)/2 개의 연결선이 생긴다(10개=45개, 100개=4,950개). 이 카오스를 매개체 하나로 정리하려고 등장.
P2P (1:1 직결) — 연결 N(N-1)/2 개 (카오스)
A ─── B
│ ╲ ╱ │
│ ╱ ╲ │
C ─── D
EAI (중앙 매개체) — 연결 N 개
A B
╲ ╱
[EAI]
╱ ╲
C D
💡 비유 집집마다 케이블(N(N-1)/2) → 마을 우체국 하나(N)로 정리. 우체국만 잘 관리하면 동네 통신이 단순해진다. 🎯 빈출 EAI는 4유형의 구조 차이와 장단점 매칭까지가 핵심. 구현 디테일이 아니라 구조·SPOF·비동기 키워드에 집중.
EAI 4유형 ·포허메하·1순위·
[분류]
| 유형 | 구조 | 연결 수 | 장점 | 단점 |
|---|---|---|---|---|
| Point-to-Point | 1:1 직결 | N(N-1)/2 | 단순·빠름 | 복잡도 폭증 |
| Hub & Spoke | 중앙 허브 1개 | N | 중앙 관리·재사용 | SPOF 위험 |
| Message Bus | 공용 버스(큐) | N | 비동기·확장성·송수신 독립 | 메시지 손실 가능 |
| Hybrid | 사내 Hub·외부 Bus | 환경별 다름 | 장점 모두 | 구조 복잡 |
🔑 암기 포허메하 — 포인트투포인트 · 허브앤스포크 · 메시지버스 · 하이브리드 (보기 4개가 거의 이 순서) 🔑 결정 키워드 P2P=직결 · HSpoke=중앙 · MBus=버스 · Hybrid=혼합 ⚠️ 함정 Hub & Spoke '허브 장애 시에도 정상 동작'은 100% 오답. 핵심 단점 = SPOF(단일 장애점) — 허브 장애 시 전체 마비. 🎯 빈출 Hub & Spoke의 SPOF, Message Bus의 비동기 특성이 1순위. 거의 매회. 💡 비유 Hub & Spoke = 항공 환승(인천공항 허브 — 폭설로 멈추면 전국 마비) / Message Bus = 마을 공용 게시판(올리고 떠나면 끝, 받는 쪽이 자기 시간에 떼어감 = 비동기).
ESB와 EAI vs ESB ·표준 기반·
[정의] ESB(Enterprise Service Bus) — 표준(SOAP·REST·JMS 등) 기반 메시지 버스로 서비스들을 느슨하게 결합하는 통합 솔루션. EAI의 진화형이며 핵심은 표준화·서비스 지향(SOA).
[비교]
| 항목 | EAI | ESB |
|---|---|---|
| 통합 단위 | 애플리케이션(전체 시스템) | 서비스(SOA 단위, 더 잘게) |
| 결합도 | 어댑터 기반(강한 결합 가능) | 표준 프로토콜(느슨한 결합) |
| 표준 | 솔루션별 상이 | HTTP·SOAP·REST·JMS 표준 |
| 통합 패턴 | Hub & Spoke 위주 | Message Bus + 라우팅·변환 |
🔑 암기 EAI = 애플리케이션 통합(어댑터) / ESB = 표준 기반 서비스 통합(느슨한 결합·SOA) 🎯 빈출 '표준·SOA·느슨한 결합' 키워드 → ESB. ⚠️ 함정 EAI ≠ ESB. 약자가 비슷하지만 통합 철학이 다르다.
미들웨어
미들웨어 개념 ·OS↔응용 사이·
[정의] 운영체제(OS)와 응용 프로그램 사이에 위치해 둘을 연결하는 소프트웨어. 통신·인증·트랜잭션 등 공통 기능을 제공. 시스템 인터페이스에서는 시스템 간 통신을 담당하는 연계 미들웨어가 핵심.
💡 비유 한국어만 하는 사장과 영어만 하는 손님 사이의 통역사 — 양쪽이 언어를 안 바꿔도 대화가 통한다. ⚠️ 함정 EAI·ESB는 미들웨어 6종이 아니라 그 위에서 통합을 담당하는 솔루션. 🎯 빈출 정의 단독보다 6종 분류가 핵심.
미들웨어 6종 ·원메티객왓디·1순위·
[분류]
| 약자 | 풀네임 | 한 줄 키워드 |
|---|---|---|
| RPC | Remote Procedure Call | 동기식 원격 절차(함수) 호출 |
| MOM | Message Oriented Middleware | 비동기 메시지 큐 전달 |
| TP-Monitor | Transaction Processing Monitor | 트랜잭션 처리 감독(OLTP) |
| ORB | Object Request Broker | 객체 지향 분산 (CORBA 표준) |
| WAS | Web Application Server | 동적 웹 콘텐츠·비즈니스 로직 |
| DBMS | Data Base Management System | DB 접근·관리 |
🔑 암기 원메티객왓디 — 원격호출(RPC) · 메시지(MOM) · 티피모니터(TP-Monitor) · 객체(ORB) · 왓(WAS) · 디비(DBMS) 🔑 시험 1순위 RPC=동기 · MOM=비동기 · ORB=객체/CORBA — 매 회차 이 매칭으로 출제 ⚠️ 함정 EAI·ESB·SOAP가 미들웨어 6종으로 둔갑하면 오답 — 미들웨어 6종은 원메티객왓디 6개뿐. 🎯 빈출 RPC vs MOM 동기/비동기 매칭이 1순위. ORB는 CORBA(OMG 표준)와 한 세트. 💡 보충 대표 구현 — RPC(gRPC·Java RMI) / MOM(Kafka·RabbitMQ) / TP-Monitor(Tuxedo·CICS) / ORB(CORBA) / WAS(Tomcat·WebLogic) / DBMS 인터페이스(JDBC·ODBC).
명세서와 명칭 함정
명세서·데이터 형식·통신 프로토콜 ·필수 항목·
[표] 인터페이스 명세서 필수 항목
| 항목 | 설명 / 예시 |
|---|---|
| 인터페이스 ID | 고유 식별자 (IF-PAY-001) |
| 송신·수신 시스템 | 양쪽 시스템 명시 |
| 데이터 형식 | XML·JSON·YAML |
| 통신 프로토콜 | HTTP·REST·SOAP·gRPC |
| 송수신 주기 | 실시간·배치·이벤트 |
[분류] 데이터 형식 3 / 프로토콜 4
| 분류 | 종류 | 특징 |
|---|---|---|
| 형식 | XML | 태그 기반·검증 강함·무거움 (SOAP) |
| 형식 | JSON | 키-값·가벼움·웹 표준 (REST 사실상 표준) |
| 형식 | YAML | 들여쓰기·사람 친화적 (설정 파일) |
| 프로토콜 | HTTP | 웹 표준 요청·응답 |
| 프로토콜 | REST | HTTP+자원 중심 (현대 표준) |
| 프로토콜 | SOAP | XML+표준 메시징 (레거시) |
| 프로토콜 | gRPC | Protobuf+HTTP/2 (MSA 내부) |
🔑 암기 명세서 = ID·송수신·형식·프로토콜·주기(5) / 형식 = XML·JSON·YAML(3) / 프로토콜 = HTTP·REST·SOAP·gRPC(4) ⚠️ 함정 CORBA가 데이터 형식으로 둔갑하면 오답 — CORBA는 ORB 표준(미들웨어), 형식이 아니다. 'REST=무거운 표준'도 뒤집기 오답(REST=가벼움·SOAP=무거움). 🎯 빈출 명세서 필수 항목 빈칸형, 형식·프로토콜 짝짓기 오류형.
명칭 함정 8가지 ·합격 한 끗·
[비교] 이름이 비슷한 약자 짝의 결정적 차이
| 헷갈리는 짝 | 결정적 차이 |
|---|---|
| EAI vs ESB | EAI=애플리케이션 통합 / ESB=표준 기반 서비스 통합 |
| RPC vs MOM | RPC=동기 / MOM=비동기 |
| REST vs SOAP | REST=가벼움·자원 중심 / SOAP=무거움·표준 강함 |
| JDBC vs ODBC | JDBC=Java 전용 / ODBC=범용 |
| DB Link vs DB Connection | DB Link=DB↔DB / DB Connection=WAS↔DB |
| WAS vs Web Server | WAS=동적 / Web Server=정적 |
| CORBA vs gRPC | CORBA=구세대 ORB / gRPC=현대 RPC |
| Hub & Spoke vs Message Bus | Hub=중앙·SPOF / Bus=분산·비동기 |
🔑 암기 8강은 약자가 많아 함정이 단골 — 각 짝의 한 단어 차이만 잡으면 즉답. 🎯 빈출 명칭 함정은 단순 정의 매칭보다 한 단계 더 헷갈리게 출제. 이 표가 시험에서 1~2점.
기출 다지기
[기출 1 출제] 다음 설명에 해당하는 미들웨어는? (설명→용어)
원격 시스템의 프로시저(함수)를 로컬 시스템의 함수처럼 호출할 수 있게 해주는 동기식 미들웨어로, 호출 측이 응답을 받을 때까지 대기한다.
- ① RPC (Remote Procedure Call)
- ② MOM (Message Oriented Middleware)
- ③ TP-Monitor
- ④ ORB (Object Request Broker)
정답 및 해설 보기
정답 ①
'동기식 + 원격 프로시저 호출 + 응답 대기' = RPC의 표준 정의. R=동기.
| 선지 | 판정 | 근거 |
|---|---|---|
| ① RPC | 정답 | 동기·원격 함수 호출 |
| ② MOM | 오답 | 비동기 메시지 큐. 응답 대기 X |
| ③ TP-Monitor | 오답 | 트랜잭션 처리 감독 |
| ④ ORB | 오답 | 객체 지향 분산(CORBA) |
🔑 RPC=동기 / MOM=비동기. 이 한 단어 차이가 정답을 가른다.
[기출 2 출제] 다음 ( )에 들어갈 EAI 구축 유형은? (빈칸형)
( )는 모든 시스템이 중앙의 단일 통합 지점을 통해 서로 연결되는 EAI 구축 유형으로, 자전거 바퀴처럼 중앙 허브가 모든 스포크와 연결된 구조이다. 중앙 허브 장애 시 전체 시스템이 영향을 받는 단점이 있다.
- ① Point-to-Point
- ② Hub & Spoke
- ③ Message Bus
- ④ Hybrid
정답 및 해설 보기
정답 ②
'중앙 허브·자전거 바퀴·스포크·허브 장애 시 전체 영향(SPOF)'은 모두 Hub & Spoke의 표준 정의·단점.
| 선지 | 판정 | 근거 |
|---|---|---|
| ① Point-to-Point | 오답 | 1:1 직결. 중앙 허브 없음 |
| ② Hub & Spoke | 정답 | 중앙 허브 + 방사형 + SPOF |
| ③ Message Bus | 오답 | 공용 버스·비동기 |
| ④ Hybrid | 오답 | Hub & Spoke + Message Bus 혼합 |
🔑 SPOF(단일 장애점)가 보이면 Hub & Spoke. 허=중앙.
[기출 3 출제] 다음 중 시스템 인터페이스 연계 방식이 다른 하나는? (소거형)
- ① DB Link
- ② JDBC
- ③ Open API
- ④ EAI
정답 및 해설 보기
정답 ④
①·②·③은 모두 직접 연계(매개체 없이 직결), ④ EAI만 간접 연계(매개체 통한 통합).
| 보기 | 분류 |
|---|---|
| ① DB Link | 직접 (DB↔DB) |
| ② JDBC | 직접 (Java↔DB) |
| ③ Open API | 직접 (호출↔응답) |
| ④ EAI | 간접 (매개체 통한 통합) |
🔑 직접 vs 간접의 핵심 단서 = 매개체의 유무. 간접 4종은 EAI·ESB·Web Service·Socket뿐.
[기출 4 출제] 다음 중 미들웨어의 종류에 포함되지 않는 것은? (소거형)
- ① RPC (Remote Procedure Call)
- ② MOM (Message Oriented Middleware)
- ③ ORB (Object Request Broker)
- ④ EAI (Enterprise Application Integration)
정답 및 해설 보기
정답 ④
EAI는 인터페이스 통합 솔루션이지 미들웨어 6종에 속하지 않는다. 미들웨어 6종 = 원메티객왓디.
| 보기 | 분류 |
|---|---|
| ① RPC | 미들웨어 O (동기 원격 호출) |
| ② MOM | 미들웨어 O (비동기 메시지) |
| ③ ORB | 미들웨어 O (객체/CORBA) |
| ④ EAI | 미들웨어 X (통합 솔루션) |
🔑 미들웨어 6종(원메티객왓디) 외 항목이 보이면 정답 후보. EAI·ESB·Web Service는 통합 솔루션 영역.
[기출 5 출제] 다음 설명에 해당하는 미들웨어는? (설명→용어)
객체 지향 환경에서 분산된 객체 간의 통신을 중개하는 미들웨어로, OMG에서 표준화한 CORBA(Common Object Request Broker Architecture) 사양에 기반한다.
- ① RPC
- ② MOM
- ③ TP-Monitor
- ④ ORB (Object Request Broker)
정답 및 해설 보기
정답 ④
'객체 지향 + CORBA 표준 + OMG'는 ORB의 표준 정의. O=객체.
| 선지 | 판정 | 근거 |
|---|---|---|
| ① RPC | 오답 | 함수(프로시저) 호출. 객체 단위 아님 |
| ② MOM | 오답 | 메시지 큐 비동기 |
| ③ TP-Monitor | 오답 | 트랜잭션 감독 |
| ④ ORB | 정답 | 객체 통신 + CORBA |
🔑 CORBA·OMG·객체 지향 분산 키워드가 보이면 ORB. RPC=동기·MOM=비동기·ORB=객체 세 단어면 1순위 3종 즉답.
[기출 6 출제] 다음 중 인터페이스 데이터 형식과 그 설명이 잘못 짝지어진 것은? (짝짓기 오류형)
- ① XML — 태그 기반의 데이터 표현 형식, SOAP의 표준
- ② JSON — 키-값 쌍의 가벼운 데이터 표현 형식, REST의 사실상 표준
- ③ YAML — 들여쓰기 기반의 사람 친화적 형식, 설정 파일에 자주 사용
- ④ CORBA — JSON과 함께 자주 사용되는 가벼운 데이터 표현 형식
정답 및 해설 보기
정답 ④
CORBA는 데이터 형식이 아니라 ORB 미들웨어 표준이다. 데이터 형식 3종은 XML·JSON·YAML.
| 보기 | 정확 여부 | 정확한 매칭 |
|---|---|---|
| ① XML | 정확 | 태그 기반·SOAP 표준 |
| ② JSON | 정확 | 키-값·REST 표준 |
| ③ YAML | 정확 | 들여쓰기·설정 파일 |
| ④ CORBA | 오류 | CORBA는 ORB 표준(미들웨어) |
🔑 데이터 형식 = XML·JSON·YAML 셋뿐. CORBA가 형식으로 끼면 정답 후보.
[기출 7 출제] 다음 중 인터페이스 설계에 대한 설명으로 옳지 않은 것은? (부정형)
- ① 직접 연계는 송신과 수신 시스템을 매개체 없이 직결하는 방식이다
- ② 간접 연계는 EAI·ESB 같은 매개체를 통해 시스템을 연결하는 방식이다
- ③ EAI Hub & Spoke 방식은 허브 장애 시에도 전체 시스템이 정상 동작하는 장점이 있다
- ④ MOM은 메시지 큐를 통해 시스템 간 비동기 통신을 처리하는 미들웨어이다
정답 및 해설 보기
정답 ③
Hub & Spoke의 핵심 단점은 SPOF(단일 장애점) — 허브 장애 시 전체 시스템이 마비된다. '정상 동작하는 장점'으로 둔갑한 함정.
| 보기 | 정확 여부 | 분석 |
|---|---|---|
| ① 직접 연계 정의 | 정확 | 매개체 없이 직결 |
| ② 간접 연계 정의 | 정확 | EAI·ESB 매개체 |
| ③ Hub & Spoke 장애 시 정상 | 오류 | SPOF가 핵심 단점 |
| ④ MOM 비동기 정의 | 정확 | 메시지 큐 비동기 |
🔑 Hub & Spoke의 SPOF를 '장점'으로 둔갑시키는 패턴은 매 회차 단골.
한 장 요약
| 영역 | 핵심 분류 | 암기팁 |
|---|---|---|
| 연계 방식 | 직접(매개체 없음·결합도↑) vs 간접(매개체 있음·결합도↓·확장성↑) | 직간 |
| 직접 연계 5종 | DB Link · DB Connection · JDBC · API · Hyperlink | (5종 매칭) |
| 간접 연계 4종 | EAI · ESB · Web Service · Socket | (4종 매칭) |
| EAI 4유형 | Point-to-Point · Hub & Spoke · Message Bus · Hybrid | 포허메하 |
| 미들웨어 6종 | RPC · MOM · TP-Monitor · ORB · WAS · DBMS | 원메티객왓디 |
| 시험 1순위 | RPC=동기 / MOM=비동기 / ORB=객체·CORBA | (1순위 매칭) |
| 결정적 키워드 | 즉답 |
|---|---|
| EAI 4유형 | P2P=직결 · HSpoke=중앙(SPOF) · MBus=버스(비동기) · Hybrid=혼합 |
| EAI vs ESB | 애플리케이션 통합 vs 표준 기반 서비스 통합(느슨한 결합) |
| 데이터 형식 / 프로토콜 | XML·JSON·YAML(3) / HTTP·REST·SOAP·gRPC(4) |
🎯 합격 한 끗: 직간 · 포허메하 · 원메티객왓디 세 묶음과 RPC=동기·MOM=비동기·ORB=객체 한 줄, 그리고 Hub & Spoke=SPOF 함정 거르기. 8강은 약자가 많아 명칭 함정이 단골이니, 비슷한 짝(EAI≠ESB·RPC≠MOM·CORBA≠데이터 형식)의 한 단어 차이만 손에 쥐면 끝.
