[Python] XMLRPC를 이용한 서버/클라이언트 구현 Develop Tip

파이썬에서 CS를 구현하면서 SOAP과 같은 WebService를 살펴보다,
xmlrpc의 구현이 더 쉬움을 알았다.
xmlrpc도 그 자체로 언어 독립적인 RPC 호출을 하기 때문에
구현하기에 쉽고, 많은 샘플이 있는 장점도 있다.

하여간 파이썬으로 서버를 구현하는데, 기존 언어와는 아주 다른 것을 발견하였다.
기존에 SUN ONC RPC와 같은 경우, 기존 함수위에 stub을 만들어 줘야 하고,
C#에서 WebService를 이용할 때에도 유사하게 인터페이스를 위해 별도로 생성을 해야 한다.
하지만 파이썬은 실제 작업하던 클래스를 가지고 그대로 외부에 노출 시킬 수 있다는
장점이 있다.
예를 들어, 로컬로 myJob 이라는 클래스를 만들고,

  job = myJob()
  job.do_a('a1')

이런 식으로 작업을 하던것을
바로 서버에 노출시키고 다른 클라이언트 머신에서 똑 같이 호출할 수 있다.

샘플 서비스 test_service.py
샘플 클라이언트 test_client.py

파이썬 인터프리터에서 직접 테스트 하려면

$ python
>>> import xmlrpclib
>>> url = 'http://localhost:18789/_test_xmlrpc_'
>>> s = xmlrpclib.ServerProxy(url)
>>> s.system.listMethods()
>>> s.do_a('abcde')
>>> quit()

이런 식으로 테스트를 해 볼 수 있다.


핑백

  • 지훈현서 : [우분투] PHP5 에서 XML-RPC 이용하기 2012-10-30 10:29:30 #

    ... php5가 우분투 (시험은 12.04 LTS 서버 버전에서 했습니다)에LAMP 서버로 설치되어 있습니다. Python을 이용하여 XML-RPC 를 구현하고 테스트하는 것은아주 쉽습니다. XML-RPC의 장점으로는 아주 많은 언어로 구현되어 있어임의의 포트로 XML 형식의 RPC가 구현되어 있다는 ... more

덧글

댓글 입력 영역

구글애드텍스트