ProtoPLM
- https://protoplm.com
- Perl 스크립트로 작성.
- MongoDB 기반.
- Apache2로 웹서비스.
스토리
- 오픈소스 PLM 중에 쓸만한게 있는지 예전부터 찾아왔다.
- OpenPLM, Docdoku PLM, Aras Innovator 등 여러가지가 발견되어 검토를 해 봤었는데, 마음에 딱히 드는 것은 사실 없었다.
- 그런데 ProtoPLM의 경우에는 개인적으로 생각했던 요구조건을 상당부분 만족시켜준다.
요구조건
- 가벼울 것
- 소스코드가 간결할 것
- 설치 및 유지보수가 쉬울 것
- 부품번호체계를 사용자 마음대로 유연하게 변경 가능할 것
- 어셈블리,파트들의 조합을 자유롭게 할 수 있을 것
- 버전제어는 기본
- 엑셀로 작성한 BOM을 그대로 업로드해서 반영할 수 있을 것
- BOM을 엑셀포멧으로 다운로드 받을 수 있을 것
- 파트 속성 정보들을 마음대로 설정할 수 있을 것
- 한글 대응에 문제 없을 것
- 추적성이 간단히 이해하기 쉽게 확보될 것 (ECR,ECO 라인으로 간결화)
놀랍게도 ProtoPLM은 이 조건들을 모두 충족했다.
세부적인 특징들
- 소스코드를 다운로드 받아보니, 펄 스크립트 소스코드 파일이 전부 합쳐 달랑 34개에, 클립아트 그림 같은 것들까지 다 합쳐도 전체 용량은 1MB가 채 안된다.
- Perl 스크립트 언어의 명성은 익히 들었으나 이정도로 극단적인 간결성이 가능할 줄은 정말 몰랐다.
- 소스코드도 알아보기 쉽게 잘 정리되어 있고, 서버 셋팅시 URL이나 관리자 설정, DB연결 등은 ServerSetup.pm 소스코드의 해당 변수를 직접 수정해서 설정하도록 되어 있는 식이다.
- 물론 의존성은 있기 때문에, 설치할 때는 설명서에 나온 순서대로 MongoDB, Apache2, CPAN 등의 것들을 먼저 설치를 해 주고 간단히 설정해 줘야 한다. 아직 직접 해 보지는 않았지만, 어렵지 않게 성공할 수 있을 것 같다.
- ProtoPLM의 설명에 따르면, 1만개의 파트를 다룰 때 레이턴시가 1초가 채 안된다고 한다. 이정도면 훌륭하다고 생각한다.
- 제조업에서의 PLM에 관한 경험이 풍부한 사람이 설계한 것으로 생각된다. 딱 필요한 것들만 갖추고, 디테일은 딱 필요한 만큼 자유도를 주고 있다.
- 믈론 3D 파일을 열어서 웹브라우저 상에서 보여주는 따위의 기능은 없다. 그런데 사실 이런 기능은 없어도 되는 부가적인 것이고…
- DWG 파일 역시 보여주지는 못하겠지만 PDF 파일은 웹브라우저에서 바로 열어보는데 아무 문제가 없다.
- 협력업체에 특정 파일을 공유해주는 URL을 원하는 기간만큼 생성해 주는 기능이 있다. 필요하다면 비밀번호 설정도 된다. 이 기능을 사용하면, 협력업체에 도면 파일을 이메일로 매번 첨부해서 보내는 삽질 대신, URL만 따서 가벼운 이메일로 보낼 수 있을 것이다.
- 물론 이 경우에는, 외부 인터넷에 직접 노출되도록 셋팅되어 있어야 한다. 이렇게 외부 노출될 경우에는 보안문제가 있을 수 있으므로, 리눅스 서버 운용에 어느정도 이상 전문성이 있는 관리자가 보안 관련 셋팅을 손봐주는 것이 안전할 것이다.
- MongoDB 기반 답게, 전체 데이타베이스 내용을 하나의 JSON 파일로 그냥 다운로드 받을 수 있다.
단점
- UI가 매우 촌스럽다.
- 아이콘 그림 같은 것들을 손봐서 변경해서 대체해 주면 어느정도 보완될 것 같다.
- Perl 언어로 짜여져 있어서, 한국에서 이걸 뜯어고쳐 뭔가를 하기는 현실적으로 어렵다.
- Perl 개발자 인력 풀이 매우 작다고 알고 있다.
- 라이센스 조건이 조금 폐쇄적이다.
- 소스코드 재배포는 금지되어 있다.
- 상용 CAD 데이타를 그대로 업로드해서, PLM이 알아서 해석해서 자료를 자동으로 정리해 주는 그런 기능따위는 없다.
- 이정도 기능까지 기대하기는 현실적으로 어렵다.
옵션
- 소스를 받아서 직접 자기 서버에 설치해서 직접 운용하면 완전 공짜.
- 개발사의 아마존 클라우드 서비스에 계정 등록해서 이용하면 1인당 1개월에 29달러씩 카드로 자동이체.
- 원하는 기능이나 셋팅을 덧붙이면 그에 해당하는 개발비 추가 지불.
- ProtoPLM의 개발사는 미국 스포케인시에 있는 Useful Subset이라는 유한회사다. 아마 작은 회사인 것 같은데, 주로 엔지니어링 코드나 기업용 코드를 만드는 일을 하는 것 같다. 주 개발자는 마이크로소프트 개발자 출신으로 나온다.
결론
- 단점보다 장점이 크다.
- 설계팀 인원이 소수인 중소기업에서 사용하기에 적절하다.
- 우리 회사에 적용해 볼까? 하는 생각까지 들게 한다.
- 다만 아직까지 내가 스스로 이걸 운용하기에는 MongoDB를 잘 모르고, 회사내 PLM 도입시 내부 저항이 있을 수 있으므로 (업무량 가중) 약간 조심스럽기는 하다. 또 개발사가 미국의 소기업이기 때문에 회사의 결정권자 입장에서는 그 신뢰도에 의문을 가질 수도 있을 것 같다.
- 아무튼 극히 실용적인 접근 방법으로, 좋은 참고가 되는 사례라고 생각된다.