웹 서비스 : 실제 거래



웹 서비스는 모든 언어로 구축 된 모든 응용 프로그램에서 액세스 할 수 있습니다. 서로 다른 응용 프로그램 간의 통신 문제를 해결합니다.

누군가를 도울 생각을했지만 방법을 찾지 못했습니까? 예, 소프트웨어 개발자가이 모든 작업을 수행 할 시간이 없다는 것을 알고 있습니다. 사실, 우리 인생의 일부는 일부 응용 프로그램 또는 다른 응용 프로그램을위한 코딩에 사용됩니다. 그래서이 모든 것이 저를 생각하게했습니다. 개발자로서 제가 동료 개발자들에게 할 수있는 좋은 일이 있다는 것입니다.





모든 언어로 코딩하는 개발자가 사용할 수있는 코드를 작성하지 않는 이유는 무엇입니까? 멋지지 않나요?
예! 그리고 그거 알아? 솔루션은 – '웹 서비스'

W3C의 정의에 따른 웹 서비스는 '네트워크를 통해 상호 운용 가능한 시스템 간 상호 작용을 지원하도록 설계된 소프트웨어 시스템'입니다.



한 언어로 개발 된 웹 서비스는 다른 언어로도 사용할 수 있으며 가장 좋은 점은 한 응용 프로그램에서 다른 응용 프로그램으로 연결하는 데 도움이된다는 것입니다.

두 시스템이 서로 통신 할 때 서비스를 요청하는 소프트웨어 시스템을 서비스 요청 자라고하고 요청을 처리하여 서비스를 제공 할 소프트웨어 시스템을 서비스 공급자라고합니다.

이제 의사 소통이 어떻게 진행되는지 숙고하고 있다면 그것에 대해 알아 보겠습니다.



서로 다른 시스템간에 통신이 발생하는 방식을 정의하는 특정 규칙이 있습니다. 이러한 규칙에는 한 시스템이 다른 시스템에서 데이터를 요청할 수있는 방법, 데이터 요청에 필요한 매개 변수, 생성 된 데이터의 구조 및 특정 규칙이 위반 될 때 표시되는 오류 메시지가 포함됩니다. 이러한 규칙은 확장자가 .wsdl 인 WSDL (Web Services Description Language)이라는 파일에 정의되어 있습니다.

웹 서비스가 만들어진 후에는 SOAP 프로토콜 ()을 사용하여 서비스를 UDDI (Universal Distribution Discovery and Interoperability)에 게시하거나 등록하는 웹 서비스를 설명하는 WSDL 파일이 생성되어 다른 사람들이 우리 서비스를 사용할 수 있습니다.
UDDI는 어떤 유형의 데이터에 대해 어떤 소프트웨어 시스템에 접속해야하는지 정의합니다.

서비스 요청자는 UDDI에 연락하여 필요한 데이터를 제공하는 공급자를 확인합니다. 그런 다음 SOAP 프로토콜을 사용하여 서비스 제공 업체에 연락합니다. 서비스 공급자는 WSDL을 참조하여 요청의 유효성을 검사하고 Soap 프로토콜을 사용하여 XML로 구조화 된 데이터를 다시 보냅니다. 이 XML은 XSD (XML 스키마 정의-XML에 대한 규칙 또는 요소를 정의하는 문서)를 사용하여 다시 검증됩니다.

Divya

작동 원리를 이해 했으므로 이제 웹 서비스를 개발해 보겠습니다.

주로 .NET에서 웹 서비스 개발을 관리하는 세 가지 측면이 있습니다.

1. 웹 서비스 생성
2. 프록시 만들기
3. 생성 된 웹 서비스를 사용합니다.

.net에서 웹 서비스를 생성하려면 :

1. 프로젝트> 추가> 새 항목을 마우스 오른쪽 버튼으로 클릭합니다.

1. 웹> 웹 서비스
2. 웹 서비스 이름 입력
3. 추가를 클릭합니다.

웹 서비스 파일은 .asmx로 끝납니다.
이제 기본 웹 서비스를 만들었으므로 다음이 표시됩니다.

System.Collections.Generic을 사용하는 시스템 사용 System.Linq를 사용하는 System.Web 사용 System.Web.Services namespace WebApplication5 {/// /// WebService2에 대한 요약 설명 /// [WebService (Namespace = 'http : // tempuri. org / ')] [WebServiceBinding (ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem (false)] // ASP.NET AJAX를 사용하여이 웹 서비스가 스크립트에서 호출되도록하려면 다음 줄의 주석 처리를 제거합니다. // [System.Web.Script.Services.ScriptService] public class WebService2 : System.Web.Services.WebService {[WebMethod] public string HelloWorld () {return 'Hello World'}}}

위의 코드 조각에서 웹 서비스 클래스는 웹 서비스 속성 [WebService]로 둘러싸인 System.Web.Services.WebService에서 상속되며, 여기서 네임 스페이스를 지정하고 웹 서비스에 대한 간략한 설명을 제공 할 수 있습니다.

WebMethod 속성 [WebMethod]는 웹 서비스의 일부로 메서드를 선언하는 데 사용됩니다. 웹 서비스에서 노출하려는 각 메서드의 선언 앞에 배치해야하며 모든 메서드도 public으로 선언해야합니다.

예제와 함께 2012 초보자를위한 ssis 튜토리얼

웹 서비스 메서드를 만들려면 WebService1 클래스에 웹 메서드 특성이있는 공용 메서드에 코드를 추가합니다. 예를 들면 :

[WebMethod] public int ConvertToFarenheit (int celsius) {int f = 0 f = (celsius * 9/5) + 32 return f}

웹 서비스를 실행하면 아래 페이지가 표시됩니다.

여기에는 웹 서비스에서 노출하는 메서드와 WSDL 파일 인 서비스 설명에 대한 링크가 포함됩니다.
이제 웹 서비스를 테스트하려면 방법을 클릭하여 아래 페이지를 가져 오십시오. 매개 변수 값을 전달하고 호출을 클릭하십시오.


다음과 같은 웹 서비스의 출력이 표시됩니다.

병합 정렬 C ++ 예제

이제 애플리케이션에서 만든 웹 서비스를 사용하는 방법을 살펴 보겠습니다.
1. 프로젝트에서 참조를 마우스 오른쪽 버튼으로 클릭> 서비스 참조 추가

아래 스크린 샷에 주어진 것처럼 :
1. 서비스 설명자 또는 WSDL 파일의 URL을 주소에 제공합니다. 그리고 이동을 클릭하십시오.
우리가 만든 웹 서비스를 찾습니다.
2. 확인을 클릭합니다.

솔루션 탐색기에서 참조 아래에 서비스 참조 디렉터리가 생성되는 것을 볼 수 있습니다. 웹 서비스 사용과 관련된 모든 파일이 포함 된 폴더를 포함합니다.

여기서 ServiceReference1은 우리가 만든 웹 서비스입니다.
ServiceReference1> Reference.svcmap> reference.cs에는 웹 서비스에 정의 된 메서드를 호출 할 수있는 프록시 클래스 (WebService1SoapClient)가 생성됩니다.

응용 프로그램에서 사용하려면 :
1. 프록시 클래스의 개체를 만듭니다.
2. 프록시 클래스의 개체를 통해 웹 서비스에서 사용 가능한 메서드를 호출합니다.

System.Collections.Generic 사용 System.Linq 사용 System.Web 사용 System.Web.UI 사용 System.Web.UI.WebControls 사용 ServiceConsumeApp1.ServiceReference1 사용 ServiceConsumeApp1.ServiceReference1 네임 스페이스 ServiceConsumeApp1 {public partial class WebForm1 : System.Web. UI.Page {protected void btnConvertRates_Click (object sender, EventArgs e) {WebService1SoapClient fn1 = new WebService1SoapClient () TextBox2.Text = fn1.ConvertToFarenheit (Convert.ToInt32 (TextBox1.Text)). ToString ()}}}

응용 프로그램을 실행하면 결과를 표시하기 위해 웹 양식에 적절한 컨트롤을 배치 한 후 출력이 다음과 같이 표시됩니다.

그래서 이것이 우리가 .NET에서 웹 서비스를 만들고 소비하는 방법입니다.

위에서 언급 한 단계에 따라 .NET에서 많은 웹 서비스를 만들 수 있습니다. 이러한 웹 서비스는 모든 언어로 구축 된 모든 애플리케이션에서 액세스 할 수 있습니다. 따라서 웹 서비스는 서로 다른 응용 프로그램 간의 통신 문제를 해결하고 실제 거래를 증명합니다.

질문이 있으십니까? 의견란에 언급 해 주시면 연락 드리겠습니다.

관련 게시물: