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

Slides:



Advertisements
Similar presentations
1 WSIF における Web サービス・メソッドの自動設 定 2004 年 3 月 23 日 越田高志 松江工業高等専門学校 情報工学科 電子情報通信学会 2004年総合 大会.
Advertisements

1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
1 金属加工会社における 生産工程管理システムの開発 電子情報システム工学専攻 S0713 清水 邦宏.
Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
カーリルを利用した 書籍活用 / 蔵書管理システム 研究者: J0639 山中勇太 指導教員:越田高志.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
エージェントによる Web サービス連携型商取引システム 研究者 :白池美穂 指導教員:越田高志.
OWL-Sを用いたWebアプリケーションの検査と生成
「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
blanco Framework ご紹介 DB版
RailsによるAjaxの利用 回生 小野 実.
モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム
ZKプラグインで、Grailsの Viewをリッチに楽しく
情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也
ヘルスケア連動型 市販薬検索システム 研究者 : 加納 えり 指導教員 : 越田 高志.
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
背景 我々の研究室で開発しているJavaプログラム解析フレ ームワークでは,解析情報はメモリ上に保持される 問題点
REST型Webサービスによる 楽曲検索システムの開発
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
JavaServlet&JSP入門 01K0018 中村太一.
BlueBeanClientを用いた連携の概要
WebサービスII (第8回) 2007年11月14日 植田龍男.
HTTPプロトコルとJSP (1) データベース論 第3回.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
Curlの仕組み.
FM-Tokyo Oct 30, 2004 やっと見えた! FileMaker Server Avancedの全貌
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
入出力データ型に透過な Webサービス動的実行システム 松江工業高等専門学校 情報工学科 越田高志 情報処理学会第68回全国大会
プログラミング演習3 第2回 GUIの復習.
第8章 Web技術とセキュリティ   岡本 好未.
Webサービス II(第3回) 2007年10月10日.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
Javaによる Webアプリケーション入門 第6回
Webサービスによる 加工工程決定支援システム
Javaによる Webアプリケーション入門 第7回
プログラミング演習3 第2回 GUIの復習.
只見町 インターネット・エコミュージアムの「キーワード」検索の改善
Jakarta Struts (2) ソフトウェア特論 第11回.
加工工程決定支援システム 電子情報通信学会 2010年総合大会 2010年3月18日 松江工業高等専門学校  情報工学科 越田 高志.
加工工程決定支援に対する自動化 電子情報通信学会2008年総合大会 松江工業高等専門学校 情報工学科 越田 高志, 牧 聡史
電子情報通信学会 2006年総合大会 Webサービス標準化 の提案と実装 2006年3月26日 松江工業高等専門学校 越田高志.
2006年11月8日 植田龍男 Webサービス II (第7回) 年11月8日 植田龍男.
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
アプリケーション依存の先読みが可能なO/Rマッピングツール
Servlet ソフトウェア特論 第7回.
セマンティックWebによる 生産管理情報共有/支援システムの開発
Servlet J2EE I (データベース論) 第12回 /
Servlet データベース論 第6回.
JDBC ソフトウェア特論 第3回.
RDFの生産工程管理システムへの適用 情報処理学会 第74回全国大会 2012年3月6日 松江工業高等専門学校  情報工学科 越田 高志.
生産工程管理支援システム -検索Webサービスの実行自動化-
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
地域生活支援システムの開発 越田研究室 j0431 野津洋二.
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
Annotation EJB 3.0 コース 第3回 2006年8月4日.
セマンテックWebを利用した加工工程決定支援システム
セマンティックWebの 生産管理システムへの適用
稚内北星学園大学 情報メディア学部 安藤 友晴
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
統合開発環境のための プログラミング言語拡張 フレームワーク
オントロジーを利用した Webサービスの実行支援に関する研究
生産工程管理支援 GUIシステム 電子情報通信学会 2014年総合大会 2014年3月19日 松江工業高等専門学校  情報工学科 越田 高志.
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
セマンティックWebの 生産管理システムへの適用
プログラム理解のための 付加注釈 DocumentTag の提案
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

Webサービスの実行について http://10.50.25.11:8080/ProTestDB/resources/ http://--:8080/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

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

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

実行結果

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

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