Presentation is loading. Please wait.

Presentation is loading. Please wait.

JPAを利用した RESTful Webサービスの開発

Similar presentations


Presentation on theme: "JPAを利用した RESTful Webサービスの開発"— Presentation transcript:

1 JPAを利用した RESTful Webサービスの開発
研究者 : 鎌田祐貴 指導教員 : 越田高志

2 1.はじめに 情報を受け取る 変化 情報を発信・提供する(Web2.0) Webサービス 移行 複雑 シンプル

3 研究目標 「生産工程管理システム」に 実装されているリアルタイムでの 「工程進捗管理機能」をWebサービスで 実現することを目標とする。
ユーザ HTTPサーバ ネットワーク リクエスト RESTful Webサービス GETプロトコル MySQL レスポンス

4 2.要素技術について REST(Representational State Transfer)
リソース(URL)をHTTPプロトコルで操作する方式 主な特徴 HTTPのGETプロトコルでXMLベースの情報を受け取ることができる。 URLからHTML情報の代わりにXML情報を取得している。 利点 Webサービスを利用する際に、スタブ(クライアントプログラム)を作成する必要がない。

5 アノテーション機能 ソースコード中に付加された注釈情報のこと。 Javaプログラムの記述をより簡潔かつ正確にできる。 主な例 @GET
@Entity @Path など・・・

6 JPA(Java Persistence API)
O/Rマッピング Javaのクラスをテーブルに対応させ、テーブルの各行をそのクラスのオブジェクトと関連付ける。 効率よいデータベース操作が可能になる。 JPA(Java Persistence API) O/Rマッピングを実現するためのクラスライブラリ。 アノテーションを利用して、O/Rマッピングを自動化でき、記述を簡潔にできる。

7 3.RESTful Web サービスの開発 開発環境 フレームワーク : NetBeans6.7.1
データベース : MySQL5.1.37 HTTPサーバ : GlassFish V3 Plelude

8 システムの機能 MySQLのnew_jobテーブルにアクセス。 指定されたロット番号に対する工程進捗情報を表示する。
ユーザは、ブラウザにWebサービスのURLと入力パラメータを直接指定し、実行する。

9 開始時間、終了時間、作業者ID、機械ID
new_jobテーブル 終了時間 作業者ID ロット番号 開始時間 機械ID ロット番号(作番)を指定すると、 開始時間、終了時間、作業者ID、機械ID が表示される。

10 MySQL JPA new_job テーブル NewJob クラス time_end id_person no_lot O/Rマッピング

11 Webサービスの実行について http://10.50.25.11:8080/ProTestDB/resources/
newJobs? query=SELECT%20e%20FROM%20 NewJob%20e%20where%20e.Lot%3D%27 M78%27 URLのコードはUTF-8 空白 → %20 「=」 → %3D 「 ’ 」 → %27

12 NewJobクラスで生成されたオブジェクト
JPQLの例 new_jobデータベースの作番「M78」の開始時間、終了時間、作業者ID、機械IDの全てを表示する。 SELECT e FROM NewJob e where e.Lot = 'M78' NewJobクラスで生成されたオブジェクト

13 Webサービスプログラムの説明 ・・・・・・・・・・・・・・ @path("/newJobs/")
クラスにURLのパスを割り当てる @path("/newJobs/") public class NewJobsResource{ public NewJobsResource(){ } @GET @Produces({"application/xml"}) ・・・・・・・・・・・・・・ GETプロトコルでリソースを取得する 出力データとしてXML形式を指定する。

14 実行結果

15 デモ ロット番号「K0007」を指定する。 全てのデータを表示する。 SELECT e FROM NewJob e
クエリ(JPQL) SELECT e FROM NewJob e where e.Lot='K0003' 結果の表示 全てのデータを表示する。 クエリ(JPQL) SELECT e FROM NewJob e 結果の表示

16 4.今後の課題 入出力画面(GUI)の作成 URLのUFT-8への自動変換 Webサービスの実行と結果の確認が容易に行えるようにする。
ユーザが自分でUTF-8のコードを入力する必要がないように、入力したクエリ文を自動的にUTF-8に変換させる。


Download ppt "JPAを利用した RESTful Webサービスの開発"

Similar presentations


Ads by Google