미들웨어

Middleware

미들웨어는 운영 체제에서 사용할 수 있는 것 이상의 서비스를 소프트웨어 응용 프로그램제공하는 컴퓨터 소프트웨어입니다.'소프트웨어 글루'[1]라고 할 수 있습니다.

미들웨어를 사용하면 소프트웨어 개발자는 통신 및 입출력을 쉽게 구현할 수 있으므로 응용 프로그램의 특정 목적에 집중할 수 있습니다.이 용어는 [2]1968년부터 사용되었지만, 새로운 애플리케이션을 오래된 레거시 시스템에 연결하는 방법에 대한 해결책으로 1980년대에 인기를 끌었다.

분산 어플리케이션 내

소프트웨어 아키텍처: 미들웨어

이 용어는 분산된 응용 프로그램에서 데이터 통신 및 관리를 가능하게 하는 소프트웨어에 가장 일반적으로 사용됩니다.2000년 IETF 워크숍에서는 미들웨어를 "전송(TCP/IP를 통해) 레이어 서비스 세트 위에 있지만 애플리케이션 환경 아래에 있는 서비스"(이하 애플리케이션 레벨 API)[3]라고 정의했습니다.이러한 의미에서는 미들웨어를 클라이언트 서버에서는 대시("-") 또는 피어 투 피어(peer-to-peer)로 설명할 수 있습니다.미들웨어에는 웹 서버, 응용 프로그램 서버, 콘텐츠 관리 시스템 및 응용 프로그램 개발 및 [4]전달을 지원하는 유사한 도구가 포함됩니다.

Object Web은 미들웨어를 다음과 같이 정의합니다.「[5]네트워크내의 분산 컴퓨팅 시스템의 양쪽에 있는 operating system과 애플리케이션 사이에 있는 소프트웨어 레이어」미들웨어로 간주할 수 있는 서비스에는 엔터프라이즈 애플리케이션 통합, 데이터 통합, 메시지 지향 미들웨어(MOM), 객체 요청 브로커(ORB), 엔터프라이즈 서비스 버스(ESB)[6] 등이 있습니다.

데이터베이스 액세스서비스는 미들웨어로 특징지어지는 경우가 많습니다.그 중 일부는 언어 고유의 구현이며 이기종 기능 및 기타 관련 [7]통신 기능을 지원합니다.데이터베이스 지향 미들웨어의 예로는 ODBC, JDBC트랜잭션 처리 [8]모니터가 있습니다.

분산 컴퓨팅 시스템 미들웨어는 크게 두 가지 범주로 나눌 수 있습니다. 즉, 사용자 시간 서비스(웹 요청 서비스 등)를 제공하는 범주와 기계 시간으로 실행되는 범주로 나눌 수 있습니다.이 후자의 미들웨어는 Service Availability[9] Forum을 통해 어느 정도 표준화되었으며 통신,[10] 방위 항공우주 산업의 복잡한 임베디드 시스템에서 일반적으로 사용됩니다.

미들웨어의 종류

사용하는 필드 또는 사용하는 응용 프로그램모듈 중 하나를 지정하는 미들웨어의 분류에는 많은 정의가 있습니다.최근 참고 문헌에서 미들웨어의 주요 범주는 다음과 같습니다.[11]

  • 트랜잭션: 복수의 동기/비동기 트랜잭션을 처리하여 은행 트랜잭션 또는 신용카드 결제와 같은 분산 시스템에서 관련된 요청의 클러스터 역할을 합니다.
  • 메시지 지향:동기/비동기 통신을 지원하는 메시지큐 및 메시지 패싱 아키텍처
  • 순서:콜 조작 등의 비동기 시스템 통신의 소프트웨어 응답을 접속, 패스 및 취득하기 위한 리모트 및 로컬아키텍처
  • 객체 지향:그러나 절차용 미들웨어와 마찬가지로 이러한 미들웨어 유형은 객체 지향 프로그래밍 설계 원칙을 포함합니다.분석적으로, 소프트웨어 구성 요소는 분산 개체 요청을 통한 개체 참조, 예외 및 속성 상속을 포함합니다.

기타 예

미들웨어라는 용어는 다른 컨텍스트에서도 사용됩니다.미들웨어는 소프트웨어 드라이버와 유사한 의미로 사용되는 경우가 있습니다.이러한 추상화 레이어는 하드웨어 디바이스 또는 기타 소프트웨어에 대한 세부 정보를 응용 프로그램에서 숨기는 것입니다.

  • Android 운영체제는 Linux 커널을 핵심으로 사용하며 개발자가 응용 프로그램에 통합하는 응용 프로그램 프레임워크도 제공합니다.또한 Android는 데이터 스토리지, 화면 디스플레이, 멀티미디어 및 웹 브라우징과 같은 서비스를 제공하는 라이브러리를 포함한 미들웨어 계층을 제공합니다.미들웨어 라이브러리는 기계어컴파일되기 때문에 서비스가 빠르게 실행됩니다.미들웨어 라이브러리는 기기 고유의 기능도 구현하기 때문에 애플리케이션 및 애플리케이션 프레임워크는 다양한 Android 기기 간의 변화에 신경 쓸 필요가 없습니다.Android의 미들웨어 계층에는 ART 가상 머신과 핵심 Java 애플리케이션 [12]라이브러리도 포함되어 있습니다.
  • 미들웨어는 2개 이상의 API를 분리하여 환율 제한, 인증, 로깅 등의 서비스를 제공하는 소프트웨어도 말합니다.
  • GamebryoRenderWare와 같은 게임 엔진 소프트웨어는 게임 [13]개발을 단순화하는 많은 서비스를 제공하기 때문에 미들웨어라고 불리기도 합니다.
  • 시뮬레이션 기술에서 미들웨어는 일반적으로 많은 분산 시뮬레이션에 적용되는 고급 아키텍처(HLA)의 맥락에서 사용됩니다.애플리케이션 코드와 런타임인프라스트럭처 사이에 있는 소프트웨어 레이어플리케이션 코드와 런타임인프라스트럭처 사이에 있습니다.미들웨어는 일반적으로 함수의 라이브러리로 구성되어 있으며, HLA 용어로 시뮬레이션 또는 연합된 다수의 애플리케이션을 사용하여 [14]각 애플리케이션에 대해 이러한 함수를 재작성하지 않고 공통 라이브러리에서 호출할 수 있습니다.
  • 무선 네트워크 개발자는 미들웨어를 사용하여 무선 센서 네트워크(WSN)와 관련된 과제에 대응할 수 있습니다.미들웨어 애플리케이션을 실장하면 WSN 개발자는 운영체제와 하드웨어를 현재 [15]이용 가능한 다양한 애플리케이션과 통합할 수 있습니다.
  • QNX 운영체제는 자동차, 항공기 및 기타 [16]환경에서 사용할 수 있는 멀티미디어 서비스를 제공하기 위한 미들웨어를 제공합니다.
  • Radio-Frequency Identification(RFID; 무선 주파수 식별) 소프트웨어 툴킷은 노이즈가 많은 다중 원시 [17]데이터를 필터링하기 위한 미들웨어를 제공합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "What is Middleware?". Middleware.org. Defining Technology. 2008. Archived from the original on June 29, 2012. Retrieved 2013-08-11.{{cite web}}: CS1 유지보수: 부적합한 URL(링크)
  2. ^ Gall, Nick (July 30, 2005). "Origin of the term middleware".
  3. ^ "Home". IETF.
  4. ^ Etzkorn, L. H. (2017). Introduction to Middleware: Web Services, Object Components, and Cloud Computing. CRC Press. pp. 4–5. ISBN 9781498754101.
  5. ^ Krakowiak, Sacha. "What's middleware?". ObjectWeb.org. Archived from the original on 2005-05-07. Retrieved 2005-05-06.
  6. ^ Luckham, D. C. (2011). Event Processing for Business: Organizing the Real-Time Enterprise. John Wiley & Sons. pp. 27–28. ISBN 9781118171851.
  7. ^ Simon, A. R.; Wheeler, T. (2014). Open Client/Server Computing and Middleware. Academic Press. pp. 43–49. ISBN 9781483214276.
  8. ^ Arregoces, M.; Portolani, M. (2003). Data Center Fundamentals. Cisco Press. pp. 92–93. ISBN 9781587140747.
  9. ^ "Service Availability Interface Specification" (PDF). Service Availability Forum. 30 September 2011. Retrieved 26 July 2018.
  10. ^ Jokiaho, T.; Fryer, J. (2012). "Foreword". Service Availability: Principles and Practice. John Wiley & Sons. p. xv. ISBN 9781119941675.
  11. ^ Gazis, Alexandros; Katsiri, Eleftheria (15 March 2022). "Middleware 101: What to know now and for the future". ACM Queue. Retrieved 15 March 2022.
  12. ^ Charlie Collins, Michael Galpin 및 Matthias Kappler, Android in Practice, Manning Publications, 2011
  13. ^ Moore, M. E. (2006). Introduction to the Game Industry. Pearson Prentice Hall. p. 169. ISBN 9780131687431.
  14. ^ Becchini, R.; Chilaev, P.; Krivtsov, V.; et al. (2003). "Chapter 4: Middleware". In Drira, K.; Martelli, A.; Villemur, T. (eds.). Cooperative Environments for Distributed Systems Engineering: The Distributed Systems Environment Report. Springer. pp. 41–4. ISBN 9783540455820.
  15. ^ S. 하딤과 N. 모하메드(2006).무선 센서 네트워크에 대한 미들웨어의 과제와 접근법.IEEE 분산 시스템 온라인 vol 7.제3호2009년 3월 4일 iEE Distributed Systems Online에서 취득, 2011-09-28 Wayback Machine에서 아카이브 완료
  16. ^ "QNX Software Joins Internet ITS Consortium of Japan". QNX News Releases. QNX. 6 May 2008. Retrieved 26 July 2018.
  17. ^ Glover, B.; Bhatt, H. (2006). RFID Essentials. O'Reilly Media. pp. 38–44. ISBN 9780596009441.

외부 링크