API Test/SoupUI2018. 11. 29. 15:07

웹 서비스(Web service)

웹 표준을 통해 하나의 전자기기가 다른 전자기기에 제공하는 기능 혹은 서비스. 

일반적으로 인터넷 환경에서 특정 전자기기가 자신이 제공하는 다양한 서비스를 다른 전자기기에서 활용할 수 있도록 웹 표준 기반으로 제공하는 것을 의미한다. 


월드와이드 웹 컨소시엄(W3C: World Wide Web Consortium)은 웹 서비스를 ‘네트워크 기반으로 기계 간 상호작용에 대한 상호 호환성을 지원하기 위해 설계된 소프트웨어 시스템’으로 정의한다. 

웹 기술은 원래 사람과 기계 간의 소통을 위해 설계되었으나, XML과 제이슨(JSON: Javascript Object Notation) 같이 기계가 이해할 수 있는 파일 포맷으로 전달이 가능해지면서 기계 간의 상호작용에도 활용할 수 있게 되었다. 

웹 서비스는 초기에 확장성 마크업 언어(XML), SOAP(Simple Object Access Protocol), WSDL(Web Services Description Language)과 UDDI(Universal Description, Discovery, and Integration)를 기반으로 웹 기반 응용을 통합하는 표준 방법으로 기술되었다. 그러나 XML 기반의 표준들은 처리하기가 무겁고 복잡하여, 상대적으로 가볍게 처리가 가능한 레스트풀 응용 프로그래밍 인터페이스(RESTFul API)와 제이슨(JSON: JavaScript Object Notion) 기반으로 웹 서비스 기술이 발전하고 있다.


WSDL(Web Services Description Language;웹 서비스 기술 언어)


웹 서비스 기술언어 또는 기술된 정의 파일의 총칭으로 XML로 기술된다. 웹 서비스의 구체적 내용이 기술되어 있어 서비스 제공 장소, 서비스 메시지 포맷, 프로토콜 등이 기술된다.


비즈니스 서비스를 기술하여 비즈니스들끼리 전자적으로 서로 접근하는 방법을 제공하기 위해 사용되는 확장성 마크업 언어(XML) 기반의 언어. UDDI(Universal Description, Discovery, and Integration)의 기초가 되는 언어로, 단순 객체 접근 통신 규약(SOAP)과 NASSL(Network Accessible Service Specification Language)로부터 나왔다. UDDI 레지스트리에서 비즈니스 서비스를 나타내는 방법으로 NASSL과 SOAP를 대신한다.


XML(eXtensible Markup Language;확장성 마크업 언어)

인간과 기계가 모두 이해할 수 있는 텍스트 형태로 마크업 포맷을 정의하기 위한 메타 언어. 

인터넷 환경에 적합하도록 간결성, 보편성, 활용성에 중점을 두고 설계되었다. 유니코드(Unicode) 기반으로 다국어를 지원하고, 텍스트 형식의 데이터 포맷으로 플랫폼에 상관없이 다양한 시스템에서 활용 가능한 특징이 있다. 일반적으로 약어 엑스엠엘(XML)로 부른다. 


UDDI(Universal Description, Discovery, and Integration;전역 비즈니스 레지스트리)


인터넷 상의 전세계 비즈니스 목록에 등재하고 검색하기 위한 XML 기반의 구조화된 공용 등록부(registry) 서비스. 

SOAP(Simple Object Access Protocol), WSDL(Web Services Description Language)과 함께 웹 서비스(Web Service)를 구성하는 요소 기술의 하나이다. 사용 가능한 서비스와 서비스 제공자의 각종 정보가 포함된 전화번호부의 역할을 수행하므로 흔히 웹 서비스를 위한 "전화 번호부"라고도 하며, 이를 통해 웹 서비스 제공자에 대한 각종 정보를 등록하고 검색할 수 있다.


SOAP(Simple Object Access Protocol;단순 객체 접근 프로토콜)

확장성 마크업 언어(XML)와 하이퍼텍스트 전송 규약(HTTP) 등을 기반으로 하여 다른 컴퓨터에 있는 데이터나 서비스를 호출하기 위한 통신 규약. 

마이크로소프트사와 유저랜드 소프트웨어(UserLand Software)사, 디벨롭멘터(Developmentor)사가 중심이 되어 개발하였다. 

SOAP에 의한 통신에서는 XML 문서에 봉투(envelope)로 불리는 부대 정보가 붙은 메시지를 HTTP 등의 프로토콜로 교환한다. 서비스를 이용하는 클라이언트와 서비스를 제공하는 서버 쌍방이 SOAP의 생성/해석 엔진을 가지는 것으로 다른 환경 간에서의 객체 호출을 가능하게 하고 있다. SOAP 1.1에서는 실제로 데이터의 송수신에 사용하는 하위 프로토콜은 현재 널리 보급되어 있는 HTTP나 간이 전자 우편 전송 프로토콜(SMTP), 파일 전송 규약(FTP) 등에서 선택할 수 있게 되어 있어 기업 간에 이용하는 경우에도 방화벽 등을 안전하게 통과할 수 있다. 월드 와이드 웹 컨소시엄(W3C)에 의해 표준이 만들어진다. 

SOAP 메시지의 생성 엔진은 ‘SOAP 프락시’, 해석 엔진은 ‘SOAP 리스너, SOAP에 의해 외부로부터 이용 가능한 부품화된 웹 기반의 응용 프로그램은 ‘웹 서비스’라고 불린다. 인터넷상에서 각 회사가 제공하고 있는 웹 서비스를 모아 누구라도 검색, 조회할 수 있도록 하는 것이 UDDI이다.



JSON(JavaScript Object Notation;자바스크립트 객체 표현)


자바스크립트를 기반으로 name/value 형태의 쌍으로 표현되는 구조적 데이터 교환을 위해 사용되는 표준화된 텍스트 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다.



REST(Representational State Transfer)

확장성 마크업 언어(XML) 파일로 된 웹 페이지를 읽어서 원하는 정보를 수집하는 기능. 웹 페이지를 만드는 사람은 주기적으로 내용을 개정하고 사용자는 그 페이지의 URL만 알면 웹 브라우저로 읽어서 정보를 얻을 수 있다. 하이퍼텍스트 전송 규약(HTTP)과 XML을 포함한 웹 기술 및 프로토콜을 사용하는 구조적 형태로서 단순 객체 접근 통신 규약(SOAP)보다 사용이 간편하고, 사이트 내용을 기술하는 RSS(RDF Site Summary)의 정보 편집 기능과 유사하다. RSS는 자원 기술 개념(RDF)을 사용한다.


BPEL(Business Process Execution Language;비즈니스 프로세스 실행 언어)

웹 서비스와 비즈니스 프로세스 내에서 동작 조건을 지정하기 위한 오아시스(OASIS) 표준 실행 언어. IBM사의 WSFL(Web Services Flow Language)과 마이크로소프트사의 XLANG을 통합한 것으로 웹 서비스 상호 운용성 기관(WS-I Organization: Web Services Interoperability Organization)이 제안한 산업체 표준이다. 사업 동반자의 여러 부서가 표준 프로세스를 실행할 수 있도록 비즈니스 프로세스를 기술한 것으로, 예를 들면 공급 사슬 프로세스에서 제품 주문 정보와 예외 사항을 작성하는 비즈니스 프로토콜을 기술한다. 


WADL(Web Application Description Language;웹 응용 프로그램 설명 언어)

기계가 읽을 수 있는 XML의 설명 HTTP 기반 웹 서비스

WADL은 서비스에서 제공하는 리소스와 해당 서비스 간의 관계를 모델링합니다.

WADL은 웹의 기존 HTTP 아키텍처를 기반으로하는 웹 서비스의 재사용을 단순화하기위한 것입니다.

플랫폼과 언어에 독립적이며 웹 브라우저에서 기본 사용 이상의 응용 프로그램 재사용을 목표로합니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터