KR20050046790A - 웹 서비스를 위한 동적 정보 처리 상호 운용 약정 - Google Patents

웹 서비스를 위한 동적 정보 처리 상호 운용 약정 Download PDF

Info

Publication number
KR20050046790A
KR20050046790A KR1020057004613A KR20057004613A KR20050046790A KR 20050046790 A KR20050046790 A KR 20050046790A KR 1020057004613 A KR1020057004613 A KR 1020057004613A KR 20057004613 A KR20057004613 A KR 20057004613A KR 20050046790 A KR20050046790 A KR 20050046790A
Authority
KR
South Korea
Prior art keywords
services
data structure
documents
messages
connectors
Prior art date
Application number
KR1020057004613A
Other languages
English (en)
Inventor
자야람 라쟌 카시
랴스미 머르튀
시몬 스주-윤 창
토드 크리스토퍼 클라우스
헬런 에스. 유엔
Original Assignee
제이지알 어퀴지션 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 제이지알 어퀴지션 인코퍼레이티드 filed Critical 제이지알 어퀴지션 인코퍼레이티드
Publication of KR20050046790A publication Critical patent/KR20050046790A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 상호 운용을 지원하는 장치에 의해 판독가능한 데이터 구조 및 데이터 구조의 동적 계산에 관한 것이다. 더욱 상세하게는, 상호 운용 및 데이터 구조의 동적 생성을 강화하는 데이터 구조의 특징에 관한 것이다. 본 발명의 특정한 양상은 청구범위, 상세한 설명, 그리고 도면에 기술된다.

Description

웹 서비스를 위한 동적 정보 처리 상호 운용 약정{DYNAMIC INTEROPERABILITY CONTRACT FOR WEB SERVICES}
본 발명은 정보 상호운용을 지원하기 위한 장치에 의해 판독가능한 데이터 구조들 및 데이터 구조의 동적 계산에 관한 것이다. 더욱 상세하게, 상호 운용을 향상시키는 데이터 구조 및 및 데이터 구조들의 동적 생성의 특징들에 관한 것이다. 본 발명의 특정한 양상은 청구범위, 명세서, 그리고 도면에 기술된다.
기업간(B2B:Business-to-business) 및 애플리케이션간(A2A:application-to-application) 전자 상거래는 기존의 프로토콜들을 전자 자료 교환(EDI:electronic data interchange)으로 전환하고 있다. 기업들의 B2B 및 A2A 시스템들로 그들의 효율성을 향상시키기 위해 고전하고 있으며, 다수의 호환되지 않는 플랫폼들과 다수의 경쟁적인 표준들을 출현시켰다. 호환가능한 표준들 사이에서, 차이점들이 메워지고 있다. 예들 들어, 산업은 간소한 웹 서비스가 어떠한 것이라고 정의해 왔다. 간소한 웹 서비스에 관련된 표준들은 UDDI, WSDL, XSDL, 그리고 SOAP를 포함한다. 그러나 이러한 표준들은 실용적인 B2B 그리고 A2A 전자 상거래를 위한 보안성, 신뢰성, 쉬운 조작성, 그리고 구성 요구들을 충분히 만족시키지 못한다. 특히 보안은 많은 옵션과 구성 이슈들을 제시한다. 공동 개발 웹 서비스 및 그들의 보안 요구는 논-웹 비지니스(non-web business)가 그랬던 것처럼 발전되도록 기대된다. 웹 서비스가 발전 것처럼 보안 옵션 및 구성들을 동적으로 해결하고 업데이트하는 어떤 광범위한 또는 단일화된 장치 또는 방법이 존재하는 것이 아니다.
B2B 및 A2A 전자 상거래에 적용가능한 표준들을 확대하려는 많은 산업 주도가 있다. 구성 노력들은 OASIS의 ebXML/BPSS, IBM의 WSFL, 그리고 Microsoft의 XLANG을 포함한다. 대화 노력들은 OASIS의 ebXML/TRP 그리고 Microsoft의 WS-routing들을 포함한다. 주도적인 ebXML에 관한 추가적인 정보는 http://www.ebxml.org/specs/index.html# 백서에서 이용가능하고, ebXML Trading-Partners Team(2001년 5월 10일)에 의한 논문 "공동-프로토콜 프로파일 및 협정 상세 버전 1.0"에서 찾을 수 있다. 또한, 상호 작용 및 서비스 약정 집행 로직의 명백한 규칙을 위한 일부 정보는 US.Pat.No.6,148,290에서 찾을 수 있다. 주요한 보안 노력의 성과는 IBM및 Microsoft의 WS-security가 존재하며, 또한 SAML로 불리는 OASIS에 보완적인 보안 노력성과가 존재한다. 신뢰성을 위해서는, Microsoft의 제안들, OASIS의 ebXML/TRP, 그리고 IBM의 HTTPR이 존재한다. W3C가 이러한 영역의 모두에서 표준화를 제기하고 있다. 기간 산업 플레이어(key industry player)들이 WSI로 불리는 경쟁적인 컨소시엄을 만들었다. 그러나 그들은 상기 동적 보안 협상 이슈를 제기하지 못하고 있다.
ebXML CPP 그리고 CPA에서, 상호 운용하는 파티(party)는 그들의 서비스들을 위해 단독 레지스트리내에 그들의 상호 운용 규칙들에 대한 CPP로 불리는 프로파일을 정의한다. CPA로 불리는 디폴트 상호 운용 협약을 감소시키도록 2개의 프로파일들이 교차될 수 있다. 대안적으로 상기 두 파티들은 소위 CPA 사이의 일련의 특정한 상호 운영 규칙들에 동의한다. ebXML CPP 그리고 CPA의 문제점들은: 그들은 파티들을 송신 및 수신하는 것이 동일 레지스트리에 존재한다고 가정한다. 상호 운용 규칙들은 상호 운용의 많은 특징들을 커버하는데 불충분하다. 사용시, 그들은 CPA의 서명된 복사물(두 파티들에 의해 서명된)이 레지스트리내에 보존된다고 가정한다. 이는 그것을 유지 및 수정하는데 번거롭게 만든다. 그것은 상호 운용 협약을 동적으로 계산하는 것과 불일치한다. 따라서, 캐싱을 갖는 동적 계산을 서비스들이 다른 서비스들을 호출하는 실행시간에 어드레싱 하지않고, 선 다운로딩 및 지역 설치에 관한 대화가 CPA에 대한 변화 관리를 어렵고 비 자동적으로 만든다.
따라서, 거래 당사자들을 위한 상호 운용 협약을 동적으로 결정하는 방법들 및 장치들을 개발할 수 있는 기회가 발생한다.
도 1은 기계가 판독 가능하고, 동적 교섭 상호 운영 약정들이 유용한 하나의 환경인 커뮤니티 및 커뮤니티의 네트워크를 나타냄
도 2는 다른 전송/동봉 프로토콜들 및 기술들을 지원하도록 동일한 커넥터들을 오버레이(overlay)하는 다중 허브 및 스포크(spoke) 조직들을 나타냄
도 3은 송신자가 보안, 변환, 그리고 다른 협정들의 계산에 대해 로컬일 때 수신자의 정보를 획득하기 위한 대안적인 실시예를 나타냄
본 발명은 상호 운용을 지원하는 장치에 의해 판독가능한 데이터 구조 및 데이터 구조의 동적 계산에 관한 것이다. 더욱 상세하게는, 상호 운용 및 데이터 구조의 동적 생성을 강화하는 데이터 구조의 특징에 관한 것이다. 본 발명의 특정한 양상은 청구범위, 상세한 설명, 그리고 도면에 기술된다.
하기의 설명은 도면들을 참조하여 이루어진다. 바람직한 실시예는 본 발명을 설명하기 위해 기술되며, 청구항에 의하여 정의되는 본 발명의 범위를 제한하는 것이 아니다. 당업자는 하기의 설명 상에 다양한 동등한 변화들을 이해할 것이다.
도 1은 커뮤니티 및 커뮤니티의 네트워크들을 나타내고, 이는 기계가 판독 가능하고, 동적 교섭 상호 운영 약정들이 유용한 하나의 환경인 커뮤니티 및 커뮤니티의 네트워크이다. 이러한 커뮤니티들 사이에서, 커뮤니티는 커뮤니티의 일부인 사용자, 회사, 서비스 그리고 커넥터를 포함하는 로컬 레지스트리를 유지한다. 상기 커뮤니티는 시장, 기업 또는 하위 기업일 수 있다. 커뮤니티들은 하나 이상의 네트워크에 속할 수 있다. 일반적으로, 커뮤니티들 및 네트워크들은 어떤 공통적인 비지니스 관심사들을 갖는다. 상호 운용은 하나 이상의 커뮤니티 네트워크 내에 멤버 커뮤니티들 사이에서 존재한다. 상기 네트워크는 골드 시장 네트워크(1), 값비싼 금속 시장 네트워크(2), 사유 네트워크(3) 그리고 광역 상업 웹 네트워크(4)를 포함한다. 이 예에서, 상기 골드 시장 네트워크(1) 및 상기 값비싼 금속 시장 네트워크(2)는 광역 상업 웹 네트워크(4)에 포함된다. 상기 값비싼 금속 시장 네트워크(20)는 골드 및 실버 시장(14,13)을 포함한다. 골드 시장 고객은 상기 실버 시장(13)에서 실버를 교환할 수 있고, 그리고 실버 시장 고객은 골드(14)에서 교환할 수 있다. 하나의 커뮤니티인 PQR 기업(17)은 상기 골드 시장 네트워크(1), 사유 네트워크(3), 그리고 상기 광역 상업 웹 네트워크(4)에 속하고; 또 다른 커뮤니티인 ABC 도매 공급자(18)는 사유 네트워크(3)에 속한다. 이 예에서, XYZ 골드(14)는 골드 교환을 위한 시장 또는 커뮤니티이다. 기업들은 이 커뮤니티에 속한다. 그들 스스로 커뮤니티를 형성하는 PQR 기업(17)과 같은 기업들은 상기 골드 시장 네트워크(1)에 속한다. 이러한 커뮤니티들은 골드 시장 네트워크(1) 및 광역 사업 웹 네트워크(4)의 일부이다. 소매 공급자(15)는 골드 시장 커뮤니티의 일부이다. 다른 기업들(16)은 골드 시장 커뮤니티 네트워크(1)의 일부이다. XYZ 골드(14)와 다른 골드 시장 엔티티(entity)들(15-17)사이의 커넥터들은 상기 골드 시장이 골드 교환 처리를 하는 기업들(커뮤니티 또는 다른 것) 사이의 모든 트래픽, 예를 들어, 청구서 발송 및 비지니스 지식 정보를 수집이 XYZ 골드(14)를 통하는 경로가 지정되도록 요구한다는 것을 지시한다. PQR 기업(17)은 골드 시장의 일부인 커뮤니티이고, 또한, 공급자(18)를 갖는 로컬 사유 네트워크이다. 소매 공급자(15)는 스스로 커뮤니티를 형성하길 원하지 않는 그리고 대신 그것의 메타데이터(metadata)에 등록하는 골드 시장의 등록 내의 사용자, 조직, 서비스들, 그리고 변환들과 같은 개별적인 소매 공급자일 수 있다. 반면에, ABC 도매 공급자(18)는 그 자신의 사유 네트워크를 형성하는데, 예를 들어 ABC 도매 공급자는 일반 공중 액세스로부터 숨겨지도록 그것의 메타데이터, 내부 백 오피스 시스템(back office system), 그리고 변환을 유지하길 원하기 때문이다. 왜냐하면, 그들은 상당한 비용으로 개발되기 때문이다. PRQ(17)은 ABC의 고객이므로, 그것은 사유 네트워크(3)에 참가한다. 금용 서비스 제공자 DEF 금융(12)은 금융 서비스를 광역 상업 웹 루트(12) 내의 누구에게라도 공급하길 원하며, 그 때문에 그 자신의 커뮤니티를 형성하고, 광역 상업 웹 루트(11)에 등록한다. 커뮤니티의 네트워크는 커뮤니티들의 광역 레지스트리를 이용가능하게 한다. 상기 광역 레지스트리는 커뮤니티의 검색 및 그 커뮤니티 또는 외부 커넥터로의 하나 이상의 경로 결정을 허락하며, 커뮤니티를 위하여 연결된 전자 상거래 문서들이 외부 커넥터를 통하도록 루트가 정해질 수 있다. 하나의 커뮤니티로부터 다른 커뮤니티들로 루트가 정해진 문서들은 2 개의 커뮤니티들을 위한 외부 커넥터들 사이에서 직접적으로 루트가 정해질 수 있거나 또는 하나 이상의 중개 커뮤니티들을 통하여 간접적으로 루트가 정해질 수 있다. 또한, 커뮤니티에 관계된 처리를 위한 비지니스 그리고 보안 규칙들은 정의될 수 있고 커뮤니티 레지스트리내에 유지될 수 있다. 일반적으로 도 1은 전자 상거래 플랫폼들 사이의 상호 운용성을 위한 자극을 생성하는 엔티티 및 커뮤니티들의 혼합된 충실도를 예시한다.
커넥터는 다른 어플리케이션들과 통신하는 어플리케이션을 위한 일반적인 용어이다. 커넥터들은 피어 투 피어(P2P) 기반 또는 허브, 게이트웨이, 외부 포트, 중앙 커넥터 등등으로 기능 하는 다른 커넥터들을 통한 직접 기반 상에서 통신한다. P2P 통신하는 커넥터들은 동일한 전송/동봉 프로토콜들을 사용하는 다른 커넥터들과 통신할 수 있다. P2P 통신하는 커넥터들은 선택적으로 번역 서비스들을 수행하는 다른 허브 커넥터들의 도움을 참여시킬 수 있는데, 이는 동일한 전송/동봉 프로토콜을 사용하지 않는 커넥터들과 통신을 시도할 때이다. 직접 기반 상에서 통신하는 커넥터들은 라우팅 규칙을 따라 허브 커넥터들을 통하여 통신한다. 케넥터들 사이에서 라우팅 규칙들은 직접 그래프 내에서 맵(map)되고, 하나 이상의 허브 그리고 하나 이상의 전송/동봉 프로토콜을 위한 스포크 토플로지(spoke topology)을 지원한다. 허브 및 스포크 토플로지는 하나 이상의 타이어(tire)들 내에서 스포크들을 따라 허브와 통신을 연결한다. 이는 요금청구, 비지니스 정보 수집, 트래킹(tracking), 감시, 어카운팅(accounting), 등등과 같은 집중된 서비스를 가능하게 한다. 다중 허브 및 스포크 조직은 동일한 커넥터들을 오버레이하여, 도 2에서 제시된 바와 같이 다른 전송/동봉 프로토콜, 그리고 기술들을 지원한다. 예를 들어, 견고한 허브 및 스포크 조직은 전송 기술로서 HTTP 또는 HTTPS를 사용하는 대신에 Sonic을 사용하도록 요구할 수 있다. 선택적으로, 통신 라우트들은 소스와 목적지가 동일 커뮤니티의 부분인지 여부에 의존할 수 있다. 하위 커뮤니티(전체 커뮤니티를 포함할 수도 있음) 내에서, 집중된 기능들이 요구되지 않을 수 있고, 다른 하위 커뮤니티들 내의 목적지들과 통신할 때 다른 방법으로 상위 커넥터들과 통신하도록 연결되는 커넥터들 사이에서 P2P 통신들이 허용될 수 있다.
커넥터들은 단순한 커넥터들(때로는 일반적인 커넥터로 불림), 허브들(때로는 게이트웨이 또는 라우터로 불림), 또는 중앙 커넥터들로 명명될 수 있다. 대안적으로 이것들은 기능적으로 설명될 수 있다. 단순한 커넥터들이 동일 하위 커뮤니티 내에서 커넥터들 사이에서 P2P 통신을 하도록 허용되는 경우를 제외하고는 단순한 커넥터들은 허브 커넥터들을 통하여 통신하도록 연결될 수 있다. 소위 허브들은 명백히 그들과 연결되거나 링크되는 커넥터들에 의해 사용된다. 허브들은 소스로부터 목적지로의 경로 내에서 하나의 기능 이상으로 사용될 수 있거나, 또는 한번 이f상 나타날 수 있다. 허브들은 전자 상거래 문서 또는 메시지들을 전송한다. 또한, 허브들은 일반 동봉 프로토콜을 지원하는 전송 프로토콜 사이 간에 변환을 할 수 있다. 예를 들어, 허브는 동봉 프로토콜을 변환하고, 또한 수신 보다 전송 상의 다른 전송 프로토콜들을 실행할 수 있다. 중앙 커넥터들은 허브들의 특별한 케이스로서, 명백히 허브들과 연결 또는 링크되지 않는 커넥터들에 의해 사용될 수 있다. 중앙 커넥터들은 변환 기능을 수행하기에 유용한데, 예들 들면 라우팅 규칙들을 따라 소스로부터 커넥터들을 횡단하는 것은 목적지에서 사용되는 상기 전송/동봉 프로토콜을 지원하는 어떤 허브로도 연결하지 못할 경우이다.
본 발명의 특징들은 연합 레지스트리들, 상호 운용 약정 데이터 구조의 요소들, 상호 운용 약정의 동적 교섭들을 기술한다. 레지스트리의 범위는 커뮤니티이다. 커뮤니티는 대규모 분산 환경 내에의 시장, 또는 하위 기업일 수 있다. 상호 운용하는 파티들은 다른 커뮤니티들일 수 있다. 예를 들어, 하나는 공급자 커뮤니티 내에 있을 수 있고, 또 다른 하나는 구매자 커뮤니티에 존재할 수 있다. 결국, 프로파일들 및 협정들을 저장하기 위한 연합 환경이 사용되어야 한다. 상호 운용을 위해서, 본 발명은 ebXML을 넘어서, 전자 상거래 상호 운용에 대한 다른 편리한 접근을 제공한다. 상호 운용 약정은 하기의 조합들을 포함하도록 확장될 수 있다: 서비스들 사이의 메시지 전송을 따르는 경로와, 정해진 라우팅 규칙을 따르는 경로. 예를 들어, 규칙은 모든 메시지들이 특정 라우터들에 의해 웹 서비스로부터/로 향하도록 지시한다. 상기 경로는 SOAP 와 EDI 동봉 프로토콜과 같은 그런 동봉 전송을 위한 게이트웨이를 통하여 자동으로 라우팅 되는 것을 포함한다. 메시지 상에 다중 파티들이 존재함에 따라, 메시지 부분마다 별도(message part-by-message part)인 기반에 의한 서명, 인증, 그리고 암호화 정책이 명기되며, 거기서 정책은 알고리즘, 기술(예를 들어, XML 암호화, SIMME, PKCS#7) 그리고 요소들(예를 들어, XML 문서 내의 XML 요소)를 포함한다. 상기 변환 규칙은 부분마다 별도(part-by-part)인 기반 상에서 메시지 파티들에 포함된 문서들을 위해 명시된다. 예를 들어, 버전 상호 운용을 위한 변환이 허용되는 경우, 그리고 본래의 것이 첨부되는 경우이다. 특정한 변환 로직이 또한 식별될 수 있다. 사용되는 메시지 교환 구성 버전은 식별된다. 예를 들어, 서비스는 구성의 다중 버전을 지원할 수 있고, 서비스들은 송신자 및 수신자가 지원하는 올바른 버전을 인지하는 것으로부터 이득을 얻는다. 메시지들을 보관해야 하는지 여부, 신뢰할만한 전송이 사용되는지 여부, 그리고 수신응답이 부인 방지(non-repudation) 수신을 요구하는지 여부 등과 같이 특정한 메시지 전송정책들이 세트 된다. 브리지 될 필요가 있는 송신 그리고 수신된 메시지들 상의 차이점은 동봉 수정 또는 동봉 변환에 의해 설명된다. 예를 들면, 다른 동봉 확장의 사용, 메시지 부분 순서상의 차이점, 다른 동봉 프로토콜과 같은 것이다. 커넥터들의 특성과 일치하는 다양한 상호 운용 기능들을 사용하는 경로 내의 커넥터들은 레지스트리에 등록된다. 당업자는 본 발명의 상기 및 하기의 특징들이 많은 유용한 하위 파티들에서 조합될 수 있다는 것을 인식할 수 있다; 본 발명은 본 발명의 모든 양상들을 포함하는 상호 운용 약정들을 제한하는 것을 의도하지 않는다.
상호 운용 약정은 일반적으로 송신자 및 수신자 서비스의 정책들 및 인터페이스를 교차함으로써 유도된다. 그러나 송신자와 수신자 사이의 충돌들을 해결토록 사용되는 결정 규칙들을 오버라이드(override)는 지시가 가능하다. 예를 들어, 결정 규칙들은 송신자 획득, 수신자 획득, 매우 엄격한 규칙들 획득 여부를 결정할 수 있다. 상호 운용 약정이 신뢰 된 커뮤니티 루트 파티(root party)와 같은 신뢰 된 서비스들에 의해 계산되고 그리고 서명되는 것처럼 이는 서비스 수정을 지원하는데 유용하다. 상기 상호 운용 약정은 서비스가 호출되고 그리고 메시지 송신 사이트에서 캐시 되는 경우 동적으로 계산될 수 있다.
서비스 호출이 하나의 커뮤니티에서 존재하고 그리고 호출된 서비스가 다른 커뮤니티에 존재하는 경우, 약정 계산은 커뮤니티 레지스트리로부터 로컬 서비스들 사이까지의 송신 지역 및 수신 지역 정보를 얻는 분산 로직에 의해 수행된다. 우선하는 승인이 존재하지 않는 경우에, 특정한 오버라이드(override)들 수신 지역 상에서 정의되고, 그리고 송신 지역은 노트되고, 그리고 승인을 위한 보완적인 지역에 카피된다. 약정 생성 시간에, 분산 기반에서 계산된 상호 운용 약정 결과는 동일하게 종료되며, 교차 커뮤니티 온라인 교섭 프로세스는 오버라이드를 기술하도록 사용될 수 있다. 많은 복잡성이 서비스 쓰기 프로그램으로부터 숨겨지고, 상호 운용 약정은 레지스트리로부터 자동적으로 유도된다. 이는 서비스 개발을 상당히 간소화한다.
상호 운용 약정은 로컬 장치에 약정들을 설치함으로써 주요 동기화 문제들을 회피하도록 동적으로 계산되어야 한다. 이는 캐쉬가 동적 계산을 보완할 수 있는 것처럼 각 메시지들에 대한 재계산을 필수적으로 요구하지 않는다. 상기 캐쉬는 레지스트리내에서 변화를 무효화하는 지시들에 의해 일관성을 유지할 수 있다. 캐쉬 키퍼(cash keeper)는 특정 요구된 지시를 기록한다. 상기 상호 운용 약정은 송신자 서비스 커넥트(또는 어떠한 방식으로 그것을 조작할지를 아는 그것에 대한 프록시)로부터 웹 서비스 시작 상에서 동적으로 계산될 수 있다. 상기 약정은 계산된 후 메시제에 첨부될 수 있고, 따라서 통신 서비스들 사이의 중간 커텍터들은 메시지 교환에서 그들의 역활을 인식할 수 있다. 예를 들어, 상기 약정은 어느 커넥터가 버전 변환, 서명, 암호화 등등을 수행해야 하는지를 명시할 수 있다.
본 발명의 다른 양상은 상호 운용의 다양한 중요성을 넘어서까지 확장된다. 트루 엔드 투 엔드(true end-to-end) 메시지 상호 운용을 위해, 제기될 상호 운용의 많은 중요성이 있다. 상호 운용의 특정한 일 중요성을 제기하는 것은 웹 기반 서비스를 사용하는 전자 상거래를 진전시킨다. 상호 운용 이슈들의 결합을 제기하는 것은 중요한 진전을 만들어 낼 수 있다. 하기에 따르는 설명에서, 상호 운용의 12개의 중요성 이상 그리고, 본 발명의 범위 안의 해결책들이 제시된다.
1. 전송 프로토콜 상호 운용
상호 운용의 일 중요성은 전송 레벨 상호운용이다. 관련 어플리케이션에서 충분히 기술될 본 발명의 양상에 따라, 허용되고 지원되는 전송들은 동봉 프로토콜 사용에 관련된다. 대조적으로, ebXML에서 허용된 전송은 HTTP(S)이다. MML을 위해, 허용된 전송은 Sonic이다. Biztalk를 위해 허용된 전송은 HTTP(S)이다. 본 발명의 일 실시예에서, 허용된 전송은 HTTP(S) 및 Sonic 이다.
Sonic과 함께, 신뢰성은 전송 계층으로 푸시다운(push down) 된다. 상기 sonic 신뢰성 프로토콜은 매우 좋은 알고리즘이다. 만약 표준화된 경우 장시간 HTTP(S)R이 HTTP(S) 계층에 신뢰성을 제공할 수 있다. ebXML 및 Biztalk에서 현재 사용되는 해결책은 동봉 프로토콜 HTTP(S) 의존형 접근방식을 갖는 신뢰성이다. SOAP는 확장 없이는 동봉 계층에서 신뢰성을 위한 어떠한 지원도 제공하지 않는다.
본 발명은 지원되는 프로토콜 사이에서 전송 프로토콜 교섭을 위한 지원을 제공한다. 일 실시예에서, 본 발명은 HTTP(S)와 Sonic사이의 선택을 포함한다. 추가적인 전송이 전자 상거래를 위해 채용됨에 따라 본 발명은 교섭에서 그러한 추가적인 옵션들을 포함할 수 있다.
2. 동봉 프로토콜 상호 운용
본 발명의 일 실시예에서, 지원되는 동봉 프로토콜은 MML, CI SOAP, email, 그리고 외부 SOAP이며, 이는 C1 어드레스, 대화 및 메시지 정보, 적하 목록(manifest), SAML 그리고 첨부를 갖는 SOAP와 같은 선택적 확장의 결합을 허여한다. 순수 SOAP, SOAP WA, 표준 WSDL 그리고 발견될 수 있는 UDDI와 동시에 부과되는 서비스들은 산업에서 간소한 웹 서비스들로 불린다. 그러나 간소한 웹 서비스들(제3자 개발 환경 및 제3자 실행 환경에서 개발된)인 종단점들과의 상호 운용하는 동안에 C1 SOAP은 고유의 웹 서비스에 신뢰성, 보안, 그리고 2-방향성 구성 내의 참여를 지원한다. J2EE CA 또는 EJBs에 부과된 백 오피스 시스템(back office system)들은 제 3자에 의해 간호한 웹 서비스로 감싸질 수 있다. 본 실시예는 그것들과 상호 운용이 가능하며, 이메일 프로토콜 외부 SOAP를 지원할 수 있다.
지원되는 프로토콜 정의는 전송, 신뢰성, 그리고 보안 프토토콜들을 허여한다. 또한, 그들은 서비스와 파티들이 제기한 관련 메시지들을 함께 묶는 프로토콜 및 데이터 연동 방식들을 정의한다. 메시지 라우팅 및 디스패칭(dispatch)은 정의된 어드레스에 기반한다.
동봉 프로토콜 결정 및 변환은 상기 상호 운용 약정에 의해 지원될 수 있다. 이는 상호 운용 약정이 일반적인 ebXML CPA 약정을 넘어 큰 효과가 있는 방법들 중 하나이다. 또한, 상기 상호 운용 약정은 하기의 경로에 대한 정보를 포함할 수 있있는데, 경로는 수행될 변환 그리고 수행되는 위치, 서명화 또는 암호화되는 것, 그리고 어디서 수행되는지 그리고 사용될 알고리즘이 무엇인지, 구성의 이름 및 버전, 그리고 송신/수신 TP/서비스/서비스 버전/운영 등을 포함한다. 상기 상호 운영 약정은 서비스들 사이의 경로를 따라 중간 커넥터를 구동하도록 사용될 수 있다. 참여하는 서비스들 사이의 세그먼트 경로는 소위 "인텔리젼드 상호 운용 가능 네트워크"이며, 이는 종단 점이 본 특허의 양수인에 의해 개발된 소프트웨어를 사용하지 않으면서도 표준을 엄격하게 준수하는 경우에 값을 더한다.
동봉 프로토콜 사이의 상호 운용은 게이트웨이를 통하여 이루어진다. 같은 프로토콜의 다른 버전들은 다른 프로토콜들로 취급된다. 라우터는 상호 운용을 위해 게이트웨이의 적절한 설정을 통해 메시지를 투명하게 라우트 하는 방법을 인식한다. 목적지 커넥터 내의 상기 발송자는 인바운드 메시지를 적절한 요소로 전달한다. 또한, 이 발송은 타겟 어드레스 그리고 다른 동봉 필드(field)에 의해 주도된 규칙들에 근거한다.
동봉 프로토콜 상호 운용의 일 다양성은 사용될 수 있는 베이스 라인 및 다중 옵션들을 구비한 프로토콜을 갖는 위치이다. 일 예로 첨부를 갖는 SOAP와, 외부 SOAP, 라우팅, 보안, SAML 기타 선택적인 것들이 있다. 송신자가 옵션의 일 세트를 지정하고 수신자가 다른 세트를 지정하는 경우, 상호 운영이 가능하고 그리고 그러한 방식이 가능한 경우에 네트워크로의 입구 지점은 계산될 것이다. 규칙에 근거하여 자동적으로 선택적인 블록들을 추가하고 그리고 네트워크로부터의 출구 지점에서는 불필요한 블록들을 벗겨 낼 수 있다.
XML 데이터를 MIME 부분 내에서 SOAP 바디(body)로부터 문서로 전송할 때 또는 역의 경우, 동봉 상호 운용의 일 형태가 되어야 한다는 것을 고려할 수 있다. Biztalk 와 ebXML 사이 또는 SOAP와 ebXML사이에서 그러한 변환이 발생한다. 수신자가 첨부 내에 유료 부하를 부과하고 그리고 수신자는 그 바디(body)내에서(또는 역으로) 그것을 기대하는 곳에서 SOAP대 SOAP 상호 운용을 위해 그것이 일어난다.
3. 보안 프로토콜 상호 운용
동봉 프로토콜 상호 운용에 관계된 하나의 이슈는 지원되는 보안 프로토콜이 동봉 프로토콜에 의해 정의되고, 그리고 보안 프로토콜 사이에서의 전송이 거의 불가능 하다는 점이다. 예를 들어, 동봉 프로토콜 A에 의해 지원되는 XML 서명으로부터 동봉 프로토콜 B에 의해 지원되는 PKCS#7에 이르는 스위칭은 불가능하다. 만약 수신 서비스가 상호 운용을 위한 원본 서명 또는 암호화를 요구하는 경우, 게이트웨이는 에러를 송신자에게 변환해야하고, 만약 그렇지 않은 경우에는 게이트웨이가 보안 프로토콜을 변환하도록 기대된다. 보안 프로토콜 비 호환성을 극복하기 위한 일 접근 방식은 게이트웨이가 메시지 내의 서명을 검증하도록 게이트웨이를 트러스트하고 메시지를 파기하고 그리고 재 암호화하는 것이다. 트러스트 스키마(trust scheme)가 설립되고, 여기서 상기 게이트웨이의 서명은 상기 수신자에 의해 트러스트 될 수 있다.
산업에서 제안된 SOAP 확장은 WS-security(GXA의 부분)이다. 본 발명의 실시예는 WS-security(C1 SOAP를 위한 WS-security 포함)를 지원할 수 있다. 이 경우, 그런 보안 확장들은 선택적이며 그리고 외래 웹 서비스가 WS-security를 채택하지 않은 경우, 그것은 상호 운용 네트워크 권한 내의 입구 지점에 자신의 원조(입구 지점은 사용자 키에 대한 액세스를 가짐)로 메시지들은 서명하고 암호화하도록 위임한다.
먼저, 인증이 되기 전에는 상호 운용 네트워크로 어떠한 메시지도 받아들여지지(호출된 서비스가 특별히 상관없다고 하지 않는 한) 않는다.
보안 프로토콜 상호 운용의 일 양상으로 송신자와 수신자가 다른 보안 정책들 및 특징을 명시하는 경우이다. 상호 운영이 가능하고 그리고 그런 방식이 가능한 경우 상호 운용 체계는 계산되어야 한다.
4. 다른 서비스 타입들 사이의 상호 운용
일반적으로, 다른 식으로 노트 되지 않는 경우라면, 서비스들은 공동 제작 레스트리내에 등록된다. 본 설명의 문맥에서, 공동 제작 웹 서비스가 적어도 다른 공동 제작 웹 서비스와 일 인터페이스로 연결되어 상호 작용할 것이라고 예상된다.
소위 간소하고, 고성능 그리고 공동제작 웹 서비스가 존재한다. 또한, 고유의 그리고 외래의 웹 서비스들이 존재한다. 마지막으로 등록된 그리고 등록되지 않은 서비스들이 존재한다. 간소한 웹 서비스는 서명화, 암호화, 신뢰할만한 메세징을 사용하지 않고, 그리고 중앙 트러스트 부분으로부터 인증을 요구하지 않는다. 그것은 2-방향성 구성을 지원하지도 않는다. 다른 말로 하면, 간소한 웹 서비스의 각 호출은 간소한 웹 서비스의 이전 모든 호출과 무관하고, 그리고 간소한 웹 서비스 내에 존재하는 구성 문맥이 존재하지 않으며, 그리고 문맥 내에 반환 어드레스의 정보가 존재하지 않고 따라서 그것은 잠시 후에 응답할 수 있다. 고성능 웹 서비스는 더 나은 신뢰도 및 보완을 포함할 수 있다. 공동 제작 웹 서비스는 간소 또는 고성능이고 그리고 2-방향 구성을 추가로 지원한다. 일반적으로, 본 출원서(외래 웹 서비스)의 양수인에 의해 준비된 것과 다른 웹 서비스가 간소한 웹 서비스이다.
본 출원서 및 통합된 출원서를 통해 기술된 바와 같이, 본 발명의 양상들은 다양한 방식으로 전자 상거래를 위한 방법으로 확장될 수 있다. 고성능 웹 서비스 및 공동제작 웹 서비스가 그렇듯이 혁신적인 웹 서비스들은 공동 제작 레지스트리내에 등록될 수 있다. 요소들이 하나씩 추가되는 고유의 간소한 그리고 공동제작 웹 서비스들 사이의 연속체를 위해 지원이 제공된다. 고성능 웹 서비스는 레지스트리내에 그것이 지원하는 요소가 무엇인지를 명시한다. 혁신적인 고유의 간소한 웹 서비스(UDDI로부터 또는 Commerce One의 공동제작 레지스트리로부터)의 WSSDL 정의를 다운로드 받는 것이 가능하고, 이는 네트워크 내의 입구 지점 URL인 서비스 포트를 식별한다. 입구 지정을 통해 전송되는 메시지들은 거리로부터 그들의 논리적 목적지로 자동적으로 라우트된다. 본 발명에 따라 라우트된 메시지들은 모든 홉마다 무엇이 발생했는지를 제어하는 상호 운용 약정에 의해 제어되거나 포함한다. 고유의 웹 서비스는 고유의 또는 외래의 간소한 웹 서비스를 호출할 수 있다.
외래의 간소한 웹 서비스들은 혁신적인 네트워크에 의해 지원될 수 있다. 만약 상기 외래의 웹 서비스가 혁신적인 어드레싱 및 메시지 식별 그리고 상호 관계 SOAP 확장을 식별하는 경우, 그것은 공동제작 웹 서비스처럼 2방향 구성에도 참여한다. 외래 웹 서비스들은 혁식적인 SOAP 확장의 조합도 사용할 수 있다. 그들은 커뮤니티 레지스트리에 액세스를 요구하지 않고 또한 상호 운용 약정을 인식하도록 요구하지도 않는다. 본 발명은 외래 웹 서비스를 작성하는 소프트웨어를 제공하도록 확장될 수 있으며, 제 3자 소프트웨어가 사용된다. 외래의 웹 서비스는 우리의 네트워크를 통한 어떤 고유의 웹 서비스 또는 어떤 다른 외래의 웹 서비스에 의해 호출될 수 있다. 외래의 웹 서비스들은 외부 SOAP 또는 email을 사용할 수 있다. email의 경우에, email 브라우저를 사용하는 휴먼 유저는 웹 서비스를 "실행" 할 수 있고 간소하고 공동 제작 고유의 또는 외래의 웹 서비스들 모두와 함께 상호 운용될 수 있다. 외래 웹 서비스의 WSDL 정의는 공동제작 레지스트리 또는 UDDI로부터 다운로드 받을 수 있다. 외래 웹 서비스는 네트워크 입구 지점에서 URL을 호출함으로써 혁식적인 네트워크 내의 웹 서비스를 호출한다. 공동 제작 외래 웹 서비스는 고유의 공동제작 웹 서비스에 의해 호출의 부분으로서 SOAP 확장 내에 우리 네트워크 입구 지점의 URL을 지원하고 따라서 그것이 상기 SOAP 확장을 인식할 경우 그것은 잠시 후 동적으로 응답할 수 있다.
5. 네트워크 및 위치 독립 상호 운용
목적지 서비스 요소들의 위치는 중요한 문제가 아니여야 하고 그리고 서비스가 등록된 시장 또는 기업 커뮤니티도 중요한 문제가 아니어야 한다. 라우팅 알고리즘은 주소 투명도 및 시장 또는 기업 커뮤니티 투명도를 투명하게 처리해야 한다. 위치 투명도 및 보완 방법을 따르는 라우팅은 보안을 손상시키지 않고 적절한 기업 및 시장 방화벽들을 통해 자동 터널링을 지원해야 한다.
6. 플랫폼 독립 상호 운용
플랫폼은 하드웨어/소프트웨어가 작동되는 운영체제 그리고 개발 그리고 비지니스 서비스가 실행되는 서버의 실행 환경 등을 포함한다. 또한, 소프트웨어가 실행되는 서버 기술(J2EE 어플리케이션 서버, 웹 서버, servelet runner)들을 포함한다. 독립 하드웨어 부분은 100% 순수히 Java를 사용함으로써 달성될 수 있다. 개발/실행 환경으로부터의 독립은 외래 커넥터 및 서버들을 갖는 엄격한 표준 기반 와이어 레벨(wire level) 상호 운용을 지원함으로써 달성될 수 있다. 상기 서버 기술 독립은 구성요소들을 내장형으로 만들고 J2EE 표준에 따름으로써 달성될 수 있다.
컴포넌트를 제공하는 벤더가 플랫폼으로부터 독립적인 경우, 고객은 그들의 바람직한 선호 벤더 및 그들의 바람직한 선호 고객 지역 툴과 근접한 그들의 바람직한 개발/실행 환경을 사용하는 서비스를 개발할 수 있다. 그러한 서비스들은 지능형 네트워크에 의해 부가된 상호 운용 값을 갖는 벤더 개발 서비스들과 함께 여전히 상호 운용될 수 있고, 그리고 모든 서비스들은 프로세스 플로우 엔진(process flow engine)을 사용하는 구성 능력을 구비한 더욱 복잡한 서비스들로 작성될 수 있다.
경량 전상거래 웹 서비스 서버들은 메시지 상호 운용 컴포넌트에 우선적으로 근거하여 배치될 수 있다. 경량 서버는 공급자 연결, 게이트웨이 라이터(gateway writer) 그리고 ISV 마켓에 대해 타겟 된다. 공동 제작 웹 서비스 서버의 더 완벽한 실시예는 경량 편집의 수퍼셋(superset)이다. 상기 경량 편집은 문서 관련 개발에 대한 기초 개발 툴이나, 서비스 개발에 대해 우선적으로 제 3자 툴에게 영향을 미친다. UI에 대한 정교하고 충분한 개발 환경 및 문서 기반 프로세스 중심의 자가-포함 또는 작성된 서비스들이 공동 제작 웹 서비스 서버 실시예에 포함될 수 있다.
7. 백 오피스 시스템(Back Office system) 상호 운용
외래의 커넥터들과의 상호 운용 일 실시예는 백 오피스 시스템과의 상호 운용이다. 본 발명의 양상들은 백 오피스 시스템을 드러내도록 하여 메시징 레벨로부터 그리고 발견 레벨로부터 다수 서비스의 외관처럼 보이게 한다. 툴킷들은 백 오피스 시스템 운영자가 간소한 웹 서비스처럼 그들의 인터페이스를 드러내도록 허용하거나 또는 그들 고객 아답터들을 웹 서비스들처럼 감춘다. 고객 통합 중개인들은 혁신적인 메세징 시스템을 구비한 수립된 EAI 기술들을 통합하게 할 것이고, 또는 웹 서비스 인터페이스를 직접 구축할 수 있도록 할 것이다. 또 다른 실시예인 백 오피스 시스템과의 통합은 email 지원이다. email 서버는 백 오피스 시스템과 혁식적인 네트워크를 통합하도록 하는데 사용될 수 있다.
웹 서비스들처럼 드러내어진 백 오피스 시스템은 XML에 근거하지 않는 전문화된 변환 스키마를 포함할 수 있다. 이에 대한 예들은 DB와 XML 사이 또는 XML과 플랫 파일(flat file)들, 또는 J2EE CA 1.0 기록 구조들과 XML사이의 변환이다. 모든 이것은 다운스트림 웹 서비스들로부터 숨겨지고 그리고 다운스트림 웹 서비스 개발자들에게 투명하다.
8. 서비스 발견 및 크로스 커뮤니티 상호 운용
미래에, 거래 당사자들이 더욱 동적으로 될 것이라는 것은 있을만한 일이다. 발견 메커니즘은 비지니스 관계를 설립하기 전에 비지니스를 함께할 거래 당사자를 찾도록 하는데 유용하다. 서비스들 및 서비스들을 제공하는 거래 당사자의 발견은 UDDI 표준을 통해 수행된다. UDDI 가 지원하는 더욱 강력한 툴은 혁신적인 레지스트리 웹 서비스를 호출하는 것이다. 본 발명에 관련된 발명들은 데이터를 커뮤니티 또는 일련의 커뮤니티들로 업로드하기위한 지원을 엘로우 페이지(yellow page)로 사용되는 공개 UDDI 레지스트리 또는 개인 UDDI레지스트리에게 제공할 것이다. 커뮤니티의 네트워크를 가로지르는 발견이 가능하다.
커뮤니티들을 가로지르는 발견을 위해, 각 커뮤니티는 전역 화이트 페이지 커뮤니티 또는 그것과 관련된 전역 옐로우 페이지 레지스트리의 목록을 가질 수 있다. 전역 화이트 페이지 커뮤니티들은 일련의 선전된 커뮤니티들로의 라우팅 요청에 대한 특정 전송 어드레스를 포함한다. 전역 옐로우 페이지 레지스트리들은 거래 당사자 및 알리어스(aliases) 및 카테고리를 따르는 일련의 선전된 커뮤니티들의 서비스를 포함한다. 카테고리에 의해 검색이 수행된다. 상호 운용이 2 방향성이기 때문에 2개의 커뮤니티들은 일반 전역 화이트 페이지 커뮤니티에 기록할 수 있고 또한, 그들의 커뮤니티 레지스트리들안에 서로에 대한 라우팅 정보를 갖는다. 만약 그들이 일반 옐로우 페이지 레지스트리에 기록하는 경우 2개의 커뮤니티는 개별적인 대상을 발견할 수 있다. 일반적으로 옐로우 페이지 레지스트리는 화이트 페이지 커뮤니티안에서 호스트 된다.
프로그래밍 레지스트리 액세스 인터페이스들은 발견뿐만 아니라 규칙 그리고 권한, 그리고 사용자 그리고 조직 그리고 그들의 관계를 포함하는 거래 당사자 정보를 지원한다. 또한, WSDL 파일들, 서비스 인터페이스, 변환 코드 그리고 스키마 파일들을 포함하는 상호 운용에 대한 기술적 정보를 얻도록 하는 지원이 있다.
9. 레지스트리 버전 상호 운용
레지스트리 서비스들은 다른 웹 서비스처럼 구성되고, 모든 서비스의 상호 운용 지원으로부터 이익을 얻는다.
10. 문서 시맨틱(semantic) 상호 운용
하부구조는 유료부하의 시맨틱에 대해 주시하지 않는다. 그러나 문서 시맨틱 상호 운용은 엔드-투-엔트(end-to-end) 상호 운용을 누리도록 서비스가 다른 문서를 사용하는 것을 허여하는 것이다. 송신자 및 상호 운용을 용이하게 하도록 수신자는 문서 집단 멤버 그리고 멤버들 사이의 변환 같은 문서 시맨틱에 동의해야만 한다. 백 오피스 시스템과의 상호 운용을 위해서, 문서 표준은 Idocs 그리고 OAGI를 포함할 수 있다.
11. 문서 버전 상호 운용
서비스 내에서의 수신 동작의 인터페이스는 문서의 하나 이상의 버전들을 위한 지원을 정의할 수 있다. 혁신적인 버전 상호 운용 시스템은 송신 문서와 수신되도록 기대되는 문서들 사이를 변환하고 최대-수신이 완료된 버전을 골라냄으로써 손실을 줄이도록 시도한다. 상기 변환은 메시지가 송신자 측에서 서명화 및 암호화되기 전에 발생한다.
상기 레지스트리는 문서 집단 내에 주요 및 비 주요 버전을 지원한다. 주요 버전은 다른 스키마 언어들에 순응할 수 있다. 비 주요 버전들은 선택적인 파티들을 기본 버전에 추가하도록 기대된다.
12. 스키마(schema) 언어 상호 운용
유료 부하 XML 문서들에 대한 스키마 언어는 동봉 프로토콜에 의해 정의된다. 스키마 언어들의 예로서 SOX 및 XSDL이 있다. 이는 XML 문서들의 스키마를 기술하는 언어이다. 하나의 언어 내에서 스키마에 대한 XML 예와 다른 언어 내에서 동등한 스키마에 대한 XML 예는 다르다. 따라서, 스키마 언어 인스턴스(instance) 변환은 게이트웨이 내에서 변환에 의해 지원되어야만 한다.
게이트웨이는 소위 구문론 변환을 수행하며, 거기서 유료 부하의 구조 및 시맨틱(semantic)이 변화되는 게 아니고 구문 및 패키이징(packing)이 변화된다. 호환되는 구조는 정확히 동등한 XML 마크업 그리고 역으로 변환된다.
13. 상호 운용 단계의 위치 및 순서 의존성
본 설명으로부터, 당업자는 상호 운용 약정이 상호 운용 단계들을 동의된 위치에서 수행하고 동의된 순서로 실행된다는 점을 보증하는 한 방법이라는 점을 인식할 것이다. 송신자로부터 수신자로의 메시지는 다른 커넥터들이 상호 운용을 위해 다양한 단계를 수행하는 곳인 일련의 커넥터들을 통하여 전달된다. 스키마 언어 예 변환, 버전 변환, 동봉 변환, 서명화 그리고 암호화의 위치와 명령 사이의 상호 작용이 존재한다. 하부구조는 적절히 변환을 지시한다.
14. 서비스 버전 상호 운용
웹 서비스들은 그들이 외부에 어떻게 보이는지를 그들의 레지스트리 설명 용어 내에 정의하고 그리고 그들에 대한 메시지를 주소 지정한다. 서비스가 업그레이드되고 서비스 버전이 시간이 지나면서 변화되도록 하는 것은 자연스러운 것이다. 서비스의 새로운 버전은 작동을 추가했거나, 또는 기존의 메시지 내에 선택적인 부분을 추가 또는 삭제했을 수 있다. 또한, 지원된 구성의 세트 그리고 메시지 내의 위치 부분을 변화시켰을 수 있다. 기술된 구성 상호 운용은 송신자가 그들이 새로운 작동을 호출해야하는지 여부를 알 수 있도록 한다. 게다가, 서비스들의 버전 숫자는 송신자 수신장게 잘 알려져서, 그들이 적절히 응답할 수 있도록 한다.
상기 하부구조는 선택 파티들의 세트가 다른 경우 또는 몸체 부분이 첨부되었거나 그 반대의 경우에 상호 운용을 처리한다.
15. 구성 상호 운용
구성을 지원하는 적어도 2 실시예가 있다. 일 실시예는 프로세스 플로우(process flow)를 정의하고 그리고 모든 참여자들이 이 프로세스를 통하여 그들의 메시지를 수행시킨다. 다른 실시예는 참여자들 스스로 종단 점 서비스 내에서 구성 상세의 지식을 갖는 종단 점 서비스들 사이의 직접 메세징을 지원한다. 프로세서 플로우 엔진 프로세스는 메시지들을 다른 서비스들과 함께 송신 및 수신하고 따라서 서비스 그 자체로 나타나게끔 할 수 있다. 본 추상적 개념은 매우 유용한 것이다.
프로세스 플로우 엔진 프로세스는 서비스로서 반듯이 나타나야한다. 프로세스와 상호작동하길 원하는 어플리케이션들은 이 서비스로 메시지를 송신하고 이 서비스로부터 메시지를 수신한다. 추상적 개념 때문에, 프로세스 플로우 엔진 프로세스는 일련의 서비스들을 플로우내로 묶는, 그리고 대규모의 서비스로 나타내도록 프로세서 정의를 사용함으로써 대규모 서비스를 작성하도록 사용될 수 있다. 더욱이, 프로세서 플로우 엔진 프로세서 엔진은 모든 혁신적인 서비스에서 이용가능하도록 될 수 있고, 따라서 다중 프로세스 엔진을 연결하는 분산 프로세스가 생성될 수 있다. 이는 상기 분산 프로세스 내의 각 하위 프로세스가 서비스처럼 나타나고 그리고 다른 하위 프로세스를 호출하는 하위 프로세스는 다른 프로세스를 호출하는 프로세스처럼 취급되기 때문에 가능하다. 다양한 하위 프로세스들은 메시지들과 상호 작용하고 그리고 상기 메시지들은 각 하위 프로세스 내에서 이용가능한 프로세스 플루오 문맥을 전송하여 상기 하위 프로세스들을 더욱 단단히 통합되게 한다.
서비스들 사이의 2-방향 구성 내의 고려 사항은 서비스들 중 하나가 구성 또는 통신 ID 확장을 직접적으로 지원하지 않는 경우에 송신 TP/수신/동작을 인식하는 능력이다. 통신 ID를 갖는 관련 메시지들을 서로 관련짓는 방법은 유용하다. 간소한 웹 서비스와 가상 통신을 설정하는 것이 가능하며, 이는 통신을 형성하는 관련 메시지들을 서로 관련짓도록 하기 위해서 유료 부하 데이터를 사용하는 구성을 지원하지 않는다. 프로세스 플로우 엔진은 상관성을 수행하는 로직 및 리소스를 포함한다. 주소지정 확장이 없는(일반적으로 백 오피스 시스템에서는 사실임) 외래 커넥터로부터의 메시지들에 대해 상기 메시지는 메시지들을 전송하기 전에 목적지 어드레스를 유추하도록 유료부하, 레지스트리 또는 로컬 데이터베이스를 주목하는 고정된 서비스로 전송된다. 이 특징은 논리적 라우팅으로 불리며, 그리고 프로세서 플로우 엔진은 유료부하 내에 시험하기 위한 필드들의 구성된 사양에 근거하여 이를 용이하게 하며, 통신 ID는 이로부터 유추될 수 있다.
16. 구성 변화 상호 운용
구성은 참여자 모두에 의해 제공된 일련의 서비스 타입을 묶는다. 모든 구성 변화들이 제 1의 메시지 집단 실재적으로 동일한 집단을 형성한다.. 거기에는 상호 운용하는 2개의 서비스들과 집단이 설정에 의해 명령될 수 있는 구성들 사이에서 지원되는 오직 하나의 집단이 존재해야한다. 그러나 서비스는 다른 서비스들의 조합을 포함하는 구성들의 다중 집단을 지원할 수 있다.
구성 교섭의 일 실시예에서, 구성 내의 제 1 메시지는 송신되어, 시스템에 의해 포착된 구성 변화가 송신자 및 수신자에게 알려진다. 이러한 것들의 사이의 구성은 따라서 변하지 않을 수 있다. 그들은 이어서 그들의 프로세싱을 기꺼이 조정한다. 새로운 서비스가 통신에 추가되는 경우, 송신 서비스는 다극 구성 내의 다른 서비스들에 의해 지원되는 구성 변화들 사이의 브리지(bridge)로서 행동하는 것 들 중에서 선택할 수 있고 또는 선택된 구성의 사용을 강제 선택할 수 있다. 구성 교섭은 통합되고 흔하게 소유된 어플리케이션들 중 하나에 더 기술된다.
17. 상호 운용의 복잡성 숨김
본 발명의 특징에 따르면, 복잡한 문제점들이 은밀하게 처리됨에 따라 상호 작용하는 서비스들은 상호 운용에 대해 조금도 또는 전혀 알기를 요구하지 않는다. 상호 운용을 수행하는 새로운 모듈들이 구성될 수 있다. 이러한 모듈들은 레지스트리 메타데이터에 의해 구동되는 상호 운용에 관련된 복잡성 문제들을 처리한다. API 추상 개념이 동봉 구조를 완벽하게 숨기도록 그리고 동봉 사양 필드 시맨틱 및 구문을 가능한 한 거의 숨기도록 제공된다. 모든 보안 정책들이 상호 운용 약정 안에 포함될 수 있고, 어플리케이션들을 실행하기 위한 서비스 개발자의 노력을 간소화할 수 있다.
18. 상호 운용 제한 메카니즘
진실한 상호 운용에 대한 장애는 보안이다. 모델은 하부구조가 송신자를 인증하고 서비스가 상기 레지스트리에 의해 포착된 메타데이터에 근거하여 그것에 권한을 부여하는 것이다. 상기 장애들은 비지니스 규칙들, 서명 그리고 숨겨진 서비스들을 포함한다. 비지니스 규칙들은 때로 커뮤니티들을 넘어서 또는 커뮤니티 안에서 상호운용을 제한해야만 한다. 서명들이 제공자 서비스 정책에 의해 지시되는 것처럼 상호 운용의 전에 요구될 수 있다. 커뮤니티 외곽에서 보이지 않는 또는 단지 특정 파티들에만 보이도록 서비스들 숨기는 것은 유용하다.
도 2는 제작자 서비스와 고객 서비스들 사이의 동적 교섭 상호운용 약정의 유용성을 도시한다. 상기 도의 주요한 특징은 레지스트리(201), 상호 운용 약정을 동적으로 결정하는 로직을 포함하는 웹 서비스 엔진(202), 내부 프로세스 플로우(204)에 대해 구성된 인터페이스를 드러내는 제작자 서비스(203), 그리고 고객 서비스(205)를 포함한다. 상기 도의 문자는 본 예가 명령 수락을 생성하는 명령 수신 시스템을 포함한다는 것을 나타낸다. 상기 제작자 및 고객 서비스는 구성, 서비스 버전, 문서, 보안 인증, 보안 암호화, 보안 서명화, 동봉 프로토콜 그리고 전송(213,215)에 대한 그들 자신의 특징 및 정책을 갖는다. 동적 교섭 상호 운용 약정은 웹 서비스를 구축 또는 유지하는데 요구되는 양 방식 구성의 확장을 감소시킨다. 그것은 참여자들에 의해 결정된 정책들 사이의 차이점들을 해결하도록 명확한 규칙들을 제공한다. 참여한 서비스들이 발전함에 따라, 동적 교섭 상호 운용 약정 역시 발전한다.
상호 운용 약정의 동적 교섭은 법적 약정 교섭에 거의 접근하는 전통적인 접근들로부터 현저한 이탈을 제시한다. 동적 교섭은 그것의 이용가능성, 특징, 그리고 정책들의 제작자 서비스 서비스의 기재로부터 시작한다. 고객 서비스는 UDDI와 같은 발견 프로토콜을 사용하는 제작자 서비스를 쉽사리 발견할 수 있다. 제작자 및 고객은 그들의 특성 및 정책들의 사양서를 판독가능한 장치를 갖는다. 제작자 및 고객에 의해 인식된 하나 이상의 스키마들은 개별적인 부분 특성 및 정책들이 어떠한 식으로 해석되는지를 정의하고 찾아진 교차점을 정의한다. 교섭이 다른 상호 운용 용어들을 해결하도록 권하는 대신, 시스템이 충돌-대안적인 옵션들에 대한 설정들 사이의 충돌 그리고 서명화 그리고 동적 교섭 상호 운용 약정들에 따라 교환되는 메시지들의 특정 부분들의 암호와 같은 보안 측정방법을 적용할지 여부에 관한 충돌-되는 2 타입을 해결하는 방법에 관한 결정 규칙을 제공한다. 설정에 대한 결정 규칙들은 수신자 성공, 송신자 성공, 가장 엄격한 요구사항 성공, 가장 덜 엄격한 요구사항 성공과 같은 표준 규칙들이 표준일 수 있고 또한 파티들의 선택사항 모두에 대한 가중된 고려 사항이 적용된다. 무효화를 포함하는 이러한 결정 규칙들은 본 출원과 함께 출원되고 본 출원에 참조로 편입된 웹 서비스들 사이의 보안 협정 동적 교섭 특허 출원에 더욱 상세히 기술되어 있다. 어떤 예들에서는, 고객들이 제작자와 상호 작용할 수 있기 전에 제작자가 서명을 요구할 수도 있다. 이는 신용 및 인증 체크 그리고 비슷한 것을 용이하게 한다. 교차점 및 결정 규칙들의 체제는 특별히 서명이 제작자에 의해 수락되는 경우에 신뢰 된 소프트웨어 에이젼트(agent)가 상호 운용 협정을 동적으로 교섭할 수 있도록 한다. 상호 운용 약정을 동적으로 교섭하도록 인증된 신뢰 있는 소프트웨어 에이젼트의 사용은 그것이 영향을 받기 전에 제작자와 고객 모두에 의해 암호적으로 서명화된 가장 일반적인 CPA 스타일의 상호 운용 협정으로부터 현저히 이탈한 것이다. (본 설명이 독자의 이해를 돕기위해 제작자와 고객의 서비스들의 관점에서 기술되었으나, 그것은 제작자, 고객, 중간자 또는 다른 것들로서의 그들의 역활과 상관없이 2 이상의 서비스들에서 동등하기 적용된다.)
일련의 스키마들과 샘플 상호 운용 약정은 본 발명의 양상에 관하여 추가적인 세부사항을 제공한다.
소스 코드 부록 내의 스키마 Interoperability.XSD가 본 발명의 수많은 양상들을 포함하는 상호 운용 약정을 모델 하도록 사용될 수 있다. 본 실시예에서, 장치가 판독가능한 출력 파일은 XML 문서이다. 다른 실시예에서는, 다른 데이터 구조들이, 예를 들어 XML 코드에 이어 모델 된 트리(tree) 구조가 동일한 정보를 저장하도록 사용된다. 상기 스키마 Interoperability.XSD는 상기 파일은 XML Spy TM같은 통합 개발 환경(IDE) 내로 로드됨으로써 가장 잘 이해되며, 이는 문서 세대 뷰(view)를 포함하는 스키마의 수많은 뷰를 제공한다. Spy의 스키마 다지인 뷰내에서 관찰되는 Interoperability.XSD 컴포넌트는 일반 약정 섹션, 라우팅 약정 섹션, 변환 약정 섹션, 보안 약정 섹션, 그리고 약정 서명을 포함한다. 상기 4가지 섹션들 각각은 참조에 의해 다른 스키마들을 통합하며, 이는 하기에 기술된다. 일반적인 상호 운용과는 다른 약정 서명이 약정을 교섭하는데 신뢰 된 소프트웨어 에이젼트에 의해 적용된다. 약정에 대한 파티들의 다른 서명들은 요구되지 않는다. 소스 코드 내에 추가로 기록된 약정 서명의 파티들은 SignedInfoType, SignaureValue, KeyInfo 그리고 ObjectType를 포함한다.
또한, 소스 코드 부록 내의 스키마 GeneralContract.XSD는 본 발명의 다수의 양상을 포함하는 상호 운용 약정의 일반 섹션을 모델 하는데 사용될 수 있다. GeneralContract.XSD 컴포넌트는 정보로부터 그리고 정보로의 ErrorHandling 그리고 DeliveryReceiptHandling을 포함한다. 상기 컴포넌트는 선택적으로 RequiredMessageParts 그리고 OptionalMessageParts를 포함하고, 그리고 연결자 특징을 송신 및 수신한다. 상기 "정보로부터 그리고 정보로의"는 파티/서비스/ 수반된 활동에 관계된 것이다. 에러 핸들링(error-handling) 컴포넌트는 특성을 기술하고, 그리고 선택적으로 어디서 에러 메시지가 송신되었는지를 식별한다. ErrorHandling같은 DeliveryReceiptHandling은 메시지에 대한 선택적 어드레스를 가진 특성 파라미터이다. Delivery receipt(전달 수신)들은 부인 방지(non-repudation)를 실행하도록 사용된다. 요구된 메시지들 및 선택적인 부분들이 명명된다. 서비스 버져닝(versioning) 및 문서 집단 버져닝내의 필수적이고 선택적인 부분들의 역활은 상기 통합 어플리케이션에 더욱 상세히 기술된다. 송신 및 수신 커넥터 특징들은 커넥터의 속성 그리고 속성(서명화 또는 암호화할 수 있는 것과 같은) 들의 값들을 열거한다. 상기 특징들은 비 공동제작 요청들 또는 일방식 메시지를 위해서는 특징들이 드러내지 않기 때문에 선택적이다.
또한, 소스 코드 부록에 있는 스키마 RoutingContract.XSD는 본 발명의 다수 양상들을 포함하는 상호 운용 약정의 라우팅 섹션을 모델 하기 위해 사용될 수 있다. Spy의 스키마 디자인 뷰에서 관찰되는 RoutingContact.XSD 컴포넌트들은 경로를 명시한다. 경로는 송신자 및 수신자를 포합하는 상기 경로 내에 2 이상의 RouteNode들을 포함한다. 노드(node)들에 대한 입구 및 출구 채널들은 노드로 도달 또는 빠져나오는데 사용되는 상기 전송 및 동봉 프로토콜에 의해 정의된다. 본 정보의 대칭성은 출구 및 입구 채널이 역 경로를 위해 반대 역활도 할 수 있게 한다. 이 스키마는 소스코드에 기록된다. 라우팅은 통합 어플리케이션 내에서 상세히 기술된다.
동시에 접수된 출원중 하나에서 제기된 보안 협정 교섭은 상호 동의할만한 보안 협정을 결정하도록 송신 및 수신 서비스의 보안 프로파일(profile)들을 사용하는 컴퓨터 기반 프로세스에 의해 수행된다. 바람직하게는, 본 보안 협정은 사용자 중재 없이 교섭되고 또는 잠재적으로 규칙성 있게 업데이트된다. 본 협정은 교섭, 업데이트, 또는 사용자 요청의 타당성을 위해 체크되는데, 이는 사용자 중재 없이 메시지들이 교환될 때마다 또는 어떤 다른 주기 동안 또는 달마다, 주마다, 매일 마다와 같이 이전에 교섭된 협정이 실패했을 때 특정한 송신자와 수신자(예를 들어, 소프트웨어 컴포넌트 실패 또는 보안 선택의 변화) 사이의 메시지 교환에 영향을 미치는 이벤트의 발생에 근거하는 임시적인 원칙 또는 어떤 다른 주기 또는 임시적인 원칙에 따라 행해진다. 소스 코드 부록 내의 스키마 SecurityContract.XSD는 장치가 판독가능한 보안 상호 운용 약정 문서를 준비하기 위한 모델로서 사용될 수 있다. 본 실시예에서, 장치가 판독가능한 문서는 XML 문서이다. 다른 실시예에서는, 다른 데이터 구조들이 동일 정보를 저장하는데 사용될 수 있는데, 예를 들면 XML 코드에서 모델 되는 트리 구조이다. 이 스키마는 보안 정책을 위한 정책 및 채널을 정의한다. 보안 채널은 리소스 및 리소스에 대한 경로를 정의하는데, 상기 리소스는 서명, 암호 그리고 인증 알고리즘 같은 보안 알고리즘을 실행한다. 또한, 보안 채널은 부인 방지 및 인증 리소스들을 포함한다.
일련의 계산된 보안 협정들은 부분적으로 하기처럼 재작성된다.
보안 협정들의 이 세트는 보안 정책 및 보안 채널들을 위한 2 개의 주요한 섹션들을 갖는다. 본 예에서, 보안 정책들의 부분들을 실행하기 위한 전체 메시지 및 다중 보안 채널에 대해 적용가능한 일 보안 정책이 존재한다. 보안 정책 섹션은 서명 정책, 암호 정책 그리고 암호 키 정보를 제시한다. 본 실시예에서, 동일 서명 및 암호 정책이 문서의 모든 부분들에 적용될 수 있다. 또 다른 실시예서는, 다중 알고리즘이 다른 부분들 또는 일 부분 내의 다른 요소들에 적용될 수 있다. 서명, 암호, 그리고 인증을 위해서 선택된 알고리즘은 알고리즘들의 선택을 간소화한 옵션 세트를 저장하는 템플릿(template)들을 통하여 추출된다. 선택된 알고리즘들은 로직 및 리소스들과 관계되며, 다른 서비스들 또는 프로세스들이 메시지들의 다른 부분들을 서명화/인증 그리고 암호화/암호화/해독화 하기 위해 사용될 수 있다. 공개 키 또는 인증은 보안 정책 섹션의 암호 키 요소 내로 전송될 수 있다. 보안 채널 섹션은 보안 정책을 적용하는데 관계된 서비스 또는 커넥터들을 기술한다. 특별한 정책을 위해, 상기 채널 섹션은 보안 정책(예를 들어, 암호를 요청하는 송신 서비스)을 적용하는데 도움을 필요로 하는 소스 커넥터와 보안 정책을 적용 또는 로직에 대한 매개역활을 수행하는 타겟 커넥터, 그리고 보안 정책을 적용한 리소스들을 를 식별한다. 서명, 암호, 인증, 권한, 또는 부인 방지와 같은 특별한 보안 정책을 위해서, 보안 정책을 수행하는데 요구되는 특정한 정보가 보안 채널 섹션 내에 제공된다.
도 3은 송신자가 보안, 변환 그리고 다른 협정들의 계산에 대해 로컬일 때 수신자의 정보를 얻기 위한 대안적인 실시예를 도시한다. 상기 도에서, 로컬(331), 그리고 리모트(332) 레지스트리들이 표시된다. 본 예에서, 상기 송신자는 로컬이고 수신자는 리모트이다. 상기 송신자의 데이터는 전송되어 로컬 레지스트리(331)내에 저장된다. 송신자 정보는 수집되고(321) 보안 협정을 계산하는 로직 및 리소스를 이용가능 하게 한다(331). 수신자 데이터는 전송되어 저장되는데 이에 대한 예를 들면 수신자가 송신자와 같이 동일 커뮤니티내에 존재하고 커뮤니티 전체 레지스티리가 존재하는 경우, 또는 수신자 정보가 최근에 수집되고 로컬로 캐시 되는 경우이다. 수신자 정보가 발견될 수 있는 위치(331 또는 322)에 의존하여, 프로세스(322 또는 323)가 수신자 정보를 수집하도록 그리고 보안 협정을 계산하는 로직을 이용가능하게 하도록 호출된다. 일련의 보안 협정들(301)의 결과이다.
설정의 2 가지 타입은 일치될 필요가 있을 수 있다. 커뮤니티와 특정 서비스 설정들 모두가 제시된다. 선택의 일 타입은 알고리즘 템플릿들 사이에 존재한다. 옵션 B 와 D 중 선택하기 위한 결정 규칙은 메세징 서비스들의 설정들 중 하나 또는 모두를 고려할 수 있다. 예를 들어, 서명을 위한 수신 서비스의 설정(D) 또는 암호를 위한 송신 서비스의 설정(B)이 대등한 것들의 사이로부터 선택될 수 있다. 설정 모두를 고려하는 가장 엄격한(B) 또는 가장 덜 엄격한(D) 것이 선택될 수 있다. 다른 실시예에서, 각기 서비스들은 그들의 설정에 가중을 두거나, 또는 그들의 설정을 얻을 수 있고 그리고 조합된 가중 또는 획득이 설정들 모두를 고려하도록 사용될 수 있다. 설정의 제 2 타입은 메시지 일 부분을 서명 또는 암호화할지 여부에 대한 것이다. 결정 테이블은 메시지 일 부분을 서명 또는 암호화할지 여부에 관계된 설정 조정의 타입을 실행하는데 사용될 수 있다. 또한, 결정들은 서명되지 않는 설정을 수락 또는 수신자의 설정을 수락 또는 그 반대의 경우를 수락하도록 편향될 수 있다. 가능한 결정 규칙을 실행하는데 사용되는 일부 결정 테이블은 다음과 같다.
보안 결정 규칙을 위한 이러한 형태들은 다른 우선 교섭들과 동일한 효력으로 적용된다. 변환과 같은 일부 특별한 경우에, 정보 손실의 메트릭(metric) 또는 변환 정확도가 적용될 수 있으며, 이 통합 어플리케이션에 기술된다.
소스 코드 부록 내의 스키마 TransformationContract.XSD는 본 발명의 다수의 양상을 포함하는 상호 운용 약정의 문서 변환 섹션을 모델 하는데 사용될 수 있다. Spy의 스키마 디자인 뷰(view)에서 관찰되는 TransformationContract.XSD 컴포넌트들은 응답 문서들을 변환 및 선택적으로 명시하는 하나 이상의 문서들을 명시한다. DocumentToTransformType은 소스 문서 ID 그리고 파트 네임(part name) 그리고 수신자 첨부 설정 플래그(flag)를 포함한다. 그것은 변환을 어떠한 방식으로 실행할지를 기술하는 첨부 파트 ID 및 하나 이상의 변환 맵들을 포함한다. 이 스키마 및 특별하게는 변환 맵들은 소스 코드에 더 기록된다. 문서 변환은 통합된 어플리케이션에서 더욱 충분히 설명된다.
계산된 상호 운용 약정의 부분적인 예는 소스 코드 부록내에 InteroperabilityContract.XML에 제공된다. 이 예는 일반적인 라우팅 그리고 변환 약정 섹션들을 포함한다. 보안 약정 섹션의 일 예에 대한 앞글을 보자. 상기 예는 당업자에게 자가 설명적이고 특별히 이용가능한 수반하는 스키마를 갖는다. 일부 중요한 점이 하기에 있다. 일반적인 약정 섹션은 이것을 공동 제작의 상호 작용을 지배하는 약정으로 식별한다. 메시지들은 부인 방지, 에러 핸들링 그리고 다른 사용들을 위해 기록된다. 유틸리티(utility)들이 총(또는 제한적으로 특정한) 비지니스 지식 정보를 모으는데 있어서, 이 약정에 의해 지배되는 메시지들을 고려하도록 허용된다. buyParty ConsumerOrderManagement sendOrder 활성에 대한 출발 주소가 얻어진다. 기록 DDID 숫자 또는 주소는 송신자 서비스를 추가로 식별한다. sellParty providerOrderManagement 프로세스 명령 활성에 대한 수신 어드레스가 주어진다. 상기 송신자는 특정 어드레스에 대해 C1 SOAP 1.0 동봉 프로토콜을 사용하는 비동기 에러 메시지를 수신한다. 상기 송신자는 Delivery receipt(전달 수신)을 요구하는데, 이는 수신자가 비동기 방식으로 생성할 수 있는 것이다. 상기 필요한 메시지 부분들 또는 문서들은 Order와 Image 이다. 선택적으로, someXMLPart는 포함될 수 있다. 송신 및 수신 커넥터 특성들이 부호화, 서명, 기록, 메시지 동봉, 명백한 타입들, 그리고 Delivery receipt(전달 수신) 타입들을 위해 열거된다. 간단한 일반 약정 섹션은 소스 코드 부록 내에 예 부분으로 존재한다.
일반 약정 섹션에 더하여, 라우팅 약정 섹션 및 변환 약정 섹션이 있다. 간단한 라우팅 약정 섹션은 하기와 같다.
이 샘플은 상기에 기술된 스카마의 어플리케이션을 예시한다. 비슷하게, 변환 스키마의 어플리케이션을 예시하는 상기 샘플 변환 약정은 하기와 같다.
상기 설명으로부터, 당업자에게 본 발명의 양상 및 컴포넌트로부터 시스템 및 방법의 많은 변형이 이루어질 수 있다는 것은 명백하다. 일 실시예는 장치가 판독가능한 데이터 구조로서 상호 운용 데이터를 명시하는 데이터 구조에 관한 것이다. 장치가 판독 가능한 데이터 구조가 유용한 환경은 소비 서비스와 제공 또는 제작 서비스 사이의 상호 운용을 위한 것이다. 이러한 서비스들은 네트워크를 통하여 문서들을 교환하고, 선택적으로 중간 커넥터를 이용하여 교환한다. 상기 장치가 판독가능한 데이터 구조는 특정한 2 이상의 하기 유용한 데이터 요소들: 서비스들의 명칭에 의해 명명된 서비스들과 중간 커넥터들 사이의 경로; 메시지 교환을 위해 사용되는 구성; 메시지 기록, 메시지들의 신뢰할 만한 전달을 보증, 그리고 수령 응답 요구를 위한 정책들; 특정한 메시지 부분들에 대한 요구사항을 지정하는 사양서 그리고 사용될 적어도 하나의 서명 알고리즘; 특정한 메시지 부분들을 위한 암호화 요구사항의 사양서 그리고 사용될 적어도 하나의 암호화 알고리즘; 사용될 하나 이상의 인증 절차의 사양서; 특정한 메시지 내에 포함되는 문서들에 적용되는 하나 이상의 변환 로직(logic)들의 사양서; 그리고, 문서의 변환되지 않은 사본들이 문서들의 변환된 복사본에 포함되어야 하는지 여부에 대한 사양서를 조합할 수 있다. 따르는 청구범위에서 명시된 조합들에만 한정되는 것을 의미하는 것은 아니다. 2 이상의 유용한 데이터 구조들의 변경은 하기에 서술적으로 기술된다.
본 발명의 추가적인 실시예는 장치가 판독가능한 데이터 구조에 관한 것으로서, 여기서 데이터 구조는 프로세스에 의해 준비된 현 상호 운용 데이터를 명시한다. 이 장치가 판독가능한 데이터 구조가 유용한 환경은 소비 서비스와 제공 또는 제작 서비스 사이의 상호 운용이다. 상기 서비스들은 네트워크를 통하여 문서를 교환한다. 상기 서비스는 선택적으로 중간 커넥터를 사용할 수 있다. 파티(party)들 모두에 의해 서명된 정적 상호 운용 약정과 다르게, 이 장치가 판독 가능한 데이터 구조는 서비스들 사이에의 교환 메시지를 개시하려는 요청에 응답하는 프로세스에 의해 생성된다. 서비스들을 위한 상호 운용 데이터를 교차하는 서비스들에 대한 그리고, 하나 이상의 상호 수락될 수 있는 옵션을 생성하는 교차 상호 운용 데이터에 대한 상호 운용 데이터에 액세스하는 단서들 내의 프로세싱은 하나의 옵션을 선택하도록 결정 규칙을 적용한다. 이 장치가 판독 가능한 데이터 구조는 이전 실시예에서 기술된 유용한 데이터 구조들의 특정한 변경을 포함할 수 있다. 본 출원서 전반에 걸쳐 기술된 임의의 결정 규칙들이 본 실시예의 추가적 특징으로서 사용될 수 있다.
본 발명의 다른 실시예는 하나 이상의 보안 채널을 명시하는 장치에 의해 판독가능한 데이터 구조이다. 이 장치에 의해 판독가능한 데이터 구조가 유용한 환경은 소비 서비스와 제공 또는 제작 서비스 사이의 상호 운용이다. 상기 서비스들은 네트워크를 통하여 문서들을 교환한다. 상기 서비스들은 선택적으로 중간 커넥터들을 사용할 수도 있다. 상기 보안 채널은 하나 이상의 지정된 암호 또는 인증에 적용될 수 있다. 또한, 그들은 인증 또는 부인 방지 또는 이러한 보안에 관계된 작업들의 임의 조합에 적용될 수 있다. 상기 보안 채널들은 보안 관련 요청을 개시하는 커넥터 그리고 보안 관련 요청에 응답하는 커넥터의 사양서, 그리고 보안 관련 요청의 사양서를 스스로 포함한다. 상기 보안 관련 요청은 하나 이상의 상기 열거된 보안 관련 작업을 포함할 수 있다. 보안 채널을 포함하는 데이터 구조는 서비스들 사이에서 메시지 교환을 일으키는 요청에 응답하여 형성될 수 있다.
본 발명이 상기 바람직한 실시예 또는 상기 기술된 예들에 대한 참조로 공개되는 반면, 이러한 예들이 인지를 제한하기보다 실례를 들기 위해 의도된 것임을 알 필요가 있다. 상기 바람직한 실시예들에 컴퓨터 지원 프로세싱이 포함되어 있다. 따라서, 본 발명은 컴퓨터 지원 프로세싱을 위한 방법들, 상기 방법을 실행하는 로직을 포함한 시스템들, 상기 방법을 실행하는 로직 포함된 미디어, 상기 방법을 수행하는 로직이 포함된 데이터 스트림들, 또는 컴퓨터가 접근가능한 프로세싱 서비스들에 대한 실시예를 제시한다. 당업자가 용이하게 수정 및 조합을 할 수 있다고 사료되며, 상기 수정과 조합은 본 발명의 영감 및 하기 청구항 범위 내에 있을 것이다.
컴퓨터 프로그램 목록 부록
{저작권 고시}
이 특허 문서의 명세서 일부분은 저작권 보호를 받아야 하는 요소를 포함한다. 이 저작권 소유자는 특허청 특허 파일 또는 기록물에 나타난 특허 문서 또는 특허 명세서에 대한 복사본 재생에는 이의가 없으나, 그 외의 경우에 대해서는 모두 저작권 법하에 보호됨을 고시하는 바이다.
{컴퓨터 프로그램 목록 부록에 대한 참조}
컴퓨터 프로그램 목록 부록이 청구범위 앞에 열거되어 있다. 상기 컴퓨터 프로그램 목록 부록은 하기와 같은 프로그램 인용들을 포함한다:
InteroperabilityContract.xsd (전반적인 약정(contract)에 대한 스키마)
GeneralContract.XSD (일반 정보에 대한 스키마)
RoutingContract.XSD (메시지들의 라우팅에 대한 스키마)
TransformationContract.XSD (문서의 변환에 대한 스키마)
SecurityContractKeyInfo.XSD (보안을 위해 사용되는 키에 대한 스키마)
SecurityContract.XSD (교섭으로부터의 보안 약정 결과에 대한 환경)
InteroperabilityContract.XML (정보 상호 운용 약정에 대한 예)
ComputeSecurityContract.XML (예에서 계산된 보안 약정)

Claims (29)

  1. 소비 서비스 및 제공 서비스-상기 서비스들은 네트워크를 통하여 문서들을 교환하고, 선택적으로는 중간 커넥터를 사용함-를 위한 상호 운용 데이터를 지정하는 장치에 의해 판독가능한 데이터 구조에 있어서,
    상기 서비스들의 명칭에 의해 지정된 상기 서비스들과 중간 커넥터 사이의 경로 및 상기 명명된 서비스들과 커넥터들 사이의 경로;
    메시지들의 교환을 위해 사용되는 구성 버전;
    메시지 기록, 신뢰할만한 메시지 전달 보증, 수신 부인이 감소될 수 있는 수신 응답 요구를 위한 정책들을 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  2. 제 1항에 있어서,
    상기 데이터 구조는 상기 서비스들 사이에서 교환되는 특정 메시지들의 부분들에 대한 서명 요구사항의 사양서 및 사용될 수 있는 적어도 하나의 서명 알고리즘의 사양서를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  3. 제 1항에 있어서,
    상기 데이터 구조는 상기 서비스들 사이에서 교환되는 특정한 메시지의 부분들에 대한 암호 요구사항의 사양서 및 사용될 수 있는 적어도 하나의 암호 알고리즘의 사양서를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  4. 제 1항에 있어서,
    상기 데이터 구조는 사용될 수 있는 하나 이상의 인증 절차의 사양서를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  5. 제 1항에 있어서,
    상기 데이터 구조는 서비스들 사이에서 교환되는 특정한 메시지 내에 포함되는 문서들에 적용되는 하나 이상의 변환 로직의 사양서; 그리고
    변환되지 않은 문서들의 사본들이 변환된 문서들의 사본과 함께 포함이 되야 하는지 여부에 대한 사양서를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  6. 소비 서비스 및 제공 서비스를 위한 상호 운용 데이터를 지정하는 장치에 의해 판독가능한 데이터 구조에 있어서, 상기 서비스들은 네트워크를 통하여 문서들을 포함하는 메시지들을 교환하고, 선택적으로는 중간 커넥터를 사용하고, 상기 데이터 구조는
    상기 서비스들 사이에서 교환되는 특정 메시지들의 부분들을 위한 암호 요구 사항의 사양서 및 사용될 수 있는 적어도 하나의 암호 알고리즘의 사양서;
    상기 서비스들 사이에서 교환되는 특정한 메시지 부분들을 위한 암호 요구사항의 사양서 및 사용될 수 있는 적어도 하나의 알고리즘의 사양서; 그리고
    사용될 수 있는 하나 이상의 인증 절차의 사양서를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  7. 제 6항에 있어서,
    상기 데이터 구조는 서비스들의 명칭에 의해 지정되는 상기 서비스들과 중간 커넥트들 사이의 경로, 그리고 명명된 서비스들 및 커넥터들 사이의 경로를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  8. 제 6항에 있어서,
    상기 데이터 구조는 문서들의 교환을 위해 사용되는 구성 버전을 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  9. 제 6항에 있어서,
    상기 데이터 구조는 상기 메시지들을 기록을 위한, 상기 메시지들의 신뢰할만한 전송을 보증을 위한, 그리고 수신 부인을 줄일수 있도록 하는 수신 응답 요구를 위한 정책들을 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  10. 제 6항에 있어서,
    상기 데이터 구조는 상기 서비스들 사이에서 교환되는 특정 메시지들 내에 포함되는 문서들에 적용되는 하나 이상의 변환 로직의 사양서; 그리고
    변환되지 않은 문서들의 사본들이 변환된 문서들의 사본과 함께 포함이 되야 하는지 여부에 대한 사양서를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  11. 소비 서비스 및 제공 서비스를 위한 상호 운용 데이터를 지정하는 장치에 의해 판독가능한 데이터 구조에 있어서, 상기 서비스들은 네트워크를 통하여 문서들을 포함하는 메시지들을 교환하고, 선택적으로는 중간 커넥터를 사용하고, 상기 데이터 구조는
    상기 서비스들 사이에서 교환되는 특정 메시지들 내에 포함되는 문서들에 적용되는 하나 이상의 변환 로직의 사양서; 그리고
    변환되지 않은 문서들의 사본들이 변환된 문서들의 사본과 함께 포함이 되야 하는지 여부에 대한 사양서를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  12. 제 11항에 있어서,
    상기 데이터 구조는 서비스들의 명칭에 의해 지정되는 상기 서비스들과 중간 커넥터들 사이의 경로, 그리고 상기 명명된 서비스들 및 커넥터들 사이의 경로를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  13. 제 11항에 있어서,
    상기 데이터 구조는 문서들의 교환을 위해 사용되는 구성 버전을 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  14. 제 11항에 있어서,
    상기 데이터 구조는 상기 메시지들을 기록을 위한, 상기 메시지들의 신뢰할만한 전송을 보증을 위한, 그리고 수신 부인을 줄이수 있도록 하는 수신 응답 요구를 위한 정책들을 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  15. 제 11항에 있어서,
    상기 데이터 구조는 상기 서비스들 사이에서 교환되는 특정 메시지의 부분들을 위한 서명 요구사항의 사양서 및 사용될 수 있는 적어도 하나의 서명 알고리즘을 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  16. 제 11항에 있어서,
    상기 데이터 구조는 서비스들 사이에서 교환되는 특정한 메시지의 부분들에 대한 암호 요구사항의 사양서 및 사용될 수 있는 적어도 하나의 암호 알고리즘의 사양서를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  17. 제 11항에 있어서,
    상기 데이터 구조는 사용될 수 있는 하나 이상의 인증 절차의 사양서를 더 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  18. 소비 서비스 및 제공 서비스를 위한 현 상호 운용 데이터를 지정하는 장치에 의해 판독가능한 데이터 구조에 있어서, 상기 서비스들은 네트워크를 통하여 문서들을 포함하는 메시지들을 교환하고, 선택적으로는 중간 커넥터를 사용하고, 상기 데이터 구조는
    서비스들 사이의 메시지 교환을 개시하는 요청에 응답하여, 상기 서비스들을 위한 상호 운용 데이터에 접근하는 단계;
    상기 서비스들을 위한 상호 운용 데이터를 교차하는 단계; 그리고
    하나 이상의 상호 신뢰할만한 옵션을 생산하는 상호 운용 데이터의 교차점을 위해, 하나의 옵션을 선택하는 결정 규칙을 적용하는 단계에 의해 준비되는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  19. 제 18항에 있어서,
    상기 결정 규칙들은 상기 서비스들에 의해 기입되는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  20. 제 18항에 있어서,
    상기 결정 규칙들은 상기 서비스들의 기입에 의해 교환 커뮤니티로 채택되는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  21. 제 18항에 있어서, 상기 상호 운용 데이터는 하나 이상의:
    서비스들의 명칭에 의해 지정되는 상기 서비스들과 중간 커넥터들 사이의 경로, 그리고 명명된 서비스들 및 커넥터들 사이의 경로;
    메시지들의 교환을 위해 사용되는 구성 버전;
    메시지 기록을 위한, 신뢰할만한 메시지 전달 보증을 위한, 그리고 수신 부인이 감소될 수 있는 수신 응답 요구를 위한 정책들;
    서비스들의 명칭에 의해 지정되는 상기 서비스들과 중간 커넥터들 사이의 경로, 그리고 명명된 서비스들 및 커넥터들 사이의 경로;
    메시지들의 교환을 위해 사용되는 구성 버전;
    메시지 기록을 위한, 신뢰할만한 메시지 전달 보증을 위한, 그리고 수신 부인이 감소될 수 있는 수신 응답 요구를 위한 정책들; 그리고
    상기 서비스들 사이에서 교환되는 특정 메시지들 내에 포함되는 문서들에 적용되는 하나 이상의 변환 로직의 사양서; 그리고
    변환되지 않은 문서들의 사본들이 변환된 문서들의 사본과 함께 포함이 되야 하는지 여부에 대한 사양서를 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  22. 제 19항에 있어서, 상기 상호 운용 데이터는 하나 이상의:
    서비스들의 명칭에 의해 지정되는 상기 서비스들과 중간 커넥터들 사이의 경로, 그리고 명명된 서비스들 및 커넥터들 사이의 경로;
    메시지들의 교환을 위해 사용되는 구성 버전;
    메시지 기록을 위한, 신뢰할만한 메시지 전달 보증을 위한, 그리고 수신 부인이 감소될 수 있는 수신 응답 요구를 위한 정책들;
    서비스들의 명칭에 의해 지정되는 상기 서비스들과 중간 커넥터들 사이의 경로, 그리고 명명된 서비스들 및 커넥터들 사이의 경로;
    메시지들의 교환을 위해 사용되는 구성 버전;
    메시지 기록을 위한, 신뢰할만한 메시지 전달 보증을 위한, 그리고 수신 부인이 감소될 수 있는 수신 응답 요구를 위한 정책들; 그리고
    상기 서비스들 사이에서 교환되는 특정 메시지들 내에 포함되는 문서들에 적용되는 하나 이상의 변환 로직의 사양서; 그리고
    변환되지 않은 문서들의 사본들이 변환된 문서들의 사본과 함께 포함이 되야 하는지 여부에 대한 사양서를 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  23. 제 18항에 있어서, 상기 상호 운용데이터는:
    서비스들의 명칭에 의해 지정되는 상기 서비스들과 중간 커넥터들 사이의 경로, 그리고 명명된 서비스들 및 커넥터들 사이의 경로;
    메시지들의 교환을 위해 사용되는 구성 버전;
    메시지 기록을 위한, 신뢰할만한 메시지 전달 보증을 위한, 그리고 수신 부인이 감소될 수 있는 수신 응답 요구를 위한 정책들을 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  24. 제 18항에 있어서, 상기 상호 운용 데이터는:
    상기 서비스들 사이에서 교환되는 특정 메시지들의 부분들에 대한 서명 요구사항의 사양서 및 사용될 수 있는 적어도 하나의 서명 알고리즘의 사양서;
    상기 서비스들 사이에서 교환되는 특정한 메시지의 부분들에 대한 암호 요구사항의 사양서 및 사용될 수 있는 적어도 하나의 암호 알고리즘의 사양서; 그리고
    사용될 수 있는 하나 이상의 인증 절차의 사양서를 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  25. 제 18항에 있어서, 상기 상호 운용 데이터는;
    상기 서비스들 사이에서 교환되는 특정 메시지들 내에 포함되는 문서들에 적용되는 하나 이상의 변환 로직의 사양서; 그리고
    변환되지 않은 문서들의 사본들이 변환된 문서들의 사본과 함께 포함이 되야 하는지 여부에 대한 사양서를 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  26. 소비 서비스 및 제공 서비스를 위한 현 상호 운용 데이터를 지정하는 장치에 의해 판독가능한 데이터 구조에 있어서, 상기 서비스들은 네트워크를 통하여 문서들을 포함하는 메시지들을 교환하고, 선택적으로는 중간 커넥터를 사용하고, 상기 데이터 구조는
    하나 이상의 서명, 암호 또는 인증에 적용가능한 하나 이상의 보안 채널들 포함하고, 여기서 상기 보안 채널은:
    보안 관련 요청을 일으키는 커넥터;
    보안 관련 요청에 응답하는 커넥터; 그리고
    하나 이상의 서명, 암호 또는 인증과 같은 보안 관련 요청의 사양서를 포함하는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  27. 제 26항에 있어서,
    상기 보안 채널은 상기 보안 관련 요청이 하나 이상의 서명, 암호, 인증 또는 부인 방지일 경우, 하나 이상의 서명, 암호, 인증 또는 부인방지 및 상기 사양서에 적용가능한 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  28. 제 26항에 있어서,
    상기 데이터 구조는 상기 서비스들 사이의 메시지 교환을 개시하기 위한 요청에 응답하여 형성되는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
  29. 제 17항에 있어서,
    상기 데이터 구조는 상기 서비스들 사이의 메시지 교환을 개시하기 위한 요청에 응답하여 형성되는 것을 특징으로 하는 장치에 의해 판독가능한 데이터 구조
KR1020057004613A 2002-09-18 2003-08-19 웹 서비스를 위한 동적 정보 처리 상호 운용 약정 KR20050046790A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/246,592 2002-09-18
US10/246,592 US20050005116A1 (en) 2002-09-18 2002-09-18 Dynamic interoperability contract for web services

Publications (1)

Publication Number Publication Date
KR20050046790A true KR20050046790A (ko) 2005-05-18

Family

ID=32028960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057004613A KR20050046790A (ko) 2002-09-18 2003-08-19 웹 서비스를 위한 동적 정보 처리 상호 운용 약정

Country Status (7)

Country Link
US (1) US20050005116A1 (ko)
EP (1) EP1540874A4 (ko)
JP (1) JP2006501493A (ko)
KR (1) KR20050046790A (ko)
CN (1) CN1695339A (ko)
AU (1) AU2003282783B2 (ko)
WO (1) WO2004027547A2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100479333B1 (ko) * 2002-11-22 2005-03-31 한국전자통신연구원 ebXML 레지스트리에 기반을 둔 UDDI 웹서비스레지스트리 시스템과 그 관리 방법
US7689709B2 (en) * 2002-12-13 2010-03-30 Sap Ag Native format tunneling
US7949758B2 (en) * 2003-02-20 2011-05-24 Microsoft Corporation Electronically negotiating application layer properties
JP3969654B2 (ja) * 2003-03-07 2007-09-05 インターナショナル・ビジネス・マシーンズ・コーポレーション Soapメッセージ作成方法並びに処理方法、情報処理方法、情報処理装置及びプログラム
EP1614254A1 (en) * 2003-04-04 2006-01-11 Computer Associates Think, Inc. Method and system of alert notification
US20050038867A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation Method, system and program product for integrating web services on a client
US8453196B2 (en) * 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
US20050132334A1 (en) * 2003-11-14 2005-06-16 Busfield John D. Computer-implemented systems and methods for requirements detection
US8140347B2 (en) * 2004-05-28 2012-03-20 International Business Machines Corporation System and method for speeding XML construction for a business transaction using prebuilt XML with static and dynamic sections
JP4197311B2 (ja) * 2004-06-22 2008-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュリティポリシー生成方法、セキュリティポリシー生成装置、プログラム、及び記録媒体
GB2416048A (en) * 2004-07-10 2006-01-11 Hewlett Packard Development Co Inferring data type in a multi stage process
US7617481B2 (en) * 2004-11-30 2009-11-10 Avanade Holdings Llc Prescriptive architecture for application development
US20060235973A1 (en) 2005-04-14 2006-10-19 Alcatel Network services infrastructure systems and methods
US8332473B1 (en) * 2005-05-02 2012-12-11 American Airlines, Inc. System and method for managing multiple message format communication
US20070039039A1 (en) * 2005-08-10 2007-02-15 Microsoft Corporation Authorization of device access to network services
US7703099B2 (en) * 2006-02-24 2010-04-20 Microsoft Corporation Scalable transformation and configuration of EDI interchanges
US20080091936A1 (en) * 2006-10-11 2008-04-17 Ikkanzaka Hiroaki Communication apparatus, control method for communication apparatus and computer-readable storage medium
US8087030B2 (en) * 2006-12-29 2011-12-27 Sap Ag Processing a received message
US8396806B2 (en) * 2007-10-30 2013-03-12 Red Hat, Inc. End user license agreements associated with messages
US8484746B2 (en) * 2008-05-09 2013-07-09 International Business Machines Corporation Method and system for managing electronic messages
US8484747B2 (en) * 2008-05-09 2013-07-09 International Business Machines Corporation Method and system for managing electronic messages
US8296564B2 (en) 2009-02-17 2012-10-23 Microsoft Corporation Communication channel access based on channel identifier and use policy
US8914874B2 (en) * 2009-07-21 2014-12-16 Microsoft Corporation Communication channel claim dependent security precautions
US9558050B2 (en) * 2009-09-15 2017-01-31 Electronics And Telecommunications Research Institute General middleware bridge and method thereof
AU2011201127A1 (en) * 2011-03-14 2012-10-04 Moxy Studios Pty Ltd Collaborative Knowledge Management
JP6438393B2 (ja) * 2012-08-13 2018-12-12 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 薬物送達及び気体供給を含む手持ち式呼吸困難治療装置
US10078539B1 (en) 2013-10-30 2018-09-18 American Airlines, Inc. System and method for logging and searching history events such as airline flight or crew history
US10673852B2 (en) * 2014-12-23 2020-06-02 Mcafee, Llc Self-organizing trusted networks
US10372515B1 (en) 2015-10-30 2019-08-06 American Airlines, Inc. System agnostic front end application for legacy systems
US10599492B2 (en) * 2017-10-27 2020-03-24 International Buisness Machines Corporation Context-aware connectors in integration
US11481378B1 (en) 2018-10-31 2022-10-25 Anaplan, Inc. Method and system for servicing query requests using document-based metadata
US11281683B1 (en) 2018-10-31 2022-03-22 Anaplan, Inc. Distributed computation system for servicing queries using revisions maps
US11573927B1 (en) * 2018-10-31 2023-02-07 Anaplan, Inc. Method and system for implementing hidden subscriptions in a distributed computation system
US11580105B2 (en) 2018-10-31 2023-02-14 Anaplan, Inc. Method and system for implementing subscription barriers in a distributed computation system
US11354324B1 (en) 2018-10-31 2022-06-07 Anaplan, Inc. Method and system for servicing query requests using revisions maps
FR3113346A1 (fr) * 2020-08-10 2022-02-11 Orange Procédé de traitement d’un service de transport de données
US11941151B2 (en) * 2021-07-16 2024-03-26 International Business Machines Corporation Dynamic data masking for immutable datastores

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5159630A (en) * 1991-05-29 1992-10-27 International Communication Systems Corporation Facsimile message encryption system
US5157726A (en) * 1991-12-19 1992-10-20 Xerox Corporation Document copy authentication
US5311438A (en) * 1992-01-31 1994-05-10 Andersen Consulting Integrated manufacturing system
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
DE69431306T2 (de) * 1993-12-16 2003-05-15 Open Market Inc Datennetzgestütztes zahlungssystem und verfahren zum gebrauch eines derartigen systems
US5790677A (en) * 1995-06-29 1998-08-04 Microsoft Corporation System and method for secure electronic commerce transactions
US5812669A (en) * 1995-07-19 1998-09-22 Jenkins; Lew Method and system for providing secure EDI over an open network
US6072942A (en) * 1996-09-18 2000-06-06 Secure Computing Corporation System and method of electronic mail filtering using interconnected nodes
WO1998015894A1 (en) * 1996-10-09 1998-04-16 At & T Corp. Method to produce application oriented languages
US6216130B1 (en) * 1998-04-24 2001-04-10 Ingeo Acquisitions, Inc. Geographic-based information technology management system
US6393442B1 (en) * 1998-05-08 2002-05-21 International Business Machines Corporation Document format transforations for converting plurality of documents which are consistent with each other
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6148290A (en) * 1998-09-04 2000-11-14 International Business Machines Corporation Service contract for managing service systems
US6125391A (en) * 1998-10-16 2000-09-26 Commerce One, Inc. Market makers using documents for commerce in trading partner networks
US6389533B1 (en) * 1999-02-05 2002-05-14 Intel Corporation Anonymity server
US6538673B1 (en) * 1999-08-23 2003-03-25 Divine Technology Ventures Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
US6434628B1 (en) * 1999-08-31 2002-08-13 Accenture Llp Common interface for handling exception interface name with additional prefix and suffix for handling exceptions in environment services patterns
US6931532B1 (en) * 1999-10-21 2005-08-16 International Business Machines Corporation Selective data encryption using style sheet processing
US6792466B1 (en) * 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US7496637B2 (en) * 2000-05-31 2009-02-24 Oracle International Corp. Web service syndication system
US20020044662A1 (en) * 2000-08-22 2002-04-18 Jonathan Sowler Service message management system and method
JP2002215933A (ja) * 2001-01-18 2002-08-02 Hitachi Ltd 電子店舗システム
US6985958B2 (en) * 2001-03-14 2006-01-10 Microsoft Corporation Messaging infrastructure for identity-centric data access
US6847974B2 (en) * 2001-03-26 2005-01-25 Us Search.Com Inc Method and apparatus for intelligent data assimilation
US20020147734A1 (en) * 2001-04-06 2002-10-10 Shoup Randall Scott Archiving method and system
US20030046583A1 (en) * 2001-08-30 2003-03-06 Honeywell International Inc. Automated configuration of security software suites
US20030204467A1 (en) * 2002-04-26 2003-10-30 Kartha G. Neelakantan System and method for selecting trading partners in an electronic market
US7149730B2 (en) * 2002-05-03 2006-12-12 Ward Mullins Dynamic class inheritance and distributed caching with object relational mapping and cartesian model support in a database manipulation and mapping system
US20040003038A1 (en) * 2002-06-27 2004-01-01 Microsoft Corporation Live content processing for online presentation
US7729922B2 (en) * 2002-08-15 2010-06-01 Open Invention Network, Llc Dynamic interface between BPSS conversation management and local business management
US7721202B2 (en) * 2002-08-16 2010-05-18 Open Invention Network, Llc XML streaming transformer

Also Published As

Publication number Publication date
AU2003282783A1 (en) 2004-04-08
WO2004027547A2 (en) 2004-04-01
US20050005116A1 (en) 2005-01-06
WO2004027547A3 (en) 2004-06-24
JP2006501493A (ja) 2006-01-12
AU2003282783B2 (en) 2009-01-29
EP1540874A4 (en) 2010-01-13
CN1695339A (zh) 2005-11-09
EP1540874A2 (en) 2005-06-15

Similar Documents

Publication Publication Date Title
KR20050046790A (ko) 웹 서비스를 위한 동적 정보 처리 상호 운용 약정
US9588828B2 (en) System and method for routing messages between applications
US9219678B2 (en) Method, system, and computer program product for sending and receiving messages
US20200186384A1 (en) Enhanced title processing arrangement
Tsalgatidou et al. An overview of standards and related technology in web services
CN100456277C (zh) 支持万维网服务互操作及安排万维网服务的方法
Papazoglou et al. A survey of web service technologies
JP4594621B2 (ja) 分散コンピューティング環境における集約サービスの供給
US8346929B1 (en) System and method for generating secure Web service architectures using a Web Services security assessment methodology
Hirsch et al. Mobile web services: architecture and implementation
US20030053459A1 (en) System and method for invocation of services
US20050044197A1 (en) Structured methodology and design patterns for web services
Pennington Introduction to web services
Sadtler et al. Patterns: Implementing self-service in an SOA environment
Eleyan Extending Web Service Architecture with a Quality Component
Christofi Dynamic Application Integration Using Peer to Peer Technology
WSDL UDDI and beyond
Quah et al. Linking Businesses for Competitive Advantage; A Mobile Agent-Based Approach

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application