2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mapepireの概要と始め方②(クライアント編)全般・Java(途中です)

2
Last updated at Posted at 2026-03-16

出典:https://mapepire-ibmi.github.io/guides/clients/

2026.03.16:執筆時点でサンプルプログラム実行時にエラー(SSLExceptionなど)が出て正常動作していません、IBM i 側のSSL設定が出来ていない為もありそうなので、いったん途中ですがメモとして投稿しておきます。(後ほど修正したいと思います。)

私のローカル環境がほぼJavaほか開発しておらず標準的なプラグイン他が未導入でした。Mapepireのクライアントサンプルは標準的なプラグインが導入済みを前提に記述しているようで色々と追加モジュールのインストール等を要求されましたので諸学者の方には参考になると思います。

現在提供されているクライアントモジュール

執筆時点で提供されているクライアントモジュールは以下です。
Python
Node.js
Java

今後、C#/.NET Core, PHP, Go のクライアントモジュールを提供予定とのこと。

クライアントモジュールのダウンロードサイト

Githubからダウンロードが可能です
Mapepire-IBMi / samples : https://github.com/Mapepire-IBMi/samples
image.png

Mapepire サンプルプロジェクト

以下のGitにあります。
https://github.com/Mapepire-IBMi/samples

ダウンロードすると上で記載されている3つの言語のサンプルがありました。
image.png

以下で確認してみます。

Mapepire Javaサンプルアプリの確認

執筆時点でJavaのサンプルは2つありました。company-web-server と Simple-app です。まずかんたんそうなsimple-appを試します。
Simple-appのディレクトリーにREADME.mdがありましたのでそれを見ると実行手順がありました。

image.png

1.Mapepireサーバーを起動する。
2.Simple-appのリポジトリーをクローンします。

git clone https://github.com/Mapepire-IBMi/samples.git

私はGit for windowsのコマンドラインから実行しました。
image.png

続けてクローンしたローカルディレクトリーにcdします。

cd java/simple-app

ここでいったん中断してしまったため、再度Git for windowsを開いてダウンロードしたフォルダーを確認すると、サンプル2つともダウンロードされていました。(python,typescriptのサンプルも一緒にダウンロードされていました。)
image.png

git cloneした際のカレントディレクトリー配下の /sampes/javaフォルダーにダウンロードされていました。

続けて、config.properties.sampleをコピーして編集します。

cp src/main/resources/config.properties.sample src/main/resources/config.properties

コピー先のconfig.propeties を開くと以下のように接続するIBM i サーバー情報でした。
image.png

デフォルト状態では=以降がブランクなので個々の環境に応じて入力します。なお、Mapapireサーバーのデフォルトポートは8076です。

続いてアプリケーションをビルドします、Maven (mvn)を使用するガイドになっています。

MavenはOSSのソフトウェア管理・導入ツール、です。後述しますが、ビルドに必要なコンポーネントをpom.xmlに記述しておくと不足しているコンポーネントをインタネット上の指定されたサイトからダウンロードしてビルドしてくれます。この記事ではこれ以降でSL4J, LOG4Jをpom.xmlに追加記述しビルド時にMavenでダウンロードしています。

Mavenは以下の記事等を参照しました。(感謝)
Apache Mavenのインストール手順(Windows向け)
※一か所, PowerShellの起動の箇所だけ記事通りでは実行できず、直接Powershellを管理者権限で起動しました。

Mavenが導入出来たら以下のコマンドを実行します。

mvn clean package

以下のようにビルドが開始され、、
image.png

最後に BUILD SUCCESS を確認できればOKです。
image.png

サンプルアプリの実行

まずはsimple-appを実行してみます。

cd target
java -jar simple-app-1.0-SNAPSHOT-jar-with-dependencies.jar --sql

最後のパラメーター --sql は別なパラメーターも指定可能です。
image.png

上記をwindowsコマンドプロンプトから実行すると、、

image.png

エラーになりました T T)
SLF4Jが無いようです。
※SLF4J(Simple Logging Facade for Java)= ログ出力用のJavaライブラリーです。
※参考にしました@感謝【初学者向け】SLF4Jで始めるJavaのログ出力入門

ということでSL4Jも追加導入します。SLF4Jを追加した後に実行したらlog4jも無い、と怒られこの2つを導入しました。

log4jの導入

Apache log4jダウンロード:https://logging.apache.org/log4j/1.x/download.html

上記からダウンロードして任意のフォルダーに解凍し、パスを通すといいようです。(上述のMavenと同様な手順)が、何かエラーが出たので別な方法でいったん、上記ダウンロードしたサンプルアプリ内にlog4j-coreのjarファイルをプロジェクトのlibディレクトリに配置しました。

pom.xmlにlog4jライブラリーとSLF4Jライブラリーを追加します。
下記のMavenサイトにはソフトウェアごとにpom.xmlに追加するdependencyのサンプルが記載されています。Mavenサイトの上部のSearchから必要なモジュールを検索します。
image.png

log4jのdependencyをpom.xmlに追加
https://mvnrepository.com/artifact/log4j/log4j/1.2.17

<!-- Source: https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
    <scope>compile</scope>
</dependency>

HP上では下図の一番下の辺りに上記のサンプルが記載されています。
image.png

SL4Jについてはいくつかヒットするので悩みましたが、、
image.png

ひとまずSLF4J Simple Providerかなと思います。
さらにバージョンも色々あるのでベータ版でない最新 2.0..17 にしてみます。
image.png

image.png

SLF4Jのdependencyもpom.xmlに追加

<!-- Source: https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.17</version>
    <scope>test</scope>
</dependency>

参考:pom.xmlとは?Maven初心者のための完全ガイド【基本から実践まで】(感謝)

サンプルアプリの実行手順

其々のサンプルアプリのフォルダー内にREADME.TXTがあり、そこに実行準備と実効手順の記載があります。

image.png

上記はcompany-web-serverサンプルですが、こちらではDb2 for i のサンプルテーブルを使用する前提なのでこれのセットアップが必要です。

当サンプルアプリで使用するライブラリー名はデフォルトの SAMPLE という名前になっています。(上記リンク中のライブラリー名は変更されているのでご注意)

サンプルのソースを見るとライブラリー名、テーブル名も見えるのでIBM i に存在する別なライブラリー、テーブルに変更するのもできると思います。

サンプルの実行結果(現時点でエラー・・)

恐らくテスト環境にSSLが設定されていない為があると思われます、また別で設定したいと思いますが、いったんメモとして、、

comnany-web-serverのサンプルでは、README.TXTに従ってセットアップを進め、以下のコマンドでローカルでHTTPサーバーを起動し、Swaggerを開始します。

Start the company web server:

   cd target
   java -jar company-web-server-1.0-SNAPSHOT-jar-with-dependencies.jar

Start a web server to launch the Swagger UI:

    npm install -g http-server
    cd swagger
    http-server --cors

localhostのhttpサーバーは表示されますが、、

http://localhost:8080

image.png

README.TXT記載のパラメーターを指定して実行すると、、エラーになります。。
(上記URLの後に下記の endpoint を追加して開く)

1. Connect to a database using the `/connect` endpoint.

2. Set the server trace level using the `/tracing` endpoint.

3. Experiment with the various endpoints:

    | Method | Endpoint                | Description                                               |
    | ------ | ----------------------- | --------------------------------------------------------- |
    | `GET`  | `/departments`          | Get a list of departments                                 |
    | `GET`  | `/departments/{deptNo}` | Get a department by department number                     |
    | `GET`  | `/employees`            | Get a list of employees                                   |
    | `GET`  | `/employees/{empNo}`    | Get an employee by employee number                        |
    | `GET`  | `/sales`                | Get a list of sales                                       |
    | `GET`  | `/sales/{salesPerson}`  | Get a list of sales associated with a sales person        |

4. Disconnect from the database using the `/disconnect` endpoint.

エラー例
image.png
コンソールエラー※何度かテストしています。
image.png

いったんメモ書きとして残しておきます、いずれ直したいと思います。(^^;

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?