메인 컨텐츠로 가기

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

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

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

  • 닫기 [x]

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

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

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

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

  • 닫기 [x]

새로운 WebSphere Portal Version 6 (한글)

Stefan Hepper, WebSphere Portal Programming Model Architect, EMC
Stefan Hepper는 WebSphere Portal, Workplace Client and Server programming model, 퍼블릭 API의 책임 아키텍트이다. Java Portlet Specification V 1.0 (JSR 168)을 이끌고 있으며, 현재는 V 2.0 (JSR 286)을 진행하고 있다. JSR-168의 레퍼런스 구현을 제공하는 Apache Pluto 프로젝트부터 시작했다. JavaOne 같은 국제 컨퍼런스에서 강의도 하고, 다양한 글도 발표하고 있으며, Pervasive Computing (Addison-Wesley 2001)과 Portlets and Apache Portals (download manuscript, Manning 2005)의 공동 집필했다. 독일 University of Karlsruhe에서 컴퓨터 공학을 전공했다. 1998년, IBM Boeblingen Development Laboratory에 입사했다.
Stefan Liesche, WebSphere Portal and Workplace Foundation Lead Architect, EMC
Author photo
Stefan Liesche is a Senior Technical Staff Member in the IBM Development Laboratory in Böblingen, Germany. He has 12 years of experience in the software development field. He holds a master of science degree in computer science from University of Hildesheim, Germany. He joined IBM in 1998 as part of the services group where his speciality was designing large-scale end-to-end e-business solutions for complex environments. Stefan has been working with IBM WebSphere Portal for years. He first worked on the construction of large-scale portal solutions before joining the WebSphere Portal development architecture team. He is the Lead Architect of Workplace and Portal Foundation.
Gregory Melahn, Senior Technical Staff Member, Workplace Content Architect, EMC
Gregory Melahn photo
Gregory Melahn은 1987년에 IBM에 입사했다. 2002년 이후, IBM의 컨텐트 컴포넌트 통합을 위한 아키텍처 개발 및 전략 책임을 맡아 단순하고 통합된 솔루션을 제공했다. WebSphere Portal 6을 위해 콘텐트 아키텍트로 활동했다. Senior Technical Staff Member이다.
Thomas Stober, Software Architect, IBM WebSphere Portal Development, EMC
Dr. Thomas Stober photo
Thomas Stober 박사는 WebSphere Portal의 릴리즈 아키텍트이고 WebSphere Portal V6.0 릴리즈의 기술 분야 책임자이다. IBM의 합성 애플리케이션의 핵심 인물이다. 과거에는 가상 포탈, 소프트웨어 컴포넌트화, 모바일 컴퓨팅, 데이터 동기화 분야에서 활동했다. Pervasive Computing Handbook을 집필했다.

요약:  새로운 IBM® WebSphere® Portal Version 6.0 (이후 WebSphere Portal)의 핵심적인 부분들을 설명합니다. WebSphere Portal이 서비스 지향 아키텍처(SOA) 환경을 이룩하는데 어떤 영향을 미치는지, 그리고 개발 프로젝트의 속도를 높여줄 기술적 향상에 대해서 설명합니다. 이 새로운 버전의 내용과 향상점을 배울 수 있는 좋은 글입니다.

원문 게재일:  2006 년 11 월 07 일
난이도:  중급
페이지뷰:  902 회
의견:  


머리말

최근 IBM은 WebSphere Portal Version 6을 출시했다. WebSphere Portal V6은 IBM의 서비스 지향 아키텍처(SOA)의 핵심 컴포넌트이다. 이 버전은 특히 향상된 사용자 경험과 추가적인 개인화 기능 등, 효율성과 생산성을 향상시켰다. 이 새로운 합성 애플리케이션 기능을 사용하여 애플리케이션 및 콘텐트 전개를 가속화 할 수 있다. WebSphere Portal 제품군의 일부가 된 IBM WebSphere Portlet Factory를 사용하여 포틀릿 개발을 매우 단순화 시킬 수 있다.

WebSphere Portal V6.0은 저비용으로 반응성과 신뢰성을 이룩했고, 고 가용성과 연속 실행을 위한 새로운 옵션을 제공한다. 이 버전은 JSR 168과 WSRP 같은 오픈 표준들에 대한 IBM의 끊임없는 헌신을 증명하고 있다.

WebSphere Portal V6.0은 세 가지 에디션이 있다. 기본 오퍼링인 WebSphere Portal Server는 핵심적인 포탈 기능을 제공한다. WebSphere Portal EnableWebSphere Portal Extend 웹 콘텐트와 문서 관리, 워크플로우, workflow, 인스턴트 메시징, 전자 같이, 기본 에디션에 추가 기능들을 포함시켰다. 이 외에, 이곳에서 설명한 모든 새로운 기능들은 기본 오퍼링인 WebSphere Portal 서버에 포함되었다.


WebSphere Portal과 SOA

SOA와 합성 애플리케이션 기능은 보다 유연하고 반응성 있게 비즈니스 솔루션들을 제공할 수 있도록 해준다. SOA는 하나의 제품이나 솔루션이 아니다. SOA는 재사용 가능한 비즈니스 기능과 비즈니스 프로세스를 모색하고, 이러한 구현 블록에서 애플리케이션들을 조합하는 아키텍처 원리이다. 이로서 비즈니스는 IN-SOURCE, OUT-SOURCE, NEAR-SOURCE를 최적화하고, 비즈니스 모델에 유연성을 제공할 수 있는 것이다.

사람들은 종종 이러한 것들이 통합과 비즈니스 프로세스 모델링을 통해 백엔드에서 시작하여, 서비스의 정의와 사용을 최적화 한다고 생각한다. 하지만, 이것은 프론트엔드에서 시작한다. 그런 다음, 사람들이 매우 실질적인 방식으로 SOA를 경험하고, 사용자와 서비스는 서로 밀접해 지는 것이다.


그림 1: SOA는 사람, 정보, 프로세스를 통합한다.
Figure 1: SOA integrates people, information, and processes.

WebSphere Portal은 사용자가 인터랙팅 및 작업할 수 있는 서비스들을 제공한다. 다시 말해서, 서비스에 대한 틀(shape)을 제공하는 것이다. 사용자들 마다 프로세스와 역할에 기반하여 다른 액세스 모드를 갖고 있기 때문에, 그 틀은 사용자의 역할과 정황에 따라 달라질 수 있다.

포탈은 프론트엔드에서 조합되는 합성 애플리케이션이다. 이것은 포틀릿을 통해 전달되는 서비스들을 위한 집합 포인트이다. WebSphere Portal V6.0의 이 새로운 기능은 엔드 유저가 필요한 서비스들과 인터랙팅 하는 포탈을 쉽게 사용 및 커스터마이징 할 수 있도록 해준다.

이 새로운 버전은 다음과 같은 기능을 제공한다:

  • 비즈니스 사용자가 포탈 애플리케이션들을 생성 및 확장할 수 있다. (사용자 페이싱(facing) 컴포넌트의 조합)
  • 관리자들이 보다 효율적으로 포탈을 전개, 설정, 관리할 수 있도록 한다.

여러분은 포틀릿을 보다 빠르고 경제적으로 결합 및 통합하여 협업 사용자 인터페이스를 만들고 필요한 비즈니스를 볼 수 있다. 유연한 역할 기반의 프론트엔드는 SOA의 성공에 있어 중요하다.

“2007년 내에, 엔터프라이즈 포탈은 50% 이상의 기업들의 SOA를 위한 주요 애플리케이션이 될 것이다. (0.6의 가능성).”

출처: Gene Phifer, Gartner Research; Publication Date: 12 October 2005/ID Number: G00132930 . Gartner 10/12/05.

WebSphere Portal은 더 많은 사람들이 자기가 하는 일에 더 많은 생산성을 이룩하도록 한다.

WebSphere Portal V6.0은 합성 애플리케이션들과의 작업을 단순화 한다. 비즈니스 사용자들이 연결된 애플리케이션들을 쉽게 조합 및 커스터마이징 하고, 컴포넌트들을 합성 애플리케이션으로 처리할 수 있는 새로운 애플리케이션 프레임웍이 포함되어 있다. 여러분은 애플리케이션 템플릿을 사용하여 더 많은 사용자들에게 추가 커스터마이징을 위임할 수 있고, 워크플로우를 결합하고, 프로그래밍 없이 정책 기반 프로비저닝과 워크플로우 연산을 지원할 수 있다. 따라서, 여러분은 합성 애플리케이션들을 새로운 사용자 커뮤니티로 확대할 수 있는 것이다.


간단해진 포틀릿 생성

포탈 기반 인터페이스는 사용자 개성, 역할, 개인적인 선호도에 따른 경험을 제공한다. WebSphere Portlet Factory와 WebSphere Portlet Factory Designer는 새로운 제품은 아니지만, WebSphere Portal 오퍼링의 일부가 되었다. 런타임과 디자이너 라이센스는 이 세 개의 에디션에 모두 포함되었다.

WebSphere Portal Factory는 포괄적인 포틀릿 개발 환경으로서 SOA 기반 포틀릿의 생성, 전개, 관리 프로세스를 자동화 한다. 프로그래머가 아닌 사원들도 WebSphere Portal Factory를 사용하여 회사의 기존 애플리케이션에 액세스 하는 포틀릿을 빠르게 만들 수 있다. 이러한 포틀릿은 구현 블록으로서 합성 애플리케이션에 조합된다.


워크플로우 지원

포탈은 중요한 정보, 애플리케이션, 콘텐트를 한데 모은다. 또한, 프로세스를 모으고, 사람들이 재미있는 방식으로 인터랙팅 할 수 있도록 한다. 예를 들어, 사람들은 프로세스와 인터랙팅 할 수 있고 서로서로 인터랙팅 할 수 있다. 사람들은 무엇인가를 부드럽게 실행하도록 하는 프로세스의 중요한 요소이다. (다시 말해서, 문제를 해결하거나 이슈를 관리한다.) 사람 중심의 협업은 인간과 프로세스의 인터랙션이 일관성 있는 서비스 레벨을 유지하도록 하는 것이다. WebSphere Portal V6.0에는 기술 프리뷰로서 워크플로우 빌더가 포함되었는데, 이를 사용하여 비즈니스 사용자들은 비 포탈 환경에서 이메일 플로우로서 구현되는 부서 워크플로우를 생성 및 수정할 수 있다.


포탈 인터페이스의 인터랙티브 폼

많은 인터랙션에는 폼의 생성이나 완성도 포함된다. 국제 공항에 도착하고, 호텔에 체크인 하고, 컨퍼런스 피드백을 제공할 때, 많은 상황에서, 폼을 채우도록 되어있다. 이는 비즈니스와 에이전시가 데이터를 모으고 구체화 하기 위해 사용하는 것이다. 폼은 포괄적인 정보 교환 장치이다. WebSphere Portal V6.0과 IBM Workplace Forms의 고급 전자 폼 기능을 사용할 수 있다. 이들 두 제품을 사용하여:

  • 표준 포탈 인터페이스에 전자 폼을 추가한다.
  • 사용자들이 다른 애플리케이션의 정보에 쉽게 액세스 할 수 있도록 한다.
  • 사용자들이 전자 폼을 생성, 편집, 또는 볼 수 있도록 협업시킨다.

사용자 인터페이스 향상

WebSphere Portal V6.0은 사용자 경험도 눈에 띄게 향상시켰다. 현대적인 UI 디자인을 구현하여 완벽한 룩앤필을 선사한다.

관리, 콘텐트 관리, 템플릿팅 같은, WebSphere Portal의 주요 기능 영역에 액세스 할 수 있는 드롭다운 메뉴가 포함되었다. 메뉴들은 각 콘텍스트에서 사용할 수 있는 선택권을 제공하고, 이는 WebSphere Portal의 매우 매력적인 요소이다.


그림 2: 메인 드롭다운 메뉴와 콘텍스트 메뉴
Figure 2: The main drop-down menu and contextual menus

새로운 Portlet Palette는 포탈 페이지의 생성과 디자인을 단순화 시킨다. 팔레트는 페이지로 직접 드래그&드롭 할 수 있는 컴포넌트들을 나열해준다. 이 팔레트를 사용하면 포틀릿을 페이지에 정렬하는 작업이 단순해지고, 디자인도 훨씬 더 매력적이다.

막후에서, WebSphere Portal V6.0은 여러 장소에서 Ajax를 사용하여 UI 로직을 서버에서 브라우저로 이동한다. 예를 들어, 콘텍스트 메뉴는 Ajax에 기반하여 구현된다. 메뉴 옵션의 선택은 포탈 서버로 요청/응답 없이 브라우저 시스템에서 결정된다. WebSphere Portal Factory는 Ajax를 사용하여 “type-ahead” 기능을 구현하고 페이지안에 UI 조각들을 리프레쉬 한다.


그림 3: 드래그&드롭: Portlet Palette를 사용하여 포틀릿을 페이지에 추가하기
Figure 3: Drag and drop: Adding portlets to a page using the Portlet Palette

합성 애플리케이션과 템플릿

컴포넌트에서 애플리케이션을 구성하는 것은 하나의 애플리케이션을 완전히 새로 만드는 것 보다 효율적이다. 포틀릿을 사용하여 복잡한 비즈니스를 구현하는 것도 매우 쉽다:

  1. 개별 컴포넌트를 전개한다.
  2. 전개된 조각들을 스테이징 시스템에 정렬한다.
  3. 비즈니스 로직에 따라 포틀릿 인터랙션과 액세스 컨트롤을 정의한다.

이 모든 단계들에는 애플리케이션 개발자, 포탈 관리자 등이 개입해야 한다.

프로세스를 단순화 하기 위해, WebSphere Portal V6.0은 합성 애플리케이션들을 도입했다. 비즈니스 분석가와 애플리케이션 디자이너들은 포틀릿, 프로세스, 코드 생성물 같은 개별 컴포넌트에서 복잡한 비즈니스 로직을 구현하는 합성 애플리케이션들을 쉽게 조합할 수 있다.

합성 애플리케이션들은 SOA에서 큰 의미를 지닌 비즈니스 가치를 구현하는 핵심적인 툴이다. 사용자가 자신의 합성 애플리케이션들을 정의, 생성, 관리하도록 함으로서, WebSphere Portal V6.0은 시스템 관리자의 지원에 덜 의존하면서 비즈니스 중심 사용 모델을 활용할 수 있다.

합성 애플리케이션들은 두 개의 기본적인 부분을 사용한다. 템플릿과 애플리케이션이다.


그림 4: 컴포넌트에서 비즈니스 로직 구성하기
Figure 4: Composing business logic from components

템플릿

템플릿은 복잡한 비즈니스 로직이 기존 컴포넌트들에서 조합되는 방식을 정의하는 정보를 포함하여 추상적인 방식으로 합성 애플리케이션을 기술하고 있다. 이 템플릿은 포틀릿이나 자바 코드 생성물 같은 모든 컴포넌트들을 참조하고, 개별 컴포넌트에 대한 설정 같은 메타 정보를 지정하는 XML 파일이다. 이 템플릿은 포틀릿들간 와이어처럼, 컴포넌트들간 원하는 인터랙션이나, 애플리케이션 스팩의 사용자 역할 같은 액세스 컨트롤 로직을 정의하여 합성된 애플리케이션 작동을 기술한다.

비즈니스 로직을 이해하는 사람들은 템플릿을 만든다. WebSphere Portal은 이러한 태스크를 간단하게 수행할 수 있는 툴링을 제공한다. Template Builder는 포틀릿이고, 페이지 커스터마이저와 매우 유사하다.

템플릿이 만들어지면, 템플릿 라이브러리에 저장되고, 사용자 커뮤니티에서 소비된다. 다시 말하지만, 템플릿은 합성 애플리케이션의 추상적인 정의를 표현하는 XML 파일이다.


그림 5: Template Builder로 합성 애플리케이션 만들기
Figure 5: Creating a composite application with the Template Builder

애플리케이션

템플릿이 템플릿 라이브러리에 저장되기 때문에, 사용자는 템플릿을 선택하여, 선택된 템플릿 정의에 의해 기술된 합성 애플리케이션의 새로운 인스턴스를 만들 수 있다. 사용자들은 자신의 필요에 따라 애플리케이션 인스턴스를 관리한다.

예제

다음은 템플릿과 애플리케이션들이 어떻게 사용되는지를 보여주는 예제이다.

개발 팀은 회사 실정에 맞는 팀룸(teamroom) 애플리케이션을 디자인한다. 우선, 이 팀은 자신들이 조합할 수 있는 모든 컴포넌트들이 있는지를 확인한다. 대부분의 경우, 카탈로그에서 포틀릿과 로직을 선택한다. 어떤 경우에는, 컴포넌트를 새로 구현한다. 컴포넌트들이 규명되면, 애플리케이션 디자이너는 컴포넌트들을 추가 및 정렬하여 팀룸 애플리케이션을 조합한다. 결과는 catalogu,e 템플릿에 XML 파일로 저장되고, 회사 내 등록된 모든 포탈 사용자들이 사용할 수 있다.

우리 예제에서, 프로젝트 매니저는 자신의 프로젝트에 개별 팀룸 인스턴스를 만들고, 그 인스턴스를 동료와 함께 사용한다. 일반적인 템플릿 정의부터 시작하여, 회사 내 점점 더 많은 팀룸들이 생기게 된다.

애플리케이션 인스턴스와 템플릿은 매개변수(Parameters), 애플리케이션 역할(Application Roles), 멤버십(Membership)이라는 개념을 도입하고 있다.

변화 포인트 (Parameters)

같은 템플릿의 각 인스턴스가 정확히 똑같이 작동할 것이라고 생각하는 것은 현실적이지 못하다. 일반적으로, 각 애플리케이션에 고유의 설정을 해야 한다. 팀룸 예제에서, 팀룸의 특정 타이틀이 설정되어야 한다. WebSphere Portal V6.0에서는 변화가 필요한 부분 어디에든, 템플릿에 매개변수를 정의할 수 있다. 초기화 동안, 애플리케이션 생성자는 각 매개변수에 대한 특정 값을 채우고, 이 값들은 특정 인스턴스에만 적용된다.

우리 예제에서, 팀룸 템플릿의 개발자는 팀룸 타이틀을 매개변수로 설정한다. 나중에, 각 프로젝트 매니저는 특정 팀룸 인스턴스를 만들 때 의미를 가진 타이틀을 입력한다. 이러한 매개변수 개념은 고정된 템플릿의 사용에 유연성을 가져온다.


그림 6: 템플릿에 변화 포인트 활용하기
Figure 6: Leveraging points of variability in a template

애플리케이션 역할(Application roles)

템플릿을 통해 액세스 컨트롤 설정을 매우 효율적으로 정의할 수 있다. 템플릿 개발자는 특정 합성 애플리케이션 정황 속에서 의미를 가진, 역할들을 지정한다.

예를 들어, 팀룸 템플릿에 “프로젝트 리더”, “프로젝트 멤버”, “게스트”, “관리자” 역할이 있다고 해보자. 이들 각 애플리케이션 역할들은 매우 구체적인 포탈 액세스 컨트롤 역할들을 모은다. 프로젝트 멤버는 FAQ 포틀릿으로의 에디터 액세스를 갖고 있고 문서 리파지토리에 대한 관리자 액세스도 갖고 있다. 반면, 게스트는 FAQ 포틀릿으로 사용자 액세스만 할 수 있으며, 문서 리파지토리에는 액세스 할 수 없다. 개별 컴포넌트에 많은 액세스 컨트롤 역할들의 복잡성을 숨길 수 있고 단순화된 애플리케이션 레벨 역할들로서 노출할 수 있다.


그림 7: 템플릿에 애플리케이션 역할 설정하기
Figure 7: Setting up application roles in a template

멤버십(Membership)

템플릿이 인스턴스화 되면, 결과 애플리케이션은 사용자 커뮤니티에서 사용될 수 있다. 애플리케이션 소유자는 필요할 경우, 커뮤니티에 멤버들을 추가할 수 있고, 새로운 멤버들에게 사전 정의된 애플리케이션 레벨 역할들을 할당할 수 있다. 엔드 유저는 애플리케이션에 대해 사용자 관리를 수행할 수 있다.

워크플로우

합성 애플리케이션에 워크플로우 기능을 사용할 수 있다. WebSphere Portal V6.0에는 새로운 Workflow Builder 포틀릿이 있는데, 이는 사용자들이(비즈니스 분석가나 애플리케이션 디자이너) 프로세스를 정의할 수 있도록 해준다. "create process" 정의는 템플릿 내에서 컴포넌트로 취급되고, 합성 애플리케이션 콘텍스트에서 사용될 수 있다. 예를 들어, “Document review process” 라는 워크플로우를 Teamroom 샘플 애플리케이션에 추가한다.

중요: Workflow Builder는 WebSphere Portal V6.0에 있는Tech Preview이다.


포탈 개인화

WebSphere Portal은 다양한 사용자 그룹을 위해 포탈을 개인화 할 수 있고 애트리뷰트에 기반하여 관리를 실행할 수 있다. 원래, 포탈 서버에서는 사용자 역할에 기반하여 엔드 유저가 보는 콘텐트를 커스터마이징 할 수 있다. 예를 들어, “매니저” 그룹에 있는 사용자는 사원의 급여를 나타내는 포틀릿에 액세스 할 수 있다. WebSphere Portal V6.0에는 이제, 규칙들을 정의하여 현재 요청과 요청에 적용되는 규칙에 기반하여 엔드 유저가 보는 콘텐트를 수정할 수 있다.

WebSphere Portal V6.0에서는 관리자가 특정 애트리뷰트나 역할에 기반하여 콘텐트를 제공할 수 있기 때문에, 각 사용자 경험은 독자적이다;

  • 사용자에게 첨부된 메타 정보에 기반하여 역할을 사용하여 콘텐트를 필터링 한다. 예를 들어, 다른 콘텐트를 “골드” 고객 대 “표준” 고객에 제공할 수 있다.
  • 애트리뷰트 기반 관리를 사용하여 사용자 메타 데이터에 기반하여 콘텐트를 보여주거나 숨기는 가시성 규칙을 정의한다. 예를 들어, 매주 월요일, 그 주의 목표를 보여주는 페이지나 포틀릿을 디스플레이 한다.
  • 포탈 리소스나 사용자 경험의 작동에 영향을 미칠 수 있도록, 쿼리 되는 정책과 특정 속성들을 정의한다. 예를 들어, 메일 사이즈 할당을 설정한다.

이러한 개념들을 결합할 수도 있다. 사용자가 “골드” 사용자라면, 고객의 메일 사이즈 할당을 “표준” 사용자 보다 크게 설정한다.

그림 8은 Show Portlet Rule Manager가 실행되는 Edit Page 모습이다. (오른쪽 위를 보면, 반대편 토글 옵션인 Hide Portlet Rule Manager를 사용할 수 있다는 것을 알 수 있다.) 포틀릿의 가시성에 영향을 미치는 각 포틀릿의 특정 규칙을 정의할 수 있다.


그림 8: 특정 포틀릿에 새로운 규칙 만들기
Figure 8: Creating a new rule for a specific portlet

Create New Rule 버튼을 누르면, Personalization Picker 포틀릿이 디스플레이 된다. (그림 9)


그림 9: Personalization Picker로 새로운 규칙 만들기
Figure 9: Creating a new rule with the Personalization Picker

기본 규칙은, 검정색 외 다른 색상으로 디스플레이 된 단어를 클릭하면, 마법사가 열린다. (그림 10)

특정 규칙을 평가할 수 있는 애트리뷰트를 선택할 수 있다. 그림 10의 예제에서, 사용자 관리 시스템의 애트리뷰트를 평가할 수 있다. 따라서 Portal Users를 선택한다. 팝업 창이 디스플레이 되면서, 사용할 수 있는 사용자 관리 속성들이 나타난다. 리스트에서 ibm-hobby를 선택한다.


그림 10: 규칙에 대한 애트리뷰트 선택하기
Figure 10: Selecting an attribute for the rule

규칙을 실행하려면 선택된 애트리뷰트가 갖추어야 하는 특정 값을 추가한다. (그림 11) 이 예제의 경우, 포틀릿을 사용자에게 디스플레이 하려면, 현재 사용자의 취미가 스포츠여야 한다.


그림 11: 선택된 애트리뷰트가 가져야 할 값을 추가하면 현재 규칙에 적용된다.
Figure 11: Adding a value for the selected attribute must have to apply the current rule

그림 12는 마지막 규칙을 보여주고 있고, 이는 포틀릿에서 수행할 마지막 작업이다. addCondition 버튼을 사용하여 더 많은 조건들을 추가하거나, 규칙을 뒤집고, 규칙이 true가 될 경우 포틀릿을 숨긴다.


그림 12: 사용자 취미가 스포츠일 경우에만 포틀릿을 디스플레이 하라는 내용의 규칙
Figure 12: Final rule telling the portal to only display this portlet if the user has as hobby sports

WebSphere Portal 프로그래밍 모델

WebSphere Portal 프로그래밍 모델은 J2EE 프로그래밍 모델의 확장이다. 이를 사용하여 WebSphere Portal 플랫폼의 풍부한 기능을 활용하는 웹 애플리케이션을 구현할 수 있다. 집합된 컴포넌트들을 페이지 계층, 유연한 검색, 콘텐트와 애플리케이션 집합, 브랜딩, 커스터마이징, 개인화, 콘텐트 관리, 문서 관리, 검색에 포함시킬 수 있다.

WebSphere Portal 프로그래밍 모델은 다양한 API, SPI, JSP Taglibs, Eclipse 플러그-포인트, 디스크립션들로 구성되어, 다양한 레벨에서 집합 단계를 커스터마이징 할 수 있다.

기본 모델

기본 WebSphere Portal 프로그래밍 모델은 WebSphere Portal V5.1에 도입되었고, Version 6은 이를 확대한 것이다. WebSphere Portal V5.1.0.1 Programming Model 기술자료 시리즈에서는 다음과 같은 주제들을 다루고 있다:

이 기술자료들의 내용은 WebSphere Portal V6.0에 적용할 수 있고, 샘플들도 WebSphere Portal V6.0에서 실행할 수 있다. 다음 섹션에서는 WebSphere Portal V6.0 프로그래밍 모델에 추가된 새로운 기능들을 소개하겠다.

새로운 V6.0 프로그래밍 모델

기본 프로그래밍 모델이 WebSphere Portal V6.0에서 어떻게 변화했는지를 보자. 이전 섹션에서, 합성 애플리케이션, 개인화, 규칙 등 몇 가지 향상점에 대해서 보았다.

WebSphere Portal V6.0 프로그래밍 모델의 새로운 기능에는:

  • 합성 애플리케이션. 앞서 설명한 대로 비즈니스 애플리케이션과 템플릿을 만든다.
  • 테마와 스킨 확장 포인트. 정의된 확장 포인트를 사용하여 디폴트 테마와 스킨을 커스터마이징 할 수 있다. 디폴트 테마와 스킨 코드에서 커스터마이징 코드를 분리한다. 그런 다음, 디폴트 테마와 스킨 코드를 쉽게 업데이트 한다. 커스터마이징 코드에 어떤 영향도 주지 않는다.
  • 드래그 & 드롭. 드래그 소스와 드롭 타겟을 정의하여 포틀릿, 테마, 스킨에 새로운 드래그 & 드롭 기능을 사용한다.
  • 정책. 정책을 만들어서, 위에 설명한 정책과 개인화 시스템에 연결한다.
  • Edit Default 모드 지원. 관리자와 비즈니스 사용자는 사용자들간 공유되는 포틀릿에 설정하고자 하는 디폴트 설정과, Edit 모드에서 설정될 수 있는 개인 설정들을 구분할 수 있다.
  • 고급 Portlet URL Generation 기능. V5.1.0.1의 테마와 스킨에 URL Generation SPI를 사용하여 다른 페이지와 포틀릿을 가리키는 URL을 만든다. WebSphere Portal V6.0은 또한 단순화 된 버전의 SPI를 URL Generation API로서 제공하여 대부분의 경우에 쉽게 사용한다.
  • 부가적인 포탈 모델과 상태 SPI. 메타 데이터를 모으고, 현재 페이지 로케일을 설정한다.
  • 검색. IBM에서 사용할 수 있는 다양한 검색 엔진용 일반 검색 API를 사용한다.
  • 워크플로우. 워크플로우 빌더 툴을 통해 처리되는 데이터 객체들을 만든다.

WebSphere Portal V6.0 프로그래밍 모델 기술자료 시리즈에서 이러한 기능들을 보다 자세히 설명하도록 하겠다. WebSphere Portal 존을 주지하기 바란다.

WebSphere Portal V6.0은 WebSphere Portal V5.1.0.1에서 이미 사용되는, Credential Vault API, Task Processing API, Web Content Management API, Puma SPI 같은, API에 추가 확장을 제공한다. WebSphere Portal Information Center에 자세히 설명되어 있다.

WebSphere Portal V6에서 주목해야 할 것은, JSR 168 표준 포틀릿 API에 대한 IBM의 헌신을 증명하기 위해 IBM Portlet API가 퇴보했다는 점이다. 또한 많은 새로운 기능들을 표준 포틀릿에서만 사용할 수 있다.

IBM Portlet API는 다음 릴리즈 까지는 지원될 것이다. 하지만, IBM 포틀릿을 다루려면, 이를 표준 API로 포팅해야 할 것이다. IBM 포틀릿을 표준 포틀릿 API로 마이그레이션 하는 방법은 "Comparing the JSR 168 Java Portlet Specification with the IBM Portlet API"와 "Converting the WorldClock portlet from the IBM Portlet API to the JSR 168 portlet API" (참고자료)를 참조하라.


콘텐트와 웹 콘텐트 관리

WebSphere Portal V6의 Enable과 Extend 에디션에 제한 라이센스로 포함된 IBM Workplace Web Content Management도 많이 향상되었다.

오픈 표준에 대한 IBM의 헌신을 유지하면서, Web Content Manager는 WebSphere Portal에 포함된 Java Content Repository (JCR)를 기반으로 하고 있다. 이 리파지토리는 JSR 170 표준에 기반하고 있다. 이것은 Portal Documents에 사용되는 같은 리파지토리이고, Web Content Management 컴포넌트가 이전 릴리즈 보다 더 나은 확장성과 퍼포먼스를 제공하도록 한다. JCR에 콘텐트가 있으면 WebSphere Portal의 개인화 컴포넌트로 만들어진 비즈니스 규칙을 사용하여 콘텐트를 개인화 하기가 더 쉬워진다.

Web Content Management 관리가 더 간단해졌다. 이것의 노드가 이제는 같은 리파지토리를 공유할 수 있게 되어, 제품과 작성 환경에 완벽한 클러스터링 지원이 가능하기 때문이다. WebSphere 로깅과 캐싱 서비스 사용과 WebSphere Portal 액세스 컨트롤 관리는 관리를 단순화 하는데 도움이 된다.

JCR은 콘텐트를 콘텐트 라이브러리로 보다 잘 조직할 수 있는 방식을 제공한다. 이 기능은 Portal Document Manager에서 이미 사용되었고, 이제는 Web Content Manager에서 사용된다. 라이브러리는 웹 콘텐트를 보다 잘 관리할 수 있도록 하며, 액세스 권한을 관리하고, 테스트 콘텐트를 제품 콘텐트에서 분리하고, 멀티 언어 콘텐트를 조직하고, 사이트 간 콘텐트를 공유하기가 더 쉬워진다.

콘텐트 작성자를 위한 사용자 경험도 향상되었다. 링크, 넘버와 날짜, 커스텀 헬프, 제한 체크, 향상된 네비게이션, 뷰와 리치 텍스트 편집 기능이 추가되었다. 새로운 인라인 작성 컴포넌트를 사용하여 사이트 내에서 콘텐트를 직접 작성할 수 있다.

콘텐트 작성자와 엔드 유저는 콘텐트를 보다 쉽게 검색할 수 있다. 포탈 검색 컬렉션에는 웹 콘텐트가 포함될 수 있고, 새로운 검색 컴포넌트를 Web Content Management로 디자인 된 사이트에 추가할 수 있다.

WebSphere Portal Document Manager는 Windows Desktop이나 Microsoft Office 제품에서 직접 문서로 액세스 할 있게 해준다. 문서 라이브러리는 Windows Explorer의 네트워크 위치에 나타나고, 잠금, 버저닝, 편집 같은 문서 관리 기능에 쉽게 액세스 할 수 있다. Portal Document Manager의 퍼포먼스도 향상되어 문서를 저장하고 문서 프리뷰를 체계화 한다.


작동과 전개

WebSphere Portal V6은 향상된 작동, 전개, 관리 기능을 제공하여 크고 작은 WebSphere Portal 전개 시 효율성을 높인다.

다중 LDAP 지원이 되기 때문에, WebSphere Portal V6을 이미 전개된 사용자 디렉토리를 포함한 다양한 사용자 디렉토리 환경과 통합하고, 기존의 값진 사용자 프로파일 데이터에 액세스 할 수 있다. 새로운 디렉토리를 바인딩 하여, Virtual Portal 기능을 사용할 때, 방화벽 안팎에서 WebSphere Portal 인프라스트럭처를 활용할 수 있다. 다중 LDAP를 바인딩 하는 기능은 인프라스트럭처 투자와 복잡성을 줄인다. 디렉토리 통합이나 사용자 통합의 필요가 적기 때문이다. 또한 새로운 다중 사용자 디렉토리 지원과 여러 개의 동일한 LDAP로 바인딩 하는 기존 WebSphere Portal 기능을 결합하면 가용성을 높일 수 있다.

다중 읽기 전용 LDAP 쉐도우로 연결을 지원하기 때문에, WebSphere Portal의 사용자 인증의 가용성을 높일 수 있다. LDAP 로드 밸런서 같은 인프라스트럭처 컴포넌트 없이도, WebSphere Portal을 다중 쉐도우 (동일 데이터의 복사본을 포함하고 있는 LDAP)로 연결할 수 있다. LDAP를 사용할 수 없을 경우, WebSphere Portal은 다른 LDAP로 완벽히 연결될 수 있다. 따라서, LDAP 서버 사용에 문제가 없다.


그림 13: 다중 LDAP 지원
Figure 13: Multiple LDAP support

WebSphere Portal V6은 포탈 데이터 관리도 향상시켰다. 포탈 설정 리파지토리는 개별적으로 관리 가능한 데이터베이스나 스키마 객체들(데이터 도메인)으로 구성된다.


그림 14: 데이터 도메인
Figure 14: Data domains

데이터를 분리함으로써, 다중 포탈들 간 도메인을 공유할 수 있다. 공유 데이터 도메인(shared data domains) 기능으로, 운영자는 지속적으로 사용할 수 있는(24x7) 포탈 사이트에 완벽한 커스터마이징 지원을 제공하고, 운영 절차를 간소화 한다. 운영자는 여러 독립적인 제품 라인을 만들어서, 이들이 설정을 변경하고, 관리를 적용하고, 솔루션을 한꺼번에 제공한다.

운영자는 이제, 다른 데이터베이스 유형들간 다른 데이터 도메인을 분산할 수 있다. (그림 14) 각 도메인에 가장 효과적인 데이터 베이스를 선택하여 운영 비용을 줄이고 각 도메인에 알맞은 가용성 레벨을 제공한다.

포탈 데이터를 여러 도메인들에 분리하면 분산된 포탈 운영을 확립할 수 있는 더 많은 옵션들이 생긴다. 데이터베이스 레벨에서 데이터를 분리함으로써, 데이터의 복사는 더욱 쉬워진다. 데이터 도메인 당 데이터베이스 복사를 통해(복사 메커니즘에서 제공하는 데이터베이스 사용), 운영자는 글로벌로 분산된 포탈 사이트를 만들 수 있고, 이 사이트는 개별적으로 관리 및 운영된다. 각 포탈 사이트는 전용 릴리즈 데이터 도메인과 공유 사용자 커스터마이징 데이터 도메인을 갖게 된다.

릴리즈는 (예를 들어, XMLAccess를 사용하는) 다른 사이트와는 독립적으로 사이트로 전개된다. 스테이징(staging)을 통해 여러 사이트에서 동일한 포탈 솔루션을 사용할 수 있다. 같은 위치에 있는 여러 사이트들이 같은 커스터마이징 데이터베이스 서버를 공유하고 있다면, 위치 독립에 대한 요구가 큰 글로벌 전개 시, 사용자 커스터마이징은 사이트 간 2-way 복사를 사용하여 각 사이트에 로컬로 호스팅 될 수 있다. 사용자들은 요청에 대응하는 사이트와 독립적으로 커스터마이징 된 포탈 사이트에 액세스 할 수 있다.

데이터베이스 복사 스크립트는 WebSphere Portal 오퍼링이 아니다. 특정 인프라스트럭처 필요에 맞는 스크립트를 만들어야 한다. 또한 데이터베이스 벤더가 제공하는 데이터베이스 복사 메커니즘을 사용하는 것도 고려해 볼 수 있다.

WebSphere Portal V5.1에서, 모든 데이터는 싱글 DB 리파지토리의 일부이다. 하지만, 이러한 데이터 유형은 이미 존재했고 도메인들로 간단히 나뉘지 않는다. WebSphere Portal V6에서, 포탈 리파지토리는 다음과 같은 데이터 영역들로 구성된다: Release, Community, Customization, Feedback, LikeMinds, JCR, Member Manager.

릴리즈 데이터는 실행 동안(관리자가 페이지, 포틀릿, 포틀릿 인스턴스를 정의하는 동안) 수정되지 않는다. 일반적으로, 관리자는 통합 서버에 릴리즈 데이터를 만들고, 이를 실행 시스템에 전개한다. 커뮤니티 데이터는 실행(공유 문서 또는 애플리케이션 리소스) 중에 변경된다. 문서와 웹 콘텐트는 JCR에 저장된다. 커스터마이징 데이터는 특정 사용자하고만 제휴된다. 커스터마이징 데이터의 전형적인 예가 포틀릿 데이터이다. Feedback과 LikeMinds 데이터는 Portal Personalization Runtime에 의해 포탈을 사용하는 동안 생성 및 사용된다. Member Manager Data에는 사용자 프로파일 데이터가 포함된다. 데이터 도메인과 데이터 도메인 관리에 대해서는 WebSphere Portal V6 Infocenter, Transferring individual domains 섹션을 참조하라. (참고자료).

WebSphere Portal V6의 Portal Configuration Management 향상으로 운영자는 더욱 효율적으로 포탈 인프라스트럭처를 관리할 수 있게 되었다. 운영자는 콘솔이나 명령행에서 WebSphere Application Server와 WebSphere Portal Server를 설정할 수 있다. 독립형 포탈 서버와 여러 노드들로 구성된 전체 포탈 클러스터에 대한 설정을 디스플레이 및 변경할 수 있다. 문제 파악을 위해 런타임을 설정하고 그래픽 마법사를 사용할 수 있고, 한 장소에서 결과를 볼 수 있다. 런타임 트레이스 설정 옵션은 그림 15를 참조하라.


그림 15: 클러스터에 있는 포탈 서버들 설정하기
Figure 15: Configuring portal servers in a cluster

맺음말

WebSphere Portal V6은 많은 부분 향상되어 기업의 생산성을 높이고, 애플리케이션과 콘텐트 전개를 도모하고, 반응성과 신뢰성을 높인다. 향상된 생산성은 다양한 차원으로 실현된다:

  • 핵심 시스템과 애그리게이션 기능의 통합으로 생산성을 높인다.
  • 협업 기능으로 팀 생산성을 높인다.
  • 셀프 서비스로 기업의 생산성을 높인다.
  • 합성 애플리케이션을 사용한 애플리케이션 조합은 비즈니스 생산성을 증대한다.

새로운 기능과 효용성들을 이 글에서 설명했다. 이 글은 WebSphere Portal V6이 진면목을 이해하는 출발점에 불과하다. WebSphere Portal 존에서 새로운 기능의 사용법에 대해서 상세히 설명하고 있다.

WebSphere Portal V6 InfoCenter에서 자세한 내용을 참조하기 바란다.

기사의 원문보기


참고자료

필자소개

Stefan Hepper

Stefan Hepper는 WebSphere Portal, Workplace Client and Server programming model, 퍼블릭 API의 책임 아키텍트이다. Java Portlet Specification V 1.0 (JSR 168)을 이끌고 있으며, 현재는 V 2.0 (JSR 286)을 진행하고 있다. JSR-168의 레퍼런스 구현을 제공하는 Apache Pluto 프로젝트부터 시작했다. JavaOne 같은 국제 컨퍼런스에서 강의도 하고, 다양한 글도 발표하고 있으며, Pervasive Computing (Addison-Wesley 2001)과 Portlets and Apache Portals (download manuscript, Manning 2005)의 공동 집필했다. 독일 University of Karlsruhe에서 컴퓨터 공학을 전공했다. 1998년, IBM Boeblingen Development Laboratory에 입사했다.

Author photo

Stefan Liesche is a Senior Technical Staff Member in the IBM Development Laboratory in Böblingen, Germany. He has 12 years of experience in the software development field. He holds a master of science degree in computer science from University of Hildesheim, Germany. He joined IBM in 1998 as part of the services group where his speciality was designing large-scale end-to-end e-business solutions for complex environments. Stefan has been working with IBM WebSphere Portal for years. He first worked on the construction of large-scale portal solutions before joining the WebSphere Portal development architecture team. He is the Lead Architect of Workplace and Portal Foundation.

Gregory Melahn photo

Gregory Melahn은 1987년에 IBM에 입사했다. 2002년 이후, IBM의 컨텐트 컴포넌트 통합을 위한 아키텍처 개발 및 전략 책임을 맡아 단순하고 통합된 솔루션을 제공했다. WebSphere Portal 6을 위해 콘텐트 아키텍트로 활동했다. Senior Technical Staff Member이다.

Dr. Thomas Stober photo

Thomas Stober 박사는 WebSphere Portal의 릴리즈 아키텍트이고 WebSphere Portal V6.0 릴리즈의 기술 분야 책임자이다. IBM의 합성 애플리케이션의 핵심 인물이다. 과거에는 가상 포탈, 소프트웨어 컴포넌트화, 모바일 컴퓨팅, 데이터 동기화 분야에서 활동했다. Pervasive Computing Handbook을 집필했다.

잘못된 도움말 신고

부정사용 신고

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


잘못된 도움말 신고

부정사용 신고

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


디벨로퍼웍스 로그인


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
ArticleID=172810
ArticleTitle=새로운 WebSphere Portal Version 6 (한글)
publish-date=11072006
author1-email=sthepper@de.ibm.com
author1-email-cc=
author2-email=liesche@de.ibm.com
author2-email-cc=flanders@us.ibm.com, debcot@us.ibm.com
author3-email=melahn@us.ibm.com
author3-email-cc=
author4-email=tstober@de.ibm.com
author4-email-cc=

태그

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

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

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

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

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