概要
https://www.openmbee.org/
OpenMBEEを構成する主な3つのソフトウェア「Model Development Kits(MDK)」「Model Management System(MMS)」「View Editor(VE)」がある。
このうちMMSのバージョン3まではalfrescoのプラグインとして作られていたがバージョン4からは単体で動作するようになった。このため導入方法がバージョン3と異なる。
MMSバージョン4とそれを利用するMDK,VEの導入方法を解説する。
環境
OpenMBEE
- MMS 4.0.20
- MDK 6.1.0
- VE 5.0.0
その他ソフトウェア
- docker
- java 17
- postgresql 11
- Elasticsearch 7.8.1
- minio
OS
- AlmaLinux8
このページの手順をそのまま利用可能 - Ubuntu22.04
dockerのインストールは別途行っておく
適時sudoが必要
Docker
導入にはDockerを使用するのでDockerの簡単な説明を記載する。
Dockerのインストール
下記のブログを参考にしました。
https://blog.trippyboy.com/2021/docker/almalinux%E3%81%ABdocker%E7%92%B0%E5%A2%83%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B/
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf erase podman buildah
dnf --allowerasing -y install docker-ce docker-ce-cli containerd.io
systemctl enable docker
systemctl start docker
docker info
docker run hello-world
docker rm $(docker ps -q -a)
Dockerの簡単な説明
MMS4の構築で主に利用するdockerコマンド
-
docker create
コンテナを作成 -
docker start
コンテナを起動 -
docker run
createとstartを同時に行う -
docker stop
コンテナを停止 -
docker rm
コンテナを削除 -
docker ps
起動中のコンテナ一覧を表示 -
docker ps -a
起動していないコンテナも表示
JDK17のインストール
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
rpm -ivh jdk-17_linux-x64_bin.rpm
java -version
MMS4のインストール
参照元
https://mms-reference-implementation.readthedocs.io/en/latest/docker.html
DockerのインストールとJDK17のインストールは済ませておく。
Postgresql
docker run -d -e POSTGRES_PASSWORD=test1234 -e POSTGRES_USER=mmsuser -e POSTGRES_DB=mms -p 5432:5432 --name=postgres postgres:11-alpine
Elasticsearch
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name=elasticsearch docker.elastic.co/elasticsearch/elasticsearch:7.8.1
MinIO
docker run -d -p 9000:9000 -e "MINIO_ACCESS_KEY=admintest" -e "MINIO_SECRET_KEY=admintest" --name=minio minio/minio server /data
MMSコンテナをdocker create
docker create --name=mms --network="host" -e "SPRING_CONFIG_LOCATION=/mms.properties" openmbee/mms:4.0.20
設定ファイルの作成
vi application.properties.example
下記ページの内容をコピーして上記の設定ファイルに書き込む
https://github.com/Open-MBEE/mms/blob/develop/example/src/main/resources/application.properties.example
mms.admin.usernameは任意のユーザ名に変更。管理者のユーザ名となる。
mms.admin.username=test
mms.admin.passwordは任意のパスワードに変更。管理者パスワードとなる。
mms.admin.password=test
長い文字列に変更。exampleで書かれているデフォルト文字列では文字列長が不足
jwt.secret=test_test_test_test_test_12345677890_test_test_test
設定ファイルをコンテナ内へコピー
docker cp application.properties.example mms:/mms.properties
MMSを起動
docker start mms
postgres,elasticsearch,minio,mmsの4つのコンテナが起動していることを確認する。
下記コマンドで起動しているか確認
docker ps
MMSの操作
MMSの停止
docker stop mms
2回目以降のMMS起動方法
docker start postgres
docker start elasticsearch
docker start minio
docker start mms
起動確認
下記にアクセスできれば起動できている。
http://localhost:8080/v3/swagger-ui.html
http://[サーバアドレス]:8080/v3/swagger-ui.html
このページではAPIを発行できるのでMMSVersionを実行し、status:200とmmsのバージョンが返ってくるか確認する。
右上のAuthorizeをクリックし、usernameとpasswordを入力する。(設定ファイルに記載した管理者と管理者パスワード)
GETメソッドの/authenticationを実行する。
status:200が返ってくることを確認する。
MMSのログ
docker logsで確認できる
docker logs mms
または
docker logs mms -f
-fはログが書き込まれたら逐次表示を更新する。「tail -f [ファイル名]」のようなもの。
VEのインストール
git clone https://github.com/Open-MBEE/exec-ve.git
設定ファイルを変更しておく
cd exec-ve/config
vi example.json
localhostと記載された箇所をサーバアドレスに変更する。
dockerignoreを変更
vi .dockerignore
ファイルの末尾に以下を記載
!.eslintignore
docker imageの作成、dockerコンテナの作成と実行
docker build -t ve .
docker run -it -p 9001:9000 --name ve ve
上記設定で9001番ポートにアクセスするとveに接続できる。
起動確認
http://サーバアドレス:9001
2回目以降のVE起動
docker start ve
MDKのインストール
MDKにはいろいろ種類があるがMagicdrawにプラグインとして導入するタイプを利用。
以前書いたものから手順は変わっていない。
バージョン5.0.0以上を入れること。
https://qiita.com/crimson707/items/296457ee64bc49237d5a
MDK6.1.0
https://github.com/Open-MBEE/mdk/releases/tag/6.1.0
旧バージョンと比べてOptions→Project→General→MBEEからMMSサーバを指定するよう変更されている。
MMS,MDK,VEのバージョン対応は下記を参照。
https://github.com/Open-MBEE/open-mbee.github.io/wiki/Compatibilities