웹 서비스란?

What are Web Services?

Posted by Start Bootstrap on January 05, 2019

여러 책과 조직에서 말하는 웹 서비스에 대해 정리합니다

  • 웹 서비스는 인터넷을 통해 자체적으로 사용할 수 있고 표준화 된 XML 메시징 시스템을 사용하는 모든 소프트웨어
    XML은 웹 서비스에 대한 모든 통신을 인코딩하는 데 사용됩니다. 예를 들어 클라이언트는 XML 메시지를 보내 웹 서비스를 호출 한 다음 해당 XML 응답을 기다립니다. 모든 통신은 XML이기 때문에 웹 서비스는 하나의 운영 체제나 프로그래밍 언어에 묶여 있지 않습니다.

Java-Perl, Windows 응용 프로그램 -Unix 응용 프로그램과 대화 할 수 있습니다.

  • 웹 서비스는 제품(products), 프로세스(processes) 및 공급망(supply chains)을 작성하기 위해 네트워크를 통해 설명(described), 게시(published), 위치 지정(located) 또는 호출(invoked) 할 수 있는 self-contained, modular, distributed, dynamic applications 프로그램입니다.

  • 이러한 응용 프로그램은 로컬(local), 분산(distributed) 또는 웹 기반(web-based) 일 수 있습니다. 웹 서비스는 TCP / IP, HTTP, Java, HTML 및 XML과 같은 개방형 표준을 기반으로 구축됩니다.

  • 웹 서비스는 응용 프로그램과 응용 프로그램 간의 직접적인 상호 작용을 위해 인터넷을 사용하는 XML 기반 정보 교환 시스템입니다.

  • 이러한 시스템에는 프로그램(programs), 개체(objects), 메시지(messages) 또는 문서(documents)가 포함될 수 있습니다.

  • 웹 서비스는 응용 프로그램이나 시스템간에 데이터를 교환하는 데 사용되는 개방형 프로토콜 및 표준 모음입니다. 다양한 프로그래밍 언어로 작성되고 다양한 플랫폼에서 실행되는 소프트웨어 응용 프로그램은 웹 서비스를 사용하여 단일 컴퓨터에서 프로세스 간 통신과 비슷한 방식으로 인터넷과 같은 컴퓨터 네트워크를 통해 데이터를 교환 할 수 있습니다.

    • 이 상호 운용성 (예 : Java와 Python 또는 Windows 및 Linux 응용 프로그램)은 개방형 표준을 사용하기 때문에 발생합니다.

요약하면 완전한 웹 서비스는 다음과 같은 모든 서비스입니다.

  • 인터넷 또는 개인 (인트라넷) 네트워크를 통해 사용할 수 있습니다.

  • 표준화 된 XML 메시징 시스템 사용

  • 어느 한 운영체제 나 프로그래밍 언어에 묶여 있지 않습니다.

  • 공통된 XML 문법을 통한 자체 설명

  • 간단한 찾기 메커니즘을 통해 발견 가능

웹 서비스의 구성 요소

기본 웹 서비스 플랫폼은 XML + HTTP입니다. 모든 표준 웹 서비스는 다음 구성 요소를 사용하여 작동합니다.

  • SOAP (Simple Object Access Protocol)

  • UDDI (Universal Description, Discovery and Integration)

  • WSDL (Web Services Description Language)

웹 서비스는 어떻게 작동합니까?

웹 서비스는 HTML, XML, WSDL 및 SOAP와 같은 개방형 표준을 사용하여 다양한 응용 프로그램 간의 통신을 가능하게합니다.

  • 웹 서비스는

    • 데이터에 태그를 추가하는 XML

    • 메시지를 전송하는 SOAP

    • WSDL은 서비스 가용성을 설명합니다.

  • Windows에서 실행되는 Visual Basic 프로그램에서 액세스 할 수 있는 Java 기반 웹 서비스를 Solaris에서 빌드 할 수 있습니다.

  • 또한 C #을 사용하여 Windows에서 JavaServer Pages (JSP)를 기반으로하고 Linux에서 실행되는 웹 응용 프로그램에서 호출 할 수있는 새 웹 서비스를 빌드 할 수 있습니다.

Example

  • 간단한 계좌 관리 및 주문 처리 시스템을 생각해 볼 때, 회계 담당자는 Visual Basic 또는 JSP로 작성된 클라이언트 응용 프로그램을 사용하여 새 계정을 만들고 새 고객 주문을 입력합니다.

  • 이 시스템의 처리 로직은 Java로 작성되며 Solaris 머신에 상주합니다. Solaris 머신은 또한 정보를 저장하기 위해 데이터베이스와 상호 작용합니다.

  • 이 작업을 수행하는 단계는 다음과 같습니다.

    1. 클라이언트 프로그램은 계정 등록 정보를 SOAP 메시지로 묶습니다.

    2. 이 SOAP 메시지는 HTTP POST 요청 본문으로 웹 서비스에 전송됩니다.

    3. 웹 서비스는 SOAP 요청의 압축을 풀고 애플리케이션이 이해할 수있는 명령으로 변환합니다.

    4. 응용 프로그램은 필요에 따라 정보를 처리하고 해당 고객에 대한 새로운 고유 계정 번호로 응답합니다.

    5. 그런 다음 웹 서비스는 HTTP 요청에 대한 응답으로 클라이언트 프로그램에 다시 보내는 다른 SOAP 메시지에 응답을 패키징합니다.

    6. 클라이언트 프로그램은 SOAP 메시지의 압축을 풀어 계정 등록 프로세스의 결과를 얻습니다.