[HO-2] NetBeansとGlassFishではじめるJava EE7ハンズオン

Similar documents
Oracle パブリック・クラウド・サービス無料トライアル 申込手順書

AWS Client VPN - ユーザーガイド

WEBシステムのセキュリティ技術

NetBeans8 と GlassFish v4.1 ではじめる Java EE 7 ハンズオン ラボ Version 1.2

IBM の Java 活用ガイド_rev2

2

How to Use the PowerPoint Template

intra-mart WebPlatform/AppFramework

Null

Slide 1

WAS V9 アナウンスメント・セミナー資料

B2-Servlet-0112.PDF

untitled

富士通Interstage Application Server V10でのOracle Business Intelligence の動作検証

JBoss と Arquillian で実現する 究極のテスト環境 レッドハット株式会社 JBoss サービス事業部 コンサルタント 山 田義和

WebアプリケーションサーバJBoss入門

WebOTXマニュアル

Spring Frameworkに対するオラクルのサポート

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

Client Client public void sendobject(object message) String String Web Container String RemoteEndpoint String Endpoint throwsioexception, EncodeExcept

コンテナでテストをまわせ! Java EE への自動テストの導入 1 小西高之 JBoss Technical Support Engineer Red Hat K.K.

intra-mart Accel Platform — Slack連携モジュール 利用ガイド   初版  

日立評論 2016年9月号:金融イノベーションを実現する新たなエンタープライズアプリケーション開発への取り組み

JB_weblogic_guide.indd

[3-F] コンテナとJavaとOracle JETによるアプリ開発ハッカソン

untitled

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

1 検証概要 目的及びテスト方法 1.1 検証概要 Micro Focus Server Express 5.1 J の Enterprise Server が提供する J2EE Connector 機能は 多くの J2EE 準拠アプリケーションサーバーについて動作検証がなされています 本報告書は

Java Day Tokyo 2017 ダウンロード資料

intra-mart WebPlatform/AppFramework

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

エンドポイント WebSocket API ではクライアント サーバともに javax.websocket.endpoint クラスから派生してエンドポイントのクラスを定義します そして onopen() onclose() および onerror() をオーバーライドし それぞれ接続時 切断時およ

初心者にもできるアメブロカスタマイズ新2016.pages

SpringSecurity

- 2 Copyright (C) All Rights Reserved.

JD Edwards EnterpriseOneリアルタイム・イベントのOracle Enterprise Service Busへのパブリッシュ

Oracle Cloud Adapter for Oracle RightNow Cloud Service

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

Oracle Code Tokyo 2017 ダウンロード資料

Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involv

ArcGIS Runtime SDK for .NET アプリケーション配布ガイド

2 WHITE PAPER: OAUTH ca.com/jp OAuth 3 OAuth 4 OAuth 6 OAuth OAuth 8 CA API Gateway OAuth 9 OAuth Toolkit 10 CA API Gateway 2-legged OAuth 3-leg

PowerPoint Presentation

Copyright All Rights Reserved. -2 -!

APEX Spreadsheet ATP HOL JA - Read-Only

JACi400のご紹介~RPGとHTMLで簡単Web化~

Oracle Application Server 10g( )インストール手順書

JP1/Integrated Management - Service Support 操作ガイド

Oracle DatabaseとIPv6 Statement of Direction

Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

Microsoft Word - 最終版 バックせどりismマニュアル .docx

WebOTX V6 J2EEアプリケーションのトラブルシューティング

Transcription:

Java EE 7 ハンズオン概要 日本オラクル株式会社 Oracle University 野邊 哲男 Java Day Tokyo 2016 2016 年 5 月 24 日 Copyright 2016, Oracle and/or its affiliates. All rights reserved.

Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. Copyright 2016, Oracle and/or its affiliates. All rights reserved. 2

アジェンダ 1 2 3 Java EE 7 概要 Java EE 7 ハンズオンの概要 [ 参考 ] Oracle University Java EE 7 関連コースのご紹介 Copyright 2016, Oracle and/or its affiliates. All rights reserved. 3

Java EE 7 概要 Copyright 2016, Oracle and/or its affiliates. All rights reserved. 4

Java EE 7 概要 Java Platform, Enterprise Edition(Java EE) とは 企業向けの多層アプリケーション (Web など ) を開発 / 動作させるためのフレームワーク / 技術仕様群 Java Community Process(JCP) で策定 Java EE 7 は Java EE6 をベースに 3 つのテーマを掲げ 機能拡張や新機能を提供 開発生産性のさらなる向上 HTML5 対応 エンタープライズニーズへの対応 Java EE 7 で追加された 4 つの新しい技術 Java API for WebSocket Batch Applications for the Java Platform(jBatch) Java API for JSON Processing Concurrency Utilities Copyright 2016, Oracle and/or its affiliates. All rights reserved. 5

Java EE 7 の各仕様と当ハンズオンで主に使用するもの ハンズオン JSP 2.2 JSF 2.2 Servlet 3.1 EL 3.0 ハンズオン ハンズオン Interceptors 1.1 CDI 1.1 EJB 3.2 JAX-RS 2.0 Java API for JSON 1.0 ハンズオン Java API for WebSocket 1.0 JPA 2.1 JTA 1.2 Common Annotations 1.1 ハンズオン JMS 2.0 ハンズオン Batch Applications 1.0 Bean Validation 1.1 Connector 1.7 Portable Extensions Concurrency Utilities 1.0 アップデート新機能メジャー リリース Copyright 2016, Oracle and/or its affiliates. All rights reserved. 6

Java API for WebSocket (JSR-356) Java で WebSocket 通信を行うアプリケーションを開発するための標準 API WebSocket では クライアントとサーバ間でハンドシェイクを確立後 特定のエンドポイントを基点に 双方向かつ非同期的にデータを送受信 Time open send receive Client receive receive payload HTTP Handshake Request Handshake Response WebSocket Connection payload payload payload upgrade receive send Server send send send payload receive receive payload send Copyright 2016, Oracle and/or its affiliates. All rights reserved. 7

Java API for WebSocket 下図は Java API for WebSocketの簡単なサンプルであるEchoアプリケーションのイメージ クライアント エンドポイントをベースにWebSocket 通信 ws://host:port/websocket-echo/echo サーバ側のエンドポイント import javax.websocket.onmessage; import javax.websocket.server.serverendpoint; @ServerEndpoint("/echo") public class EchoEndpoint { Hello WebSocket! Hello WebSocket! } @OnMessage public String echo(string message) { return message; } メッセージ着信時に OnMessage ハンドラ実行その他のハンドラとして 接続オープン時に OnOpen 接続クローズ時に OnClose エラー発生時に OnError を実装可能 Copyright 2016, Oracle and/or its affiliates. All rights reserved. 8

Java Message Service 2.0 (JSR 343) Java Message Service (JMS) は Java でメッセージの送受信を行うための技術仕様 Pointo-To-Point (1 対 1) での送受信 Publish-Subscribe (1 対多 ) での送受信 Java App Point-To-Point Queue Java App JMS 2.0 では 下記の機能を拡張 Simplified API 配信遅延 非同期送信 リソース定義の簡素化 Java App Publish-Subscribe Topic Java App Java App Copyright 2016, Oracle and/or its affiliates. All rights reserved. 9

Java Message Service 2.0 (JSR 343) Simplified API JMS の Connection と Session を統合した新しい JMSContext や CDI により メッセージの送受信処理を簡潔な構文で実現可能 Context messaging = null; ConnectionFactory connectionfactory = null; Queue queue = null; Connection connection = null; Session session = null; MessageProducer sender = null; try { messaging = new InitialContext(); connectionfactory = (ConnectionFactory) messaging.lookup("mycf"); queue = (Queue) messaging.lookup("myq"); connection = connectionfactory.createconnection(); session = connection.createsession(session.auto_acknowledge); sender = session.createproducer(queue); TextMessage message = session.createtextmessage(); message.settext( Hello ; sender.send(message); } catch (Exception ex) { ex.printstacktrace(); } finally { try { sender.close(); session.close(); connection.close(); } catch (Exception ex) { } } 旧来のJMS JMS 2.0 @Inject @JMSConnectionFactory("myCF") JMSContext context; @Resource(mappedName = "myq") Queue queue;.. try { context.createproducer().send(queue, Hello ); } catch (Exception ex) { ex.printstacktrace(); } Copyright 2016, Oracle and/or its affiliates. All rights reserved. 10

Batch Application for the Java Platform (JSR 352) 通称 jbatch と呼ばれるバッチ処理を Java で実装するための技術仕様 JOB や STEP などを構成してバッチ処理フローを定義 jbatch の主要構成要素 JOB JOB STEP バッチ処理の単位 複数のステップで構成バッチ処理の実装単位 STEP -A STEP -B JobOperator JOB の実行や再実行の制御 STEP -W STEP -Y JobRepository JOB の実行状態や結果の格納 STEP -X STEP -Z Copyright 2016, Oracle and/or its affiliates. All rights reserved. 11

jbatch の構成要素とステップの実装 JOB の構成は XML ファイルで記述 STEPは チャンク式またはバッチレット式でJavaクラスとして実装 ( 次のスライド ) ItemReader JOB JobOperator Step 1 ItemProcessor ItemWriter Job Repository Step 2 Step 3 Batchlet ItemReader ItemProcessor ItemWriter Copyright 2016, Oracle and/or its affiliates. All rights reserved. 12

jbatch のステップの実装と実行イメージ ItemReader データを読込む処理を実装するクラス ItemProcessor ItemReader で読込んだデータに対する処理を実装するクラス ItemWriter 処理済のデータを書込み コミットする処理を実装するクラス : チェックポイント毎に実行 Batchlet 任意の処理を実装 1 つの Step に 1 つの実装クラス チャンク式ステップの実行開始 STEP ItemReader ItemProcessor ItemWriter データを読込み データを処理 チャンク式ステップの実行終了 チェックポイント毎にデータの書込み Copyright 2016, Oracle and/or its affiliates. All rights reserved. 13

Java EE 7 ハンズオンの概要 Copyright 2016, Oracle and/or its affiliates. All rights reserved. 14

3 章 JavaServer Faces と CDI ブラウザからメッセージを入力して標準出力 CDI 管理 Bean Send Message ボタン選択 IndexPageMgdBean index.xhtml 標準出力 こんにちは 出力 (NetBeans の GlassFish Server の出力タブ ) Copyright 2016, Oracle and/or its affiliates. All rights reserved. 15

4 章 Java Message Service と EJB (Message Driven Bean) ブラウザからメッセージを入力して JMS トピック経由で標準出力 Send Message ボタン選択 CDI 管理 Bean IndexPageMgdBean Message DrivenBean JMS トピック jms/inforegtopic MessageListenerMDBImpl index.xhtml 標準出力 こんにちは 出力 (NetBeans の GlassFish Server の出力タブ ) Copyright 2016, Oracle and/or its affiliates. All rights reserved. 16

5 章 WebSocket と EJB(Singleton Session Bean) ブラウザからメッセージを入力してJMSトピック経由で同じWebSocketセッションを持つくクライアントに送信 JMS トピック jms/inforegtopic MessageListenerMDBImpl Message DrivenBean index.xhtml ClientManageSinglEJB WebSocket メッセージ送信 Send Message ボタン選択 IndexPageMgdBean CDI 管理 Bean Copyright 2016, Oracle and/or its affiliates. All rights reserved. 17

6 章 jbatch ファイル test_in.txt を読み込み 文字列を大文字に変換し test_out.txt に出力する また test_out.txt のファイルサイズを標準出力に出力する Servlet: JobStartServlet JobOperator を使用して Job 開始 Job:simplejob Step: mychunk MyReader MyProcessor MyWriter ファイルから文字列を 1 行読込む 読み込んだ文字列を大文字に変換 変換した文字列を別ファイルに書込む test_in.txt javaee7 netbeans test_out.txt JAVAEE7 NETBEANS Step: mytask MyBatchlet mychunk ステップで作成されたファイルのサイズを出力する Copyright 2016, Oracle and/or its affiliates. All rights reserved. 18

[ 参考 ] Oracle University Java EE 7 関連コースのご紹介 Copyright 2016, Oracle and/or its affiliates. All rights reserved. 19

Java EE 7 関連の主な研修コース 下表は Java EE 7 関連の主要なコースです http://education.oracle.com から右図のように javaee7 のキーワードでコース検索すると詳細を参照できます コース Java EE 7: 新機能 (2 日間 ) Java EE 7: Web アプリケーション開発 (5 日間 ) 概要 このコースでは Java EE 7 の新機能について説明します Java EE 6 を使用していて Java EE 7 への移行を検討している Java エンジニアに最適なコースです このコースでは Java Platform, Enterprise Edition 7 Web プロファイルに準拠したエンタープライズ アプリケーションの作成およびデプロイについて学習します このコースでは Session Bean (EJB-Lite) JPA Servlet/JSP CDI JAX-RS RESTful Web サービス Java API for WebSockets などの主要な Java EE 7 テクノロジについて説明します Copyright 2016, Oracle and/or its affiliates. All rights reserved. 20