본문 바로가기

Dev.World/개발상식&언어

[그들이 쓰는 언어] 4. 미들웨어 / API



미들웨어(middleware)란 무엇인가
응용소프트웨어가 운영체제로부터 제공받는 서비스 이외에
추가적으로 이용할 수 있는 서비스를 제공하는 것이다.
그 서비스란 시스템 소프트웨어와 응용 소프트웨어 사이
또는 두 가지 다른 종류의 응용프로그램 사이에서 조정 및 중개 역할을 의미한다.
즉 , 시스템에 분산되어 있는 응용프로그램과 데이터, 웹 서버간 연결을 최적화 시켜주는 역할을 하는 것을 말한다.

응용 소프트웨어는 유연하고 확장, 축소가 편리해야 하며
이러한 장점을 충족하기에 다른 기종간 플랫폼을 다시 구축할 필요가 없어야 한다.

이러한 이유로 미들웨어라는 것이 생겨났다.

미들웨어의 동작환경은 Operating Environments 
예를 들면 데이터베이스, 네트워크, 운영체제, 유저인터페이스 등과
Business Ware (각종 툴, 패키지 등)의 중간에 위치한다.
따라서 사용자는 미들웨어를 사용함으로써
네트워크 프로토콜이나 운영체제에 관계없이 동일한 애플리케이션을 사용할 수 있으며, 간단한 단일 API를 제공한다.

종류로는 데이터베이스 미들웨어,  RPC(Remote Procedure Call) 미들웨어, MOM(Message Oriented Middleware), TP 모니터 미들웨어
ORB(Object Request Broker) 미들웨어
그리고 WAS(Web Application Server) 미들웨어가 있다.



API(Application Programming Interface)

소프트웨어 애플리케이션을 개발하기 위한 운영체제가 제공하는

즉, 운영체제에서 기본적인 동작을 하는 여러 가지 함수의 집합을 의미한다.

우리가 대면하고 있는 컴퓨터로부터 그 구조를 따라 내려가보자.

User

GUI(Graphic User Interface)

Application

API(Application Programming Interface)

OS(Operating System)

OPI(Operation System Interface)

Hardware


중간 중간에 Interface들이 존재하고 이러한 Interface들이 연결고리를 이루고 있다.
프로그래밍 언어로 응용 프로그램을 만들 때,
윈도우를 만들고 파일을 여는 것과 같은 처리를 할 수 있도록 1000여 개 이상의 함수로 구성되어 있다.
API는 프로그래머를 위한 운영체제나 프로그램의 인터페이스로서
사용자와 직접 대하게 되는 그래픽 사용자 인터페이스(GUI)나 명령형 인터페이스와 뚜렷한 차이가 있다.

응용프로그램 간에 연동의 개념이 많아지자 서로 다른 응용프로그램 간에 기능을 공유할 수 있도록 개발되었다.

웹 개발이라는 관점에서 API 는 http 프로토콜의 집합(XML, JSON 등) 으로 정의되어진다.




-..-