Polarion 에는 개발한 플러그인을 넣을 수 있는 디렉터리가 2개 존재합니다.
plugins
와 extensions
가 그것인데요.
둘 중 어디에 넣는 것이 바람직할까요? 그 대답은 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 들을 구분하기 존재하는 것 입니다.