메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

XSLT와 아마존 ECS를 사용한 RSS 생성

한빛미디어

|

2006-10-18

|

by HANBIT

11,715

제공: 한빛 네트워크
저자: Craig Noeldner, Brian Swan, 한동훈 역
원문: Generating RSS with XSLT and Amazon ECS

웹서비스를 사용하여 만들 때 선택해야할 것은 웹 서비스 응답을 어떻게 처리할 것인가하는 것이다. 처리과정을 리치 클라이언트에 만들 수도 있지만, 사람들이 응용프로그램을 사용하기 위해 설치하는 과정이 필요할 것이다. 웹 서비스 응답을 서버에서 처리할 수도 있지만, 이건 서버를 필요로 한다. 아마존 ECS는 이에 대한 대안적인 해결책, XSLT 서비스를 제공한다.

XSLT는 XML을 다른 형식으로 변환하기 위한 언어이다. 아마존 ECS의 XSLT 서비스는 변환된 결과를 반환하거나 파일의 위치를 지정하는 매개변수를 추가하는 것으로 식별할 수 있는 XSLT 파일을 사용해서 REST 응답을 변환할 수 있다. 다시 말해서, 아마존 ECS 웹 서브시에 대한 호출은 HTML, text, 또는 원하는 포맷으로 결과를 반환할 수 있다는 것을 의미하며, 이는 리치 클라이언트 또는 서버 기반 솔루션을 구축하는 데 있어 큰 장점을 갖는다.

이 기사에서는 아마존 ECS와 XSLT 서비스를 사용해서 아마존의 위시 리스트(Wish List)를 위한 RSS 피드를 생성하는 과정을 살펴볼 것이다. 우리는 독자가 XSLT에 대해 어느 정도 알고 있다고 가정하며, 추가 리소스 섹션에서 우리가 사용하고 있는 기술들에 관해 배울 수 있는 몇군데 링크를 제공한다. 여기에는 자신의 용도에 맞게 사용할 수 있도록 다운로드 할 수 있는 완전한 XSLT 파일을 제공한다.

위시 리스트 ID 검색

위시 리스트 ID를 찾는 수동적인 방법은 웹 사이트의 세부 내용을 샅샅이 살펴보는 것이다. 예를 들어, 브라이언(Brian)의 위시 리스트에 대한 URL이 다음과 같다면

http://www.amazon.com/gp/registry/registry.html?type=wishlist&id=30BOZ74K6RSKJ

위시 리스트 ID는 30BOZ74K6RSKJ이라는 것을 알 수 있다.

위시 리스트 ID를 얻는 프로그래밍적인 방법은 ListSearch 연산(operation)을 사용하고, 특정 이메일 주소나 이름과 관련된 목록들을 검색하는 것이다. 예를 들어, 다음 요청은 위시 리스트를 검색한다.
http://ecs.amazonaws.com/onca/xml?
   Service=AWSECommerceService&
   Version=2006-06-28&
   AWSAccessKeyId=0525E2PQ81DD7ZTWTK82&
   Operation=ListSearch&
   ListType=WishList&
   Email=noeldner@amazon.com
아마존 ECS 요청

위시 리스트에 대한 RSS 피드를 생성하기 위해 위시 리스트에 대한 정보를 반환하는 아마존 ECS REST 인터페이스에 대한 기본 요청부터 살펴봐야 한다.(글쓴이의 위시 리스트는 완전히 임의로 선택한 것이다)
http://webservices.amazon.com/onca/xml?
   Service=AWSECommerceService&
   Version=2006-06-07&
   AWSAccessKeyId=1CE7SK4ZPTNDQZCWBP82&
   Operation=ListLookup&
   ListType=WishList&
   ListId=30BOZ74K6RSKJ&
   Sort=DateAdded&
   ResponseGroup=ItemAttributes,ListItems,ListInfo,Offers
이 요청은 위시 리스트의 각 항목에 대한 정보를 반환한다. 다음은 XSLT 파일을 사용해서 변환할 정보의 일부분을 나타낸 것이다.

  
    
      http://www.amazon.com/...
      Brian Swan
      
        1
        0
        
          http://www.amazon.com/...
          
            Product Name
          
          
            
              $9.99
            
          
        
      
    
  

XSLT 파일 작성하기

다음은 이 정보를 RSS 피드로 변환하는 XSLT 파일을 생성하는 것이다. 이 XSLT 파일은 RSS 피드에 개별 항목들을 생성하기 위해 제품에 관한 정보를 사용하며, RSS 피드 타이틀에는 위시 리스트와 URL을 사용한다.


  
  

  
  
    
    
    
  
  

  
    WishList for <xsl:value-of select="aws:CustomerName" />
    
    
  

  
  
  
    
    <xsl:value-of select="aws:Item/aws:ItemAttributes/aws:Title" />
    
    Lowest New Price: 
      
    
    
    
  
  
  

아마존 ECS에서는 웹 서비스 응답을 처리하기 위해 네임스페이스와 네임스페이스 접두어를 선언해야 한다. 예를 들어, XSLT 파일에서 aws:Item에 대한 참조는 XML 응답에서 요소에 해당한다. 네임스페이스의 버전 번호가 아마존 ECS에 대한 요청의 버전 번호와 일치하는지 주의해야 한다.

반환되는 각 제품 상세 페이지에 대한 링크를 추가했다. 아마존 웹 서비스 라이선스 동의를 참고하기 바란다.

XSLT 서비스 요청 만들기

원래의 아마존 ECS 요청에 XSLT 서비스를 사용하기 위해 몇 가지 수정을 해야 한다.
  • 요청에 Style 파라미터를 추가한다.
  • 요청을 http://xml-us.amznxslt.com과 같은 특별한 XSLT 서비스 종단점(endpoint)으로 전송한다.
아마존 ECS에서 접근할 수 있도록 웹 상에 XSLT 파일을 저장해야 한다. 아마존 S3를 사용해서 우리의 파일을 저장한다. XSLT 서비스에 대한 요청은 다음과 같다.
http://xml-us.amznxslt.com/onca/xml?
   Service=AWSECommerceService&
   Version=2006-06-07&
   AWSAccessKeyId=1CE7SK4ZPTNDQZCWBP82&
   Operation=ListLookup&
   ListType=WishList&
   ListId=30BOZ74K6RSKJ&
   ResponseGroup=ItemAttributes,ListItems,ListInfo,Offers
   Sort=DateAdded&
   Style=http://s3.amazonaws.com/amazon_xslt_files/ecs_to_rss-wishlist.xslt
RSS 피드 사용하기

XSLT 서비스는 사용중인 RSS 리더에서 URL로 아마존 ECS에 대한 요청을 직접 입력할 수 있다. 이용할 수 있는 RSS 리더는 매우 다양하므로, 자신의 필요에 맞는 최적의 것을 선택하면 된다. 우리는 파이어폭스에서 Sage를 사용하고 있으며, 그림1과 같은 모습을 제공한다.

그림1
그림1. 위시 리스트 피드

자신만의 피드 만들기

이 예제를 커스터마이징할 수 있다. 기본 단계는 다음과 같다.
  1. 추가 리소스에서 XSLT 파일을 다운로드 한다.
  2. XSLT 파일을 공개적으로 접근할 수 있는 위치에 올린다. 공개적으로 읽을 수 있는 정책으로 아마존 S3를 사용하는 것도 좋다.
  3. 아마존 ECS 요청에 위시 리스트 ID를 여러분의 ID로 업데이트 한다.
아마존 ECS 요청에 관련 ID를 추가할 수 도 있다. 이는 RSS 피드에서 발생한 어떤 구매에 대해서도 소정의 수수료를 벌 수 있게 해준다. 이미 관련 ID(Associate ID)가 있다면, 이를 얻기 위해 서명만 하면 된다.

원하는 형태의 출력을 만들기 위해 XSLT 서비스를 사용할 수도 있다. 이를 위해서는 다음을 염두에 둔다.
  • XSLT 서비스는 디버깅하기에 좋지 않으므로, 표준 아마존 ECS 응답을 XML 파일로 저장해서 자신의 XSLT를 테스트하는 것이 가장 좋은 방법이다. 개발중인 XSLT 파일을 사용해서 저장한 XML 파일을 변환하기 위해 로컬에 설치된 XSLT 프로세서를 사용하는 것이 좋다.
  • XSLT 파일 네임스페이스의 버전 번호가 아마존 ECS에 대한 요청의 버전 번호와 일치하는지 확인한다.
  • 제품에 대한 링크를 포함하고 있는지 확인한다.
추가 리소스
TAG :
댓글 입력
자료실

최근 본 상품0