메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

Weather report: 재구성 가능한 애플리케이션 쇼케이스 빌드

패턴을 사용하는, 재사용 가능한 멋진 WebSphere CloudBurst Appliance 프로젝트

Dustin Amrhein Dustin Amrhein, 기술 전도사, IBM
Dustin Amrhein
Dustin Amrhein은 WebSphere Application Server 개발팀 구성원으로 IBM에 합류했다. 이 자리에 있는 동안 Dustin은 주로 웹 서비스 인프라와 웹 서비스 프로그래밍 모델에 관해 작업했다. 이외에도 Java 런타임을 위한 RESTful 서비스 프레임워크의 개발에 관해 작업했다. 그의 현재 직함은 WebSphere Client Technical Professional이다.

요약:  IBM® WebSphere® 신기술 전도자인 Dustin Amrhein은 WebSphere CloudBurst Appliance를 사용하여, 다양한 클라이언트 세션을 호스트하며, 요청 시 재구성되어 클라이언트 세션의 여러 인스턴스를 지원할 수 있는 쇼케이스 엔터프라이즈 애플리케이션 환경의 구성 과정을 설명합니다.

기사 게재일:  2011 년 11 월 08 일
난이도: 초급 원문:  보기 PDF:  A4 and Letter (56KB | 8 pages)Get Adobe® Reader®
페이지뷰:  929 회
의견:  


동료 기술자들도 이러한 느낌을 잘 알고 있다고 생각한다. 이메일, 회의 및 컨퍼런스 콜과 그밖에 기업 세계를 구성하고 있는 모든 것이 완전히 사라졌을 때의 느낌 말이다. 그것이 독자가 자주 다루는 무엇이 아니기를 바라지만, 독자가 필자를 좋아한다면 단 한 가지 치유책이 있다.

배경

Dustin의 MydW 프로파일에서 알 수도 있지만, Dustin이 열과 성을 다한 결과는 그의 My developerWorks 블로그에서 확인할 수 있다.

자신의 재능을 활용해야 한다.

옭은 말이다. 극단적인 편견에 사로잡혀 전화기를 내려 놓고, Web Meeting에 있는 브라우저를 닫고, 이메일의 받은 편지함에 있는 삭제 단추를 사용할 때이다. 코드와 스크립트를 작성하고 구성과 통합을 수행할 시점이다. 다시 말해서 장갑을 벗고 직접 무엇인가를 해야 할 때이다.

해결할 문제점

얼마 전에 필자는 평범함으로부터 잠시 벗어날 필요가 있었고 다행히도 WebSphere CloudBurst Appliance를 사용하여 멋진 프로젝트를 수행할 수 있는 기회를 잡았다.

다양한 클라이언트와 앞으로 있을 일부 작업을 확인하는 과정에서 IBM 내에 있는 그룹이 필자의 팀에 와서 도움을 요청했다. 그들은 다양한 클라이언트 세션을 호스트하는 데 사용할 수 있는 쇼케이스 엔터프라이즈 애플리케이션 환경을 구성하는 데 도움이 필요했다. 쇼케이스 엔터프라이즈 애플리케이션 환경의 초기 구성 외에도 요청 시 환경을 재구성하여 이러한 클라이언트 세션의 다양한 인스턴스를 많이 지원할 수 있어야 했다.

도움을 주기 위해 필자의 팀에서는 해당 엔터프라이즈 애플리케이션 환경에 필요한 것이 무엇인지 질문을 했다. 물론, 대답은 애플리케이션, 특히 Java™ 웹 서비스 애플리케이션으로 시작되었다.

그들이 원하는 애플리케이션 유형과 제공하고자 하는 사용자 경험 유형을 설명하자, 다음과 같은 다양한 요구가 분명해졌다.

  • 이 애플리케이션에는 백엔드 데이터베이스에서 데이터를 읽고 쓰는 기능이 필요했다.
  • 또한, 전적으로 HTTP 세션을 사용해야 했다. 이 때문에 이러한 세션이 분명하게 사용 가능하다는 점을 보장해야 했다.
  • 게다가 이 애플리케이션에 맞춰 SOAP와 JSON 인터페이스를 노출해야 했다.
  • 애플리케이션에 대한 요구가 일관성이 없고 경험이 천차만별이었다.

인프라 정의

그 후, 필자의 팀에서는 두 가지 작업을 수행했다. 애플리케이션 개발을 시작했으며, 애플리케이션을 지원하는 데 필요한 인프라를 결정했다. 애플리케이션 개발 자체는 흥미로웠지만, JPA, JSON, jQuery 및 웹 서비스와 같은 주제를 다루어야 했으며, 필자는 애플리케이션 인프라를 지원하는 데 집중하고 싶었다.

클라이언트가 언급한 애플리케이션 요구사항을 지원하려면 여러 가지 다양한 애플리케이션 인프라 컴포넌트가 필요하다는 것이 즉시 분명해졌다. 두 번의 회의를 통해 "논의"한 결과, 다음과 같은 인프라를 사용하여 애플리케이션을 지원하기로 결정했다.

  • WebSphere Application Server: WebSphere Application Server는 JEE 웹 서비스와, HTML 파일과 같은 기타 관련 애플리케이션 컴포넌트를 호스트하는 데 필요한 런타임 컨테이너를 제공했다.
  • DB2 Enterprise Edition: 웹 서비스 애플리케이션용 백엔드 데이터 저장소로 DB2를 사용했다.
  • WebSphere Virtual Enterprise: WebSphere Virtual Enterprise에서 활용할 수 있는 기능은 매우 다양했지만, 동적 클러스터와 애플리케이션 서비스 레벨 정책을 활용했다. 서비스 레벨 정책과 함께 애플리케이션의 가변 워크로드를 수용할 수 있는 기능을 제공한 동적 클러스터에 웹 서비스 애플리케이션을 배치했다.
  • WebSphere DataPower XC10: WebSphere DataPower XC10 어플라이언스를 HTTP 세션용 저장소로 사용했다. 이러한 어플라이언스를 종합적으로 사용하여 HTTP 세션의 가용성을 보장할 수 있었다. 게다가 이러한 어플라이언스에 HTTP 세션을 저장했기 때문에 이렇게 하지 않았으면 애플리케이션의 JVM 내에서 HTTP 세션이 차지했을 메모리를 확보할 수 있었다.
  • WebSphere DataPower XI50: 여기서 언급한 다른 모든 컴포넌트와 마찬가지로 WebSphere DataPower XI50 어플라이언스는 수많은 기능을 제공한다. 필자의 경우에는 JSON 인터페이스를 사용하여 웹 서비스 애플리케이션에 액세스하기 위해 이 어플라이언스의 웹 서비스 프록시와 변환 기능을 활용했다.

엔터프라이즈 미들웨어 환경에 익숙하면 이러한 각 컴포넌트를 단순히 배치하는 작업이 하찮은 태스크가 아니라고 여겼을 것이다. 그러나 각 인프라를 설치하는 작업 이외에도 애플리케이션의 주된 목적을 달성하기 위해 이러한 것들을 통합해야 했다. 게다가 생성된 작업의 결과를 얻게 될 다른 것을 위한 수단을 확립하여 그것이 적시에 일관되게 환경을 프로비저닝할 수 있게 하고 그 결과로 작성된 환경이 정확하게 구성되었다는 것을 확고하게 신뢰할 수 있게 해야 했다.


도구 및 접근 방식 선택

이러한 모든 것을 고려하면 모든 요구를 충족시킬 수 있는 해결책(WebSphere CloudBurst)을 얻을 수 있다.

더 중요한 사실은 사용자가 대상 애플리케이션 환경을 사설 클라우드에 배치할 수 있도록 WebSphere CloudBurst 패턴을 빌드하기로 했다는 점이다.

특히, 앞에서 언급한 애플리케이션과 애플리케이션 인프라의 구성을 캡슐화할 패턴을 빌드했다. 이 애플리케이션 환경을 설정해야 하는 누군가는 단순히 WebSphere CloudBurst Appliance에 로그인하여 패턴을 배치하고 몇 분 내에 환경을 실행할 수 있다.

패턴으로 이러한 활동을 캡슐화했기 때문에 배치하는 사람은 애플리케이션과 관련 인프라를 설치하고 구성 및 통합하는 방법을 알아야 할 필요가 없었다. 게다가 패턴 덕택에 사용자가 패턴을 배치할 때마다 해당 환경이 올바르게 구성될 수 있었다.


다음은 그 결과이다.

그러면 이 패턴은 어떤 형태로 되어 있을까? 그림 1에 표시된 바와 같이 이 패턴은 WebSphere Application Server, WebSphere Virtual Enterprise 및 DB2 Enterprise Edition의 일부로 구성된다.


그림 1. WebSphere CloudBurst 패턴
WebSphere CloudBurst 패턴

컴포넌트

각 컴포넌트는 다음과 같은 것을 제공한다.

  • WebSphere Application Server: 패턴에 배치 관리자 하나와 사용자 정의 노드 두 개가 포함되어 있다. 사용자 정의 노드는 WebSphere Application Server 인스턴스를 호스트하며, 배치 과정에서 WebSphere CloudBurst가 이러한 인스턴스를 배치 관리자 노드에서 관리되는 셀에 자동으로 연합한다.
  • WebSphere Virtual Enterprise: 패턴에는 On-Demand Router(ODR) 인스턴스가 포함되어 있다. ODR은 애플리케이션을 대상으로 서비스 레벨 정책을 시행할 수 있게 하는 우선순위 기반 워크플로우 관리를 가능하게 한다.
  • DB2 Enterprise Edition: 패턴에는 데이터베이스 서버 인스턴스를 표현하는 단일 DB2 Enterprise Edition 부분이 포함되어 있다.

WebSphere CloudBurst 확장 및 캡처 메커니즘을 사용하여 사용자 정의 이미지를 작성했다는 점을 알아야 한다. 이 사용자 정의 이미지에는 해당 어플라이언스와 함께 제공되는 WebSphere Application Server Hypervisor Edition(Intelligent Management Pack 옵션이 있는)에 있는 모든 비트가 포함되어 있으며 게다가 WebSphere eXtreme Scale 클라이언트 2진 파일을 설치했다. 배치된 환경을 구성하는 과정에서 이러한 2진 파일을 사용한다.

스크립트 작성

구성과 관련해서는 패턴에 포함된 스크립트 패키지를 통해 필요한 모든 배치 시간 구성 액션을 패턴에 제공했다. 그림 1에서 알 수 있듯이 패턴에는 다양한 스크립트 패키지가 많이 포함되어 있다.

  • Add IBM HTTP Server node: 이 스크립트 패키지는 배치 관리자 노드와 동일한 가상 머신에서 실행될 IBM HTTP Server 인스턴스를 작성한다. WebSphere CloudBurst에는 사용할 스크립트 패키지가 포함되어 있다.
  • Profile augmentation-WXS: 이 스크립트 패키지는 WebSphere Application Server 가상 머신(사용자 정의 이미지를 통해)에 있는 WebSphere eXtreme Scale 2진 파일을 사용하여 해당 프로파일이 WebSphere eXtreme Scale 프로파일이 되도록 보강한다. 애플리케이션이 WebSphere DataPower XC10을 HTTP 세션 저장소로 사용하도록 구성하려면 이 프로파일이 WebSphere eXtreme Scale 프로파일이 되어야 한다.
  • Create DB2 data source: 이 스크립트 패키지는 WebSphere Application Server 데이터 소스를 구성한다. 웹 서비스 애플리케이션은 이 데이터 소스를 사용하여 DB2 데이터베이스 서버 인스턴스에서 데이터를 읽고 쓴다.
  • Create proxy: 이 스크립트 패키지는 IBM HTTP Server 인스턴스에서 WebSphere DataPower XI50 어플라이언스 방향으로 작동하는 역방향 HTTP 프록시를 작성한다. 이렇게 하면 크로스 도메인 스크립팅 제한을 극복할 수 있을 뿐만 아니라 WebSphere Application Server 도메인 내에서 실행 중인 애플리케이션에서 다른 도메인에 있는 WebSphere DataPower XI50 어플라리언스로 Ajax 요청을 전송할 수도 있다.
  • Configure DataPower rewrite policy: 이 스크립트 패키지는 정의된 WebSphere DataPower XI50 웹 서비스 프록시를 새로 배치한 웹 서비스 애플리케이션의 위치를 가리키도록 업데이트한다.
  • Install DB2 client JARs: 이 스크립트 패키지는 필수 WebSphere Application Server 노드에 DB2 클라이언트 JAR를 설치한다.
  • Dynamic cluster configuration: 이 스크립트 패키지는 배치 과정에서 WebSphere Virtual Enterprise 동적 클러스터를 작성한다. WebSphere CloudBurst는 해당 패턴의 Advanced options에서 Define dynamic clusters 옵션을 선택할 때 이 스크립트 패키지를 제공한다.
  • XC10 configuration: 이 스크립트 패키지는 WebSphere DataPower XC10을 HTTP 세션 저장소로 사용하도록 웹 서비스를 구성한다.
  • Install application: 이 스크립트 패키지는 WebSphere Virtual Enterprise 동적 클러스터에 웹 서비스를 설치한다.
  • Create DB2 database: 이 스크립트 패키지는 애플리케이션에 필요한 데이터베이스와 테이블을 DB2 데이터베이스 서버 인스턴스에 작성한다.

전체적으로 볼 때, 이러한 스크립트 패키지와 부분은 배치 과정에서 필요한 모든 것을 제공하는 패턴을 정의한다. 이 패턴을 다양한 사용자에게 노출하면 사용자는 필요할 때 이 패턴을 배치할 수 있으며 배치 결과는 사용자가 구성하고 사용자 정의한 애플리케이션 환경(온 프레미스 클라우드에서 실행 중인)이 포함된 가상 시스템으로 나타난다. 그림 2에는 가상 시스템과 그 통합 지점(그림 1에 표시되어 있는 패턴을 배치하여 작성된)이 표시되어 있다.


그림 2. 배치된 가상 시스템
배치된 가상 시스템

작동이 되었는가?

간단히 말해서 패턴은 필자의 팀이 우리의 목표 중 하나와 우리와 함께 작업 중이었던 사용자의 목표를 달성하는 데 도움이 되었다. 배치 가능한 유닛(패턴)을 직접 제공하여 미들웨어 기술 레벨이 각기 다른 다양한 사용자가 의미 있는 실행 애플리케이션 환경을 프로비저닝할 수 있게 했다.

게다가 클라이언트는 몇 분(대략 60분 미만) 내에 이 환경을 프로비저닝할 수 있었으며 필요할 때마다 이 환경을 정확하게 다시 작성할 수 있었다. 패턴이 이러한 클라우드 환경에서 실행 중이었다는 사실이 무엇보다 중요했다.

다음 단계

다음과 같은 방법을 통해 WebSphere CloudBurst를 사용하는 방법을 자세히 학습할 수 있다.

필자에게는 이점이 두 가지 중요한 사실을 입증해 주었다.

  • 첫 번째, 패턴을 기반으로 애플리케이션과 애플리케이션 인프라를 구성하여 클라우드에 배치하는 방식은 이러한 환경에 있는 관리자와 사용자에게 진정한 가치와 가능성을 제공한다.
  • 두 번째, 특히 WebSphere CloudBurst에 대해서는 어플라이언스를 사용하여 필요한 클라우드 기반 환경을 매우 단순한 유형에서 더 복잡한 유형에 이르기까지 어떠한 유형으로든 구성할 수 있다는 사실을 분명히 입증한다.

미들웨어 애플리케이션 환경을 일상적으로 구성하고 배치하는 경우에는 WebSphere CloudBurst 자체와 이러한 환경에 대한 이 WebSphere CloudBurst의 패턴 기반 접근 방식이 독자와 독자의 조직에 가져다 줄 수 있는 가치를 진지하게 고려해 보는 것이 좋다.


참고자료

교육

  • WebSphere CloudBurst Appliance에 관해 자세히 배우자.

  • developerWorks 클라우드 개발자 자원에서는 클라우드 배치를 위한 프로젝트를 개발 중인 애플리케이션 및 서비스 개발자의 경험과 지식을 찾아보고 공유할 수 있다.

  • developerWorks WebSphere 개발자 참고자료에서 클라우드에서의 WebSphere와 관련된 다수의 토론 내용을 포함하여 WebSphere 플랫폼에 대한 기술 참고자료를 많이 확인할 수 있다.

토론

필자소개

Dustin Amrhein

Dustin Amrhein은 WebSphere Application Server 개발팀 구성원으로 IBM에 합류했다. 이 자리에 있는 동안 Dustin은 주로 웹 서비스 인프라와 웹 서비스 프로그래밍 모델에 관해 작업했다. 이외에도 Java 런타임을 위한 RESTful 서비스 프레임워크의 개발에 관해 작업했다. 그의 현재 직함은 WebSphere Client Technical Professional이다.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=클라우드 컴퓨팅, WebSphere, Information Management, 자바
ArticleID=769007
ArticleTitle=Weather report: 재구성 가능한 애플리케이션 쇼케이스 빌드
publish-date=11082011

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.