개념 한 쪽
정보처리기사 인터페이스 시스템 — 클라이언트·서버와 미들웨어
인터페이스 시스템은 이기종 시스템 사이에서 데이터를 주고받게 하는 연결 구조다. 정보처리기사에서는 클라이언트/서버 모델, 미들웨어의 역할, CORBA와 IDL이 함께 출제된다.
이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용
가입 없이 오늘의 10문제 바로 풀기 →
뜻
클라이언트/서버(Client/Server) 모델은 네트워크를 통해 한쪽이 서비스를 요청하고 다른 쪽이 이를 제공하는 구조다. 데이터에 미치는 영향, 로직의 분리, 네트워크 연결과 인증 같은 특징을 가진다.
클라이언트와 서버 사이에는 미들웨어가 중개자 역할을 한다. 미들웨어는 두 부분을 연결해 주는 소프트웨어로 복잡한 통신 과정을 대신 처리한다. 개발자가 각 시스템의 내부 구조를 깊이 알지 못해도 쉽게 연결할 수 있게 해 주므로, 이기종 시스템 간 통신을 추상화해 상호 운용성을 높이고 개발 작업량을 줄여 준다. 미들웨어가 개발 작업량을 증가시킨다는 설명은 이와 정반대라서 틀린 설명으로 취급된다.
CORBA는 서로 다른 언어로 작성된 프로그램 사이의 통신을 가능하게 하는 분산 객체 시스템이며, 여기서 인터페이스를 정의하는 언어가 IDL(Interface Definition Language)이다. IDL은 객체의 메서드와 속성을 언어에 독립적으로 정의한다. ADL은 아키텍처를 기술하는 언어, UML은 모델링 언어이므로 CORBA의 인터페이스 정의 언어가 아니다.
예제
시험에서는 '클라이언트/서버 모델에서의 소프트웨어 개발에 대한 설명으로 옳지 않은 것은?' 꼴로 미들웨어의 역할을 묻는다. '미들웨어는 개발 작업량을 증가시킨다'는 보기가 단골 오답이다. 'CORBA에서 인터페이스 정의 언어는?'이라는 문제의 답은 IDL이며, ADL·CSL·UML이 오답 보기로 섞여 나온다. 미들웨어가 가교이자 효율화 도구라는 점를 기억하면 보기를 빠르게 소거할 수 있다.
자주 묻는 물음
- 미들웨어는 어떤 역할을 하나요?
- 클라이언트와 서버 사이에서 중개자 역할을 하며, 복잡한 통신 과정을 대신 처리합니다. 이기종 시스템 간 통신을 추상화해 상호 운용성을 높이고 개발 작업량을 줄여 줍니다.
- CORBA의 인터페이스 정의 언어는 무엇인가요?
- IDL(Interface Definition Language)입니다. 객체의 메서드와 속성을 언어에 독립적으로 정의해, 서로 다른 언어로 작성된 프로그램 간 통신을 가능하게 합니다.
- 클라이언트/서버 모델의 특징은 무엇인가요?
- 네트워크를 통해 서비스를 요청하고 제공하는 구조입니다. 데이터에 미치는 영향, 로직의 분리, 네트워크 연결 및 인증이 주요 특징으로 다뤄집니다.
정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.