XML 웹 서비스
웹 서비스는 웹 애플리케이션 구성 요소입니다.
웹 서비스는 웹에 게시, 검색 및 사용할 수 있습니다.
이 자습서에서는 WSDL, SOAP, RDF 및 RSS를 소개합니다.
WSDL
- WSDL은 웹 서비스 설명 언어를 의미합니다.
- WSDL은 웹 서비스를 설명하기 위한 XML 기반 언어입니다.
- WSDL은 W3C 권장 사항입니다.
비누
- SOAP는 Simple Object Access Protocol의 약자입니다.
- SOAP는 웹 서비스에 액세스하기 위한 XML 기반 프로토콜입니다.
- SOAP는 XML을 기반으로 합니다.
- SOAP는 W3C 권장 사항입니다.
RDF
- RDF는 Resource Description Framework의 약자입니다.
- RDF는 웹상의 리소스를 설명하기 위한 프레임워크입니다.
- RDF는 XML로 작성됩니다.
- RDF는 W3C 권장 사항입니다.
RSS
- RSS는 'Really Simple Syndication'의 약자입니다.
- RSS를 사용하면 사이트 콘텐츠를 신디케이트할 수 있습니다.
- RSS는 헤드라인과 콘텐츠를 쉽게 공유하고 볼 수 있는 방법을 정의합니다.
- RSS 파일은 자동으로 업데이트될 수 있습니다.
- RSS는 다양한 사이트에 대한 개인화된 보기를 허용합니다.
- RSS는 XML로 작성됩니다.
이미 알고 있어야 할 사항
웹 서비스를 공부하기 전에 XML과 XML 네임스페이스에 대한 기본적인 이해가 있어야 합니다.
이 주제를 먼저 공부하려면 XML 자습서 를 읽으십시오 .
웹 서비스
- 웹 서비스는 애플리케이션 구성 요소입니다.
- 웹 서비스는 개방형 프로토콜을 사용하여 통신합니다.
- 웹 서비스는 독립적이고 자체 설명적입니다.
- UDDI를 사용하여 웹 서비스를 검색할 수 있습니다.
- 웹 서비스는 다른 응용 프로그램에서 사용할 수 있습니다.
- HTTP 및 XML은 웹 서비스의 기초입니다.
상호 운용성이 가장 우선시됨
모든 주요 플랫폼이 웹 브라우저를 사용하여 웹에 액세스할 수 있을 때 다른 플랫폼은 상호 작용할 수 없습니다. 이러한 플랫폼이 함께 작동하기 위해 웹 애플리케이션이 개발되었습니다.
웹 애플리케이션은 단순히 웹에서 실행되는 애플리케이션입니다. 이들은 웹 브라우저 표준을 기반으로 구축되었으며 모든 플랫폼의 모든 브라우저에서 사용할 수 있습니다.
웹 서비스는 웹 애플리케이션을 다음 단계로 끌어 올립니다.
웹 서비스를 사용하여 응용 프로그램은 기능이나 메시지를 나머지 세계에 게시할 수 있습니다.
웹 서비스는 XML을 사용하여 데이터를 코딩하고 디코딩하고 SOAP를 사용하여 데이터를 전송합니다(개방 프로토콜 사용).
웹 서비스를 사용하면 회계 부서의 Win 2k 서버 과금 시스템을 IT 공급업체의 UNIX 서버와 연결할 수 있습니다.
웹 서비스에는 두 가지 유형의 사용이 있습니다.
재사용 가능한 응용 프로그램 구성 요소.
응용 프로그램에 매우 자주 필요한 것이 있습니다. 그렇다면 왜 이것을 계속해서 만들까요?
웹 서비스는 통화 변환, 날씨 보고서 또는 언어 번역과 같은 응용 프로그램 구성 요소를 서비스로 제공할 수 있습니다.
기존 소프트웨어를 연결합니다.
웹 서비스는 서로 다른 응용 프로그램에 데이터를 연결하는 방법을 제공하여 상호 운용성 문제를 해결하는 데 도움이 될 수 있습니다.
웹 서비스를 사용하면 서로 다른 애플리케이션과 플랫폼 간에 데이터를 교환할 수 있습니다.
모든 응용 프로그램에는 웹 서비스 구성 요소가 있을 수 있습니다.
웹 서비스는 프로그래밍 언어에 관계없이 생성할 수 있습니다.
웹 서비스 예
다음 예제에서는 ASP.NET을 사용하여 온도를 화씨에서 섭씨로 또는 그 반대로 변환하는 간단한 웹 서비스를 만듭니다.
<%@ WebService Language="VBScript" Class="TempConvert" %>
Imports System
Imports System.Web.Services
Public Class TempConvert :Inherits WebService
<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
end class
이 문서는 .asmx 파일로 저장됩니다. 이것은 XML Web Services용 ASP.NET 파일 확장명입니다.
예시 설명
참고: 이 예제를 실행하려면 .NET 서버가 필요합니다.
예제의 첫 번째 줄은 이것이 VBScript로 작성된 웹 서비스이고 클래스 이름이 "TempConvert"임을 나타냅니다.
<%@ WebService Language="VBScript" Class="TempConvert" %>
다음 줄은 .NET 프레임워크에서 "System.Web.Services" 네임스페이스를 가져옵니다.
Imports System
Imports System.Web.Services
다음 줄은 "TempConvert" 클래스가 WebService 클래스 유형임을 정의합니다.
Public Class TempConvert :Inherits WebService
다음 단계는 기본적인 VB 프로그래밍입니다. 이 응용 프로그램에는 두 가지 기능이 있습니다. 하나는 화씨에서 섭씨로 변환하고 다른 하나는 섭씨에서 화씨로 변환합니다.
일반 응용 프로그램과의 유일한 차이점은 이 함수가 "WebMethod()"로 정의된다는 것입니다.
"WebMethod()"를 사용하여 애플리케이션의 기능을 웹 서비스로 변환합니다.
<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
그런 다음 수업을 종료합니다.
end class
.NET을 지원하는 서버에 .asmx 파일을 게시하면 첫 번째 웹 서비스가 작동하게 됩니다.
귀하의 웹 사이트에 웹 서비스를 놓으십시오
양식과 HTTP POST 메서드를 사용하여 다음과 같이 사이트에 웹 서비스를 배치할 수 있습니다.
그것을 하는 방법
다음은 웹 페이지에 웹 서비스를 추가하는 코드입니다.
<form
action='tempconvert.asmx/FahrenheitToCelsius'
method="post" target="_blank">
<table>
<tr>
<td>Fahrenheit to Celsius:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Fahrenheit">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
<form
action='tempconvert.asmx/CelsiusToFahrenheit'
method="post" target="_blank">
<table>
<tr>
<td>Celsius to Fahrenheit:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Celsius">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
"tempconvert.asmx"를 다음과 같은 웹 서비스 주소로 대체합니다.
http://www.example.com/xml/tempconvert.asmx