본문으로 건너뛰기
  1. Posts/

Polarion 폴라리온 Plugin vs. Extension

·2 분· loading · loading ·
Stater
Solution Techtopics Polarion Extension Plugin
RedBeanSoft
작성자
RedBeanSoft
Siemens 의 PLM/ALM/CAD 분야 전문 파트너입니다.
작성자
STATER
A tech writter who is interested in Software Engineering and Automation.

Polarion 에는 개발한 플러그인을 넣을 수 있는 디렉터리가 2개 존재합니다. pluginsextensions 가 그것인데요. 둘 중 어디에 넣는 것이 바람직할까요? 그 대답은 extensions 입니다.

이유가 궁금하지 않은세요? 자 그럼 왜 그런지 알아보러 가 볼까요? GOGO!!

Polarion 아키텍쳐 개요
#

OSGi
#

OSGi 는 Java 를 이용한 Module 화 구현 Spec 입니다. OSGi Application 은 OSGi 컨테이너 위에 (“Plugin” 이라 불리는 Jar 파일 형태로 묶인) 수 많은 Java 모듈들이 실행되는 형태로 구현됩니다.

대표적인 OSGi 구현체는 Eclipse Equinox 와 Apache Felix 입니다. Polarion 은 Eclipse Equinox 를 사용하는 것으로 추정하고 있습니다. 사실 Polarion 아키텍쳐에 대한 공개된 문서가 없기 때문에 심증만 있을 뿐 물증은 없네요.😅

OSGi Framework 에서 구현된 Polarion
#

OSGi Spec 에 따라 개발된 Polarion 은 그 자체가 OSGi Plugin 들의 집합체입니다. OSGi 컨테이너가 사용하는 plugins 디렉터리는 Polarion 제품 자체가 들어 있는 디렉터리인 것이죠. Polarion 의 plugins 디렉터리는 지멘스사가 관리하는 특별한 디렉터리로 볼 수 있습니다.

Plugin vs. Extension
#

Polarion Plugin 이란?
#

Polarion 의 기능을 구현하기 위해 만들어진 소프트웨어 모듈(OSGi Plugin)을 의미합니다. Polarion Plugin들 은 plugins 디렉터리에 배포됩니다.

Polarion Extension 이란?
#

Polarion 의 기능을 확장한 Custom Polarion Plugin 을 의미합니다. 사실 Plugin 과 동일한 형태이며, Siemens 가 배포한 것이 아닌 사용자가 배포한 Plugin 을 이렇게 부릅니다.

Polarion Extension 은 extensions 디렉터리에 배포를 하게 됩니다.

extensions 디렉터리가 필요한 이유
#

Extension 이 Plugin 과 동일하다면 도대체 왜 2개의 디렉터리에 나누어 배포하는 것일까요?

그 이유에 대해서도 자세하게 알아봅시다.

Polarion 을 업그레이드 하게 될 경우, 지멘스는 제품 모듈들의 정합성 문제 발생 위험을 줄이기 위하여 plugins 디렉터리 내의 모든 jar 파일들을 삭제한 후, 새 버전의 jar 파일들을 복사하게 됩니다. 만약 Custom Plugin 들을 “plugins” 디렉터리에 넣어 두었다면, 이 과정에서 삭제될 것입니다.

extensions 디렉터리는 제품을 구성하는 OOTB Plugin 들과 고객이 개발한 Custom Plugin 들을 구분하기 존재하는 것 입니다.