<< 2007년 9월 14일 (금) | | 2007년 9월 16일 (일) >>

XINS를 통해 REST, SOAP, XML-RPC, JSON, JSON-RPC 인터페이스 개발

XINS는 open-source Web Servicse framework로서 HTTP protocols such as REST, SOAP, XML-RPC, JSON, JSON-RPC 등등의 다양한 프로토콜을 지원하여 한 서버에서 다양 한 기능들을 제공하여 Ajax 구현에 도움이 되는 인프라를 제공합니다.

전체적으로 성능 테스트는 안해봤지만 단위 테스트로는 아주 큰 만족을 하였습니다. 조금만 내 부 로직을 손본다면 좋은 프레임워크로 거듭날 것으로 보여 제가 분석하고 있습니다.

전체적인 아키텍처는 ...

XINS의 전체적인 특징은 ...

Protocols (more info)
  • REST
  • XML
  • SOAP
  • XML-RPC
  • XSLT
  • JSON Yahoo!
  • JSON-RPC
  • Front-end
Targets (more info)
  • war
  • jar
  • run
  • specdocs
  • wsdl
  • stub
  • test
  • opendoc
Types (more info)
  • Text
  • Integers
  • Floats
  • Base64, Hex
  • Date, Timestamp
  • Properties
Defined types (more info)
  • Regular expression
  • Enumeration
  • List, Set
  • Properties
  • Numbers with boundaries
  • Binaries within limits

설치 방법은 기존 WAS서버인 TOMCAT이나 Jetty 등에도 얹을 수 있는 확장성을 가지고 있고 자체적인 서버로도 다양한 기능들을 제공하고 있습니다. 여기서는 톰켓에서 연동하여 설치하는 방법을 소개하겠습니다.

  • XINS를 다운 받는다. 다운 사이트는 여기다.
    - #wget http://prdownloads.sf.net/xins/xins-2.0.tgz?download
  • 환경 설정
    - #vi ~/.bash_profile에 XINS_HOME, path에 XINS_HOME/bin 적용
    - ant 1.6이상이면 설치안해도 됨, 미만일 경우는 설치 요망
    : 설치 후 path에 ANT_HOME/bin 등록 요망(기전의 /usr/bin/ant보다 선행되어야 함)
  • XINS 설정 파일 변경
    - #vi /home/k2/www/xins-2.0/demo/xins.properties 변경
    : caller=service, http://mimul.com/myproject/, 5000
    : capis.myproject=group, ordered, loc1, host1b 이하는 클러스터링 설정
    : 접근 제어 기능을 적용하기 위해서 org.xins.server.acl에 허용하는 IP를 등록함
    : org.xins.server.config.reload에서 로드 주기 설정(단위는 초)
    : Log4j 설정
  • 컴파일
    - #/home/k2/www/xins-2.0/demo/ant all 수행하여 컴파일 함
  • tomcat환경 연동
    - /home/k2/www/xins-2.0/demo/xins-project/build/webapps/myproject 디렉터리로 이동하여 myproject.war를 TOMCAT_HOME/webapps로 카피함
    - TOMCAT_HOME/bin/catalina.sh의 서버 구동 옵션에 -Dorg.xins.server.config=/home/k2/www/xins-2.0/demo/xins.properties 추가함
    - catalina.sh stop/start 확인
    - 해당 도메인/myproject/?_function=MyFunction&gender=m&personLastName=Mimul 호출하면 XML 정보 제공하면 정상 등록됨
  • 기타
    - XINS 서버로 구동할 경우는 /home/k2/www/xins-2.0/demo/rundemo 커맨드를 실행

Ajax 몇개 테스트 해 놓았으니 맛보시기 바랍니다. 여기 링크를 클릭하시면 몇개 맛볼 수 있습니다.

태그 :