미들웨어 아키텍쳐 개념과 종류, 사례
본 내용은
"
학점은행제, 88점) 소프트웨어공학 - 미들웨어 아키텍쳐 개념과 종류, 사례
"
의 원문 자료에서 일부 인용된 것입니다.
2024.06.10
문서 내 토픽
  • 1. 미들웨어 개념
    미들웨어는 운영 체제와 응용 소프트웨어의 중간에서 조정과 중개의 역할을 수행하는 소프트웨어입니다. 분산 컴퓨팅 환경에서 단일 사용자 환경을 제공하고 이기종 간 시스템의 네트워크를 연결하거나 클라이언트와 서버 간의 통신을 담당하는 역할을 합니다.
  • 2. 미들웨어 동작 원리
    미들웨어는 운영 체제와 응용 소프트웨어 사이에서 중개 역할을 하며, 응용 소프트웨어가 운영 체제로부터 제공받는 서비스 이외에 추가적인 서비스를 제공합니다.
  • 3. 원격 프로시저 호출 (RPC)
    원격 프로시저 호출은 네트워크로 연결된 서버 사이에 원격 프로시저를 호출하는 미들웨어 기술입니다. 클라이언트에서 입력 값을 실어 원격 서버에 있는 프로시저를 호출하고, 호출된 프로시저의 수행 결과를 클라이언트 프로세스에게 전달합니다.
  • 4. 메시지 지향 미들웨어 (MOM)
    메시지 지향 미들웨어는 네트워크상에서 메시지를 전달하는 운반자 역할을 합니다. 메시지 통신은 메시지의 보내기, 받기와 같은 단순한 수행으로 비동기형 메시지를 전달하는 방식입니다. 온라인 업무보다 이기종 분산 데이터 시스템의 데이터 동기화에 많이 사용됩니다.
  • 5. ORB (Object Request Broker)
    객체 요청 브로커는 분산 컴퓨팅 환경에서 미들웨어 소프트웨어의 한 단면으로, 프로그래머에게 다른 컴퓨터의 프로그램을 네트워크를 통해 호출할 수 있게 해줍니다. 코바 표준 스펙을 구현한 미들웨어로, 이기종 간 플랫폼과 언어에 무관하게 통합이 가능합니다.
  • 6. DB 접속 미들웨어
    DB 접속 미들웨어는 데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결하기 위한 미들웨어입니다. 데이터베이스를 사용해 시스템을 구축하는 경우 보통 2-Tier 아키텍처라고 합니다.
  • 7. 톰캣
    톰캣은 전 세계적으로 가장 많이 사용되는 WAS(Web Application Server)의 한 종류로, 어플리케이션 서버와 웹 서버 역할을 동시에 수행합니다. 브라우저와 DBMS 사이에서 동작하며, 데이터 처리가 필요한 경우 서버로의 접속과 데이터 관리 및 처리 등의 동작을 수행합니다. 정적인 컨텐츠와 동적인 컨텐츠를 분리하여 실행하여 클라이언트로부터 전달된 서비스 요청에 빠르게 응답할 수 있습니다.
Easy AI와 토픽 톺아보기
  • 1. 미들웨어 개념
    미들웨어는 운영 체제와 응용 프로그램 사이에 위치하는 소프트웨어 계층으로, 다양한 기능을 제공합니다. 미들웨어는 응용 프로그램이 운영 체제와 독립적으로 실행될 수 있도록 하며, 분산 시스템에서 구성 요소 간의 통신을 중재합니다. 또한 미들웨어는 보안, 트랜잭션 관리, 메시징, 데이터 변환 등의 기능을 제공하여 응용 프로그램 개발을 단순화하고 효율화합니다. 미들웨어는 기업 IT 인프라의 핵심 구성 요소로, 시스템 간 상호 운용성과 확장성을 높이는 데 중요한 역할을 합니다.
  • 2. 미들웨어 동작 원리
    미들웨어는 운영 체제와 응용 프로그램 사이에서 중재자 역할을 수행합니다. 미들웨어는 운영 체제가 제공하는 기본적인 서비스를 추상화하고, 응용 프로그램에 일관된 API를 제공합니다. 이를 통해 응용 프로그램은 운영 체제의 세부 사항을 몰라도 필요한 기능을 사용할 수 있습니다. 또한 미들웨어는 분산 시스템에서 구성 요소 간의 통신을 중재하고, 보안, 트랜잭션 관리, 메시징 등의 기능을 제공합니다. 이러한 기능을 통해 미들웨어는 응용 프로그램 개발을 단순화하고 효율화하며, 시스템 간 상호 운용성과 확장성을 높입니다.
  • 3. 원격 프로시저 호출 (RPC)
    원격 프로시저 호출(RPC)은 클라이언트가 로컬 프로세스에서 실행되는 것처럼 원격 프로세스의 함수를 호출할 수 있게 하는 기술입니다. RPC는 분산 시스템에서 구성 요소 간의 통신을 단순화하고 효율화합니다. 클라이언트는 원격 함수를 로컬 함수와 동일한 방식으로 호출할 수 있으며, RPC 프레임워크가 네트워크 통신과 데이터 직렬화/역직렬화를 처리합니다. RPC는 CORBA, Java RMI, .NET Remoting 등 다양한 구현체가 존재하며, 마이크로서비스 아키텍처에서 널리 사용되고 있습니다. 하지만 RPC는 네트워크 장애에 취약하고 보안 이슈가 있어 최근에는 REST API나 gRPC와 같은 대안이 더 많이 사용되는 추세입니다.
  • 4. 메시지 지향 미들웨어 (MOM)
    메시지 지향 미들웨어(MOM)는 메시징 기반 통신을 지원하는 미들웨어 기술입니다. MOM은 메시지 큐, 토픽/구독 모델, 메시지 브로커 등의 기능을 제공하여 분산 시스템의 구성 요소 간 비동기 통신을 가능하게 합니다. 이를 통해 시스템 간 결합도를 낮추고 확장성을 높일 수 있습니다. MOM은 메시지 전달의 신뢰성, 지속성, 순서성 등을 보장하며, 다양한 메시징 프로토콜(AMQP, MQTT, JMS 등)을 지원합니다. 대표적인 MOM 솔루션으로는 RabbitMQ, Apache Kafka, Amazon SQS 등이 있습니다. MOM은 마이크로서비스, 이벤트 기반 아키텍처, 실시간 데이터 처리 등 다양한 분야에서 활용되고 있습니다.
  • 5. ORB (Object Request Broker)
    ORB(Object Request Broker)는 분산 객체 컴퓨팅 환경에서 클라이언트와 서버 간 객체 호출을 중재하는 미들웨어 기술입니다. ORB는 CORBA(Common Object Request Broker Architecture) 표준을 기반으로 하며, 객체 간 투명한 통신을 제공합니다. 클라이언트는 ORB를 통해 원격 객체의 메서드를 호출할 수 있으며, ORB는 네트워크 통신, 객체 위치 탐색, 데이터 직렬화/역직렬화 등을 처리합니다. ORB는 다양한 언어와 플랫폼을 지원하며, 객체 지향 설계 원칙을 따르는 분산 시스템 개발에 적합합니다. 하지만 CORBA는 복잡성이 높고 최근 웹 서비스, REST API 등 다른 분산 기술에 비해 활용도가 낮아지는 추세입니다.
  • 6. DB 접속 미들웨어
    DB 접속 미들웨어는 데이터베이스와 응용 프로그램 사이의 통신을 중재하는 미들웨어 기술입니다. DB 접속 미들웨어는 JDBC, ODBC 등의 표준 API를 제공하여 응용 프로그램이 데이터베이스에 독립적으로 접근할 수 있게 합니다. 또한 DB 접속 미들웨어는 연결 풀링, 트랜잭션 관리, 쿼리 최적화 등의 기능을 제공하여 데이터베이스 접근을 효율화합니다. 대표적인 DB 접속 미들웨어로는 JDBC, ODBC, ADO.NET, Hibernate 등이 있습니다. DB 접속 미들웨어는 데이터베이스 독립성을 높이고 응용 프로그램 개발을 단순화하여 데이터베이스 통합과 마이그레이션을 용이하게 합니다. 이를 통해 기업 IT 인프라의 유연성과 확장성을 향상시킬 수 있습니다.
  • 7. 톰캣
    톰캣(Apache Tomcat)은 자바 서블릿 컨테이너이자 웹 애플리케이션 서버입니다. 톰캣은 자바 EE(Enterprise Edition) 스펙 중 서블릿과 JSP(Java Server Pages) 규격을 구현하여, 웹 애플리케이션 개발을 위한 미들웨어 역할을 합니다. 톰캣은 오픈 소스로 개발되어 무료로 사용할 수 있으며, 가볍고 빠른 성능으로 널리 사용되고 있습니다. 또한 톰캣은 다양한 플러그인과 확장 기능을 지원하여 개발자가 필요한 기능을 쉽게 추가할 수 있습니다. 톰캣은 자바 웹 애플리케이션 개발의 표준 플랫폼으로 자리 잡았으며, 스프링 프레임워크, 자바 EE 등 다양한 자바 기술과 연계되어 사용되고 있습니다.
주제 연관 리포트도 확인해 보세요!