웹 응용 프로그램 팁 (1) 웹 서비스를 호출하는 방법 ?
표면적으로 웹 서비스는 웹을 통해 호출할 수 있는 API 를 공개하는 응용 프로그램입니다. 즉, 웹을 통해 프로그래밍 방식으로 이 응용 프로그램을 호출할 수 있습니다. 웹 서비스에 대한 보다 정확한 설명: 웹 서비스는 상호 운용 가능한 분산 애플리케이션을 구축하는 새로운 플랫폼입니다. Windows 프로그래머로서 COM 또는 DCOM 을 사용하여 컴포넌트 기반 분산 응용 프로그램을 구축했을 수 있습니다. COM 은 매우 좋은 구성 요소 기술이지만, 우리는 COM 이 요구 사항을 충족하지 못하는 상황을 쉽게 인용할 수 있다. 웹 서비스 플랫폼은 응용 프로그램이 웹에서 상호 운용되는 방식을 정의하는 표준 집합입니다. 원하는 언어로 원하는 모든 플랫폼에서 웹 서비스를 작성할 수 있습니다. 웹 서비스 표준을 통해 이러한 서비스를 조회하고 액세스할 수 있는 한 가능합니다. 웹 서비스가 어떤 도구나 언어로 작성되었든 간에 SOAP 프로토콜을 사용하여 HTTP 를 통해 호출하기만 하면 전체 구조가 일관됩니다. 일반적으로 VB 6 이나 VB 와 같이 가장 좋아하는 언어로 웹 서비스를 구축합니다. NET) 을 누른 다음 비누 도구 키트 또는 를 통해 그물. 따라서 모든 언어 및 플랫폼의 고객은 WSDL 문서를 읽어 이 웹 서비스를 호출할 수 있습니다. 클라이언트는 WSDL 설명 문서를 기반으로 SOAP 요청 메시지를 생성합니다. 웹 서비스는 모두 웹 서버 (예: IIS) 뒤에 배치되며 클라이언트가 생성한 SOAP 요청이 HTTP POST 요청에 포함되어 웹 서버로 전송됩니다. 웹 서버는 이러한 요청을 웹 서비스 요청 프로세서로 전달합니다. VB 6 프로그램의 경우 웹 서비스 요청 처리기는 SOAP 키트 구성 요소와 함께 작동하는 ASP 페이지 또는 ISAPI 확장입니다. VB.NET 프로그램의 경우 웹 서비스 요청 처리기는 입니다. 그물 프레임 워크. 요청 처리기의 기능은 수신된 SOAP 요청을 구문 분석하고 웹 서비스를 호출한 다음 적절한 SOAP 응답을 생성하는 것입니다. 웹 서버가 SOAP 응답을 받으면 HTTP 응답을 통해 클라이언트로 다시 전송됩니다. 2. 기본 개념 SOAP 웹 서비스 구축이 완료되면 다른 사람이 이를 호출합니다. SOAP (simple object access protocol) 는 웹 서비스를 호출하는 표준 RPC (remote procedure call) 메서드를 제공합니다. SOAP 사양은 SOAP 메시지의 형식과 HTTP 프로토콜을 통해 SOAP 를 사용하는 방법을 정의합니다. SOAP 는 XML 과 XSD 를 기반으로 하며 XML 은 SOAP 의 데이터 인코딩 방식입니다. 클라이언트와 서버 간의 메소드 호출 요청 및 결과 반환 값은 이러한 메시지에 배치됩니다. XML 및 XSD extensible markup language (XML) 는 웹 서비스 플랫폼에서 데이터를 나타내는 기본 형식입니다. 쉽게 구축하고 분석할 수 있을 뿐만 아니라 XML 의 주요 장점은 플랫폼 및 공급업체와 독립적이라는 점입니다. 냉막 기술은 기술적 이점보다 더 중요합니다. XML 은 데이터 표현 문제를 해결했지만 표준 데이터 유형을 정의하지 않았습니다. 이 데이터 유형을 확장하는 방법은 말할 것도 없습니다. 예를 들어 정수는 무엇을 의미합니까? 16,32 또는 64? 이러한 세부 사항은 상호 운용성을 달성하는 데 매우 중요합니다. W3C 가 개발한 XSD (XML 스키마) 는 이 문제를 해결하기 위한 표준입니다. 표준 데이터 유형 세트를 정의하고 이 데이터 유형 세트를 확장할 수 있는 언어를 제공합니다. 웹 서비스 플랫폼은 XSD 를 데이터 유형 시스템으로 사용합니다. VB.NET 또는 C# 과 같은 언어로 웹 서비스를 구축하는 경우 웹 서비스 표준을 준수하려면 사용되는 모든 데이터 유형을 XSD 유형으로 변환해야 합니다. Wsdl (web services description language) 은 서버에서 제공하는 서비스를 설명하는 XML 형식입니다. WSDL 파일은 서버가 제공하는 서비스, 제공된 호출 메서드 및 호출 매개 변수 및 반환 값 형식과 같이 호출 시 따라야 할 형식을 설명합니다. WSDL 은 COM 프로그래밍의 IDL (인터페이스 설명 언어) 과 매우 유사하며 서버와 클라이언트 간의 계약이며 양 당사자는 계약에 따라 기능을 엄격하게 구현해야 합니다. WSML (웹 서비스 메타언어) 은 WSDL 에서 제공하는 메소드와 해당 메소드를 구현하는 COM 객체 간의 매핑을 설명하는 데 사용됩니다. 이 파일은 Microsoft 구현에 고유하며 SOAP 표준의 일부가 아닙니다. 일반적으로 파일은 서버에만 존재합니다. 3.3 기술적 특징. 웹 서비스: 방화벽을 통한 통신 응용 프로그램에 수천 명의 사용자가 있고 전 세계에 분산되어 있는 경우 클라이언트와 서버 간의 통신은 까다로운 문제가 될 수 있습니다. 클라이언트와 서버 사이에는 보통 방화벽이나 프록시 서버가 있기 때문이다. 이 경우 DCOM 을 사용하는 것은 그리 간단하지 않으며, 일반적으로 클라이언트 프로그램을 이렇게 많은 사용자에게 배포하는 것은 쉽지 않습니다. 전통적인 방법은 브라우저를 클라이언트로 선택하고 많은 수의 ASP 페이지를 작성하여 응용 프로그램의 중간 계층을 최종 사용자에게 노출시키는 것입니다. 따라서 프로그램을 개발하고 유지하기가 어렵다. 예를 들어 응용 프로그램에 새 페이지를 추가하려면 먼저 사용자 인터페이스 (웹 페이지) 를 설정해야 합니다. 이 페이지 뒤에는 하나 이상의 ASP 페이지를 설정하고, 사용자가 입력한 정보를 받아들이고, 중간 계층 구성 요소를 호출하고, 결과를 HTML 로 포맷한 다음, 마지막으로 결과 페이지를 브라우저에 다시 보내야 합니다. 클라이언트 코드가 더 이상 HTML 양식에 의존하지 않으면 클라이언트 프로그래밍이 훨씬 쉬워집니다. 중간 계층 구성 요소가 웹 서비스로 대체되면 사용자 인터페이스에서 직접 중간 계층 구성 요소를 호출할 수 있으므로 ASP 페이지를 만드는 단계를 생략할 수 있습니다. 웹 서비스를 호출하려면 Microsoft SOAP toolkit 또는 과 같은 soap 클라이언트를 직접 사용할 수 있습니다. NET 은 자체 개발한 SOAP 클라이언트를 사용하여 응용 프로그램에 연결할 수도 있습니다. 개발 주기를 단축할 뿐만 아니라 코드 복잡성을 줄이고 애플리케이션 서비스 기능을 향상시킵니다. 또한 중간 계층 구성 요소를 호출할 때마다 응용 프로그램에서 더 이상 해당 결과 페이지로 이동할 필요가 없습니다. 경험상 사용자 인터페이스와 중간 계층이 상호 작용하는 응용 프로그램에서 웹 서비스를 사용하면 사용자 인터페이스 프로그래밍 개발 시간을 20% 절약할 수 있습니다. 또한 이러한 웹 서비스로 구성된 중간 계층은 애플리케이션 통합 또는 기타 경우에 재사용할 수 있습니다. 마지막으로 응용 프로그램의 논리와 데이터는 웹 서비스를 통해 "공개" 되므로 고객은 다른 플랫폼에서 해당 응용 프로그램을 재사용할 수 있습니다. 항목 2: 어플리케이션 통합 엔터프라이즈 애플리케이션 개발자들은 기업들이 다양한 언어로 작성된 다양한 플랫폼에서 실행되는 프로그램을 통합하는 경우가 많다는 것을 잘 알고 있으며, 이러한 통합은 많은 개발력을 소모할 수 있습니다. (윌리엄 셰익스피어, 「깨어링」, 「킹」, 「킹」, 「킹」, 「킹」, 「킹」) 애플리케이션은 IBM 호스트에서 실행되는 프로그램에서 데이터를 가져와야 하는 경우가 많습니다. 또는 호스트 또는 유닉스 응용 프로그램으로 데이터를 보냅니다. 동일한 플랫폼에서도 서로 다른 소프트웨어 공급업체가 생산하는 다양한 소프트웨어를 통합해야 하는 경우가 많습니다. 웹 서비스를 통해 응용 프로그램은 다른 응용 프로그램에서 사용할 수 있도록 기능 및 데이터를 표준 방식으로 "공개" 할 수 있습니다. 예를 들어 고객 정보, 배송 주소, 수량, 가격, 결제 방법 등 고객의 신규 주문을 등록하는 주문 등록 프로그램이 있습니다. 실제 물품 인도를 관리하는 주문 실행 프로그램도 있습니다. 이 두 프로그램은 서로 다른 소프트웨어 공급업체에서 온 것이다. 새 주문이 들어오면 주문 로그인 프로그램은 주문 실행 프로그램에 화물을 발송한다고 통지해야 한다. 주문 실행 프로그램은 주문 실행 프로그램에 웹 서비스 계층을 추가하여 주문 추가 기능을 "노출" 할 수 있습니다. 이렇게 하면 새 주문이 도착할 때마다 주문 로그인 프로그램이 이 함수를 호출하여 화물을 보낼 수 있습니다. 웹 서비스는 성공적인 B2B 통합의 열쇠입니다. 웹 서비스를 통해 기업은 지정된 공급업체와 고객에게 주요 비즈니스 어플리케이션을 "공개" 할 수 있습니다. 예를 들어, 전자 주문 시스템, 전자 송장 시스템이 노출되면 고객은 주문을 전자적으로 전송할 수 있고, 공급자는 원자재 구매 송장을 전자적으로 보낼 수 있습니다. 물론 이것은 새로운 개념이 아닙니다. EDI (electronic document interchange) 는 이미 이렇게 되었습니다. 그러나 웹 서비스의 구현은 EDI 보다 훨씬 간단합니다. 또한 웹 서비스는 인터넷에서 실행되므로 전 세계 어디에서나 쉽게 구현할 수 있으므로 운영 비용이 상대적으로 저렴합니다. 그러나 웹 서비스는 EDI 와 같은 문서 교환 또는 B2B 통합을 위한 완벽한 솔루션이 아닙니다. 웹 서비스는 B2B 통합의 핵심 부분일 뿐 통합을 위해서는 다른 많은 부분이 필요합니다. 네 번째 항목: 소프트웨어 및 데이터 재사용 소프트웨어 재사용은 매우 큰 주제이며, 형태가 다양하고 정도가 다르다. 가장 기본적인 형식은 소스 코드 모듈 또는 클래스 레벨 재사용이고, 다른 형식은 이진 형태의 구성 요소 재사용입니다. 현재 양식 컨트롤이나 사용자 인터페이스 컨트롤과 같은 재사용 가능한 소프트웨어 구성 요소는 시장에서 큰 비중을 차지하고 있습니다. 그러나 이러한 소프트웨어의 재사용에는 재사용이 코드로만 제한되며 데이터를 재사용할 수 없다는 큰 한계가 있습니다. 구성 요소 또는 소스 코드를 게시하는 것은 쉽지만 자주 변경되지 않는 정적 데이터가 아닌 한 데이터를 게시하는 것은 쉽지 않기 때문입니다. 웹 서비스는 코드 뒤의 데이터를 재사용할 수 있으며 코드를 재사용할 수 있습니다. 웹 서비스를 사용하면 응용 프로그램에서 소프트웨어 구성 요소를 호출하기 전에 더 이상 타사에서 소프트웨어 구성 요소를 구입하고 설치할 필요가 없습니다. 원격 웹 서비스를 직접 호출하면 됩니다. 예를 들어, 사용자가 응용 프로그램에 입력한 주소를 확인하고 해당 웹 서비스에 주소를 직접 전송하면 웹 서비스가 거리 주소, 도시, 도, 우편 번호 등의 정보를 확인하여 해당 우편 번호 영역에 주소가 있는지 확인할 수 있습니다. 네트워크 서비스 공급업체는 이 서비스를 정시 또는 사용 횟수에 따라 청구할 수 있습니다. 이러한 서비스는 구성 요소를 통해 재사용 할 수 없습니다. 이 경우 거리 주소, 시, 도, 우편 번호 등의 정보가 포함된 데이터베이스를 다운로드하여 설치해야 하며 실시간으로 업데이트할 수 없습니다. 소프트웨어 재사용의 또 다른 경우는 여러 어플리케이션을 통합하는 기능입니다. 예를 들어, LAN 에 포털 애플리케이션을 구축하면 사용자는 FedEx 소포 조회 및 주식 시장 조회, 일정 관리, 온라인 영화 티켓 구매 등을 수행할 수 있습니다. 현재 웹에는 많은 응용 프로그램 공급업체가 있으며, 모두 자신의 응용 프로그램에서 이러한 기능을 실현하고 있습니다. 웹 서비스를 통해 이러한 모든 기능을 "공개" 하면 이러한 모든 기능을 포털에 쉽게 통합하여 사용자에게 통일되고 친숙한 인터페이스를 제공할 수 있습니다. 앞으로 많은 응용 프로그램이 웹 서비스를 사용하여 현재 구성 요소 기반 응용 프로그램 구조를 구성 요소/웹 서비스의 혼합 구조로 확장할 예정입니다. 타사 웹 서비스에서 제공하는 기능을 자체 응용 프로그램에서 사용하거나 웹 서비스를 통해 다른 사람에게 자체 응용 프로그램 기능을 제공할 수 있습니다. 두 경우 모두 코드와 코드 뒤에 있는 데이터를 재사용할 수 있습니다.