Implementation of SOAP Client in U Programming Environment

nML 프로그래밍 환경에서 SOAP 클라이언트 구현

  • 권오경 (한국과학기술정보연구원 슈퍼컴퓨팅연구실) ;
  • 한태숙 (한국과학기술원 전산학과)
  • Published : 2003.02.01

Abstract

Web service implementations are now rapidly growing. Web services are easily achieved by XML messaging for most programming languages. Applications usually utilize web services through APIs tied to a specific implementation of SOAP. nML is a dialect of SML and OCaml made in ROPAS. The soaptype type in nML is defined for the value of SOAP encoding. SOAP encoding specification defines rules for serialization of a graph of typed objects using XML Schema. XML Schema validates XML SOAP value. The soaptype type is encoded to XML and decoded from XML. It is necessary to guarantee safe encoding and decoding. So, the definitions for element and type definition in XML Schema are specified by element type and typeinfo type, which include the part of the definitions of XML Schema specification.

웹 서비스에 대한 구현이 많이 늘고 있다. 웹 서비스는 각 프로그래밍 언어에서 XML를 이용해서 원격 호출을 한다. 이때 사용하는 대표적인 프로토콜이 SOAP으로써 본 논문에서는 nML 프로그래밍 환경에서 SOAP 클라이언트 구현을 제시한다. nML은 한국과학기술원 ROPAS에서 만든 SML과 OCaml의 한국형 함수형 언어이다. nML에서의 soaptype 타입으로 SOAP 값을 정의한다. SOAP은 XML Schema에 의해서 객체에 대한 인코딩이 정의된다. 즉 XML Schema가 SOAP 값의 유효성을 판단한다. 본 논문은 XML Schema의 엘리먼트와 타입에 대한 정의로써 element와 typeinfo 타입을 정의한다. 그리고 상호호환성 테스트를 통하여 안전하게 다른 언어와 대응됨을 보인다.

Keywords

References

  1. Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, Extensible Markup Language(XML) 1.0(Second Edition)(W3C Recommendation), http://www.w3.org/TR/REC-xml, WWW Consortium, October 2000
  2. Marin Gudgin, Marc Hadley, Jean-Jacques Moreau, Henrik Frystyk Nielsen, SOAP Version 1.2 Part 2: Adjuncts(W3C Working Draft 2), http://www.w3.org/TR/2001/WD-soap12-part2-200 11002/,WWW Consortium, October 2001
  3. Paul V. Biron, Ashok Malhotra, XML Schema Part2: Dataypes. (W3C Recommendation), http://www.w3.org/RT/wsdl, WWW Consortium, May 2000
  4. Erik Christensen, Francisco Curbera, Greg Meredith, Sanjiva Weerawarana, Web Services Description Language (WSDL) 1.1, http://www.w3.org/TR/wsdl, WWW Consortium, March 2001
  5. Tim Bray;Dave Hollander;Andrew Layman, Namespaces in XML, http://www.w3.org/TR/REC-xml-names/, WWW Consortium, January-1999
  6. Hyun-Goo Kang, Eun-Sun Cho, nXML, http://ropas.kaist.ac.kr/n/nxml/
  7. ROUND 1 SOAP Interoperability Tests Specification, http://www.xmethodsnet/soapbuilders/proposal.html
  8. Jeffrey Richter, Part 2: M Microsoft.Net Framework Delivers the Platform for an Integrated, Service-Oriented Web, http://msdn.microsoft.com/msdnmag/issues/1000/Frameworf2/Framework2/asp, October 2000
  9. Apache SOAP Version 2.2. http://xml.apache.org/soap/index.html, 30, 2001
  10. WASP, http://www.systinet.com/index.html
  11. Bijan Parsia, Functional Programming and XML, http://www.xml.com/pub/a/2001/02/14/functional.html. xml.com, Februry 2001
  12. Malclom Wallace and Colin Runciman, Haskell and XML : Generic Combinators or Type-Based Translation?, In Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming(ICFP'99), ACM Press, Sept. 1999
  13. Haruo Hosoya and Benjamin C. Pierce, XDuce: A typed XML processing language, Proceedings of Therd International Workshop on the Web and Databases (WebDB2000), volume 1997 of Lecture Notes in Computer Science, pp.226-244, May 2000
  14. E. Meijer and M. Shileds, Xmlambda : A functional programming language for cnstructing and manipulating xml documents, USENIX 2000 Technical Conference, page 13, pages