SlideShare a Scribd company logo
1 of 45
Download to read offline
Oracle Cloud ウェビナー
ファンデーションシリーズ
企業システムで使えるマイクロサービスの特⻑と実践
伊藤 敬
Enterprise Cloud Native Java, Oracle Corporation
Principal Product Manager
仁井⽥ 拓也
⽇本オラクル株式会社 テクノロジー・クラウド・エンジニアリング本部
クラウドエンジニア
2021年4⽉15⽇
Contents
1 マイクロサービスの基本とメリット
Helidon概要と特⻑
Helidon MPとOracle Databaseの接続︓デモンストレーション
既存システムへのマイクロサービス導⼊
Helidon: サポート、各種情報リソース
まとめ
Copyright © 2021, Oracle and/or its affiliates |
2
2
3
4
5
6
Copyright © 2021, Oracle and/or its affiliates |
3
1. マイクロサービスの基本とメリット
アプリケーションの
リリース頻度イメージ
インフラ
アプリケーション
アーキテクチャ
⽉次 週次
OS / サーバーHW VM
アプリケーションの
デプロイ⼿法
シンプルなデプロイ作業. .
ウォーターフォール アジャイル Continuous Deployment
コンテナ
.Net
Java
Webアプリケーション マイクロサービス
A
B
C
Webアプリ多様化
2xDB APP
2008+ 2016+
2000
企業システムへのニーズ 進化の経緯
ビジネスニーズへの対応速度向上と柔軟性向上
⽇次/時次
インターネット経由で
サービス提供
サービスの多様化・
肥⼤化
クラウドでのサービス
提供が⼀般化
Copyright © 2021, Oracle and/or its affiliates |
4
マイクロサービスとは
Copyright © 2021, Oracle and/or its affiliates. |
5
サービス間の影響を極⼩化しシステムの変更容易性を⾼めるアーキテクチャ
保守とテストの容易性
• 更新単位を最⼩限にすることでテスト規模を最⼩化
• アプリケーション保守の範囲もコンパクトに
疎結合
• アプリケーション間の依存度を下げ開発容易性を⾼める
• 変更による稼働中のサービスに対する影響を極⼩化
独⽴してデプロイ可能
• サービスの更新の単位を⼩規模化
• スケール変更の単位を最⼩化しリソース割り当てを最適化
API
サービス実装
データストア
サービス間の影響の伝播を抑⽌することで稼働状態や実装⽅式をサービス毎に任意にコントロール
共有リソースの排除による依存関係の解消
• サービス毎でランタイムやリソースを占有
• APIを通してサービス間を疎結合化
• サービス単位で独⽴したスケールや稼働の制御、
データストア/アプリケーションの実装⽅式の選択
⾮同期連携の活⽤による負荷影響の伝播回避
• メッセージング等の基盤で処理を蓄積
• 各サービスの任意のタイミングで処理を実⾏
• 連携相⼿の処理性能、稼働状況に依存せず処理
を完了
マイクロサービス・アーキテクチャの主な強み
Copyright © 2021, Oracle and/or its affiliates. |
6
コンテナ
製品
カタログ
サービス コンテナ
製品
カタログ
サービス
コンテナ
製品
カタログ
サービス
コンテナ
注⽂管理
サービス
アプリケーション・サーバ
在庫管理
サービス
NoSQL
RDB
キャッシュ
注⽂管理
サービス
在庫管理
サービス
RDB
製品
カタログ
サービス
在庫予約キュー
更新通知キュー
在庫マスタ
⼀定のスルー
プットで処理
NoSQL
REST
API
Copyright © 2021, Oracle and/or its affiliates |
7
2. Helidonの概要と特⻑
Javaベースのマイクロサービス・フレームワーク製品とその分布
Micro frameworks
MicroProfile based
Full-stack
Helidon MP
Helidon SE
Dropwizard
Oracle Corporation 作成
軽量・⼩型
重・⼤型
Copyright © 2021, Oracle and/or its affiliates |
8
Javaベース・⼩型・⾼速なマイクロサービスの構築を可能にする
オープンソースフレームワーク
最新バージョン︓2.2.2 (2021年4⽉現在)
特⻑︓2つのアプリケーションモデル
Helidon SE
• Nettyベースの極⼩WebサーバとFunctional Routing機構
、独⾃reactive streams、DI/CDIなし
Helidon MP
• MicroProfile/Jakarta EE標準準拠のコンポーネント群と
DIベースのアプリ開発、CDI Extension
• MicroProfile 3.3 準拠
• Apache License 2.0でライセンス – 商⽤利⽤も無償
• Java 11 以上で動作
• GraalVM ネィティブイメージ対応 (SE & MP)
Javaマイクロサービス開発フレームワーク
Helidonとは︓
Helidon SE
Helidon MP Helidon MP
Helidon SE
Copyright © 2021, Oracle and/or its affiliates |
9
Copyright © 2021 Oracle and/or its affiliates.
• Java⾔語ベース
• ⾼いパフォーマンスと少ないメモリ使⽤量
• 標準テクノロジーへの準拠・採⽤
• 外部リソースとの連携
• Oracle Database (OnP/Cloud)との多様な接続・連携
• 開発・運⽤ツールとの連携
• OSSベースのサポートと商⽤サポート
• Oracle WebLogic Server/Coherenceとの容易な連携
Helidon の特⻑と優位性
GraalVM ネイティブイメージ
• ネイティブ実⾏可能ファイルへの事前コンパイル
• 起動時間の⼤幅な改善
• 必要メモリ容量の削減
GraalVM ネイティブイメージ上のHelidonアプリ
• 20〜30ミリ秒で起動
• ほぼ瞬時のスケーリング
• Javaアプリで“サーバレス”レベルのパフォーマンス
• 標準のJavaのみで実現
• Java/Jakarta EE、 MicroProfile APIへの準拠
Helidon と GraalVM ネイティブイメージ
Innovating for Java Microservices
Copyright © 2021 Oracle and/or its affiliates.
Native Image
0
0.1
0.2
0.3
0.4
0.5
GraalVM Native
Helidon SE
26 ms
起動時間
(秒)
Routing routing =
Routing.builder()
.get("/hello", (req, res) ->
res.send("Hello World"))
.build();
WebServer.create(routing)
.start();
@Path("hello")
public class HelloWorld {
@GET
public String hello() {
return "Hello World";
}
}
サンプルコード “Hello World” の記述例を⽤いたHelidonのアプリケーションモデルの違い
Helidon SEはDI(Dependency Injection)がなく、Javaの関数型プログラミングが主体
Helidon MPはMicroProfileのCDI、JAX-RSなどのアノテーションによる宣⾔型プログラミング
Copyright © 2021, Oracle and/or its affiliates |
12
Helidon SEを構成するコンポーネント群
Copyright © 2021 Oracle and/or its affiliates.
Reactive Web
Server
[Webサーバ]
Config
[アプリ構成管理]
Security
[包括セキュリティ]
Tracing
[アプリ間連携監視]
Metrics
[アプリ状態監視]
Health Check
[アプリ死活監視]
gRPC Server and
Client
[同期型アプリ連携]
DB Client
[DBクライアント]
WebClient
[Webクライアント]
Reactive
Streams
[アプリ内イベント基盤]
Reactive
Messaging
[⾮同期通信]
WebSocket
[ソケット通信]
gRPC Server /
Client
Publisher/
Subscriber
Mongo DB
(Reactive) /
Oracle DB
(Non-Reactive)
Web Server
Microservices
Web Server
Etc.
⾮同期・ノンブロッキング・リアクティブ
Routing
REST
Helidon MPのコンポーネント群
Copyright © 2021 Oracle and/or its affiliates.
Jakarta
RESTful
Web Services
Jakarta
CDI
Jakarta
JSON Processing
MicroProfile
Tracing
MicroProfile
Metrics
Jakarta
JSON Binding
MicroProfile
Reactive
Messaging
MicroProfile
Health Checks
MicroProfile
Fault Tolerance
MicroProfile
JWT Auth
MicroProfile
REST Client
MicroProfile
Config
Jakarta
Persistence
MicroProfile
Reactive Streams
Operators
MicroProfile
OpenAPI
Jakarta
Websocket
CDI Extension
JTA
CDI Extension
gRPC
CDI Extension
Oracle UCP
CDI Extension
HikariCP
CDI Extension
Coherence
CDI Extension
OCI Object
Storage
Jakarta EE
Enterprise Java標準︓Jakarta EE と MicroProfile そしてHelidonのカバー範囲
15
Helidon MP
MicroProfile
Config
Fault Tolerance
Metrics Health Check
OpenTracing
JWT Auth
Open API
Reactive
Messaging
Reactive Stream
Operators
GraphQL
JAX-RS
Web Service
JAX-RS
Rest Client
CDI
JSON-P
JSON-B
WebSocket
JPA
JTA
Servlet
JSP
JSF
JSTL
EL
Annotations
EJB
Bean Validation
Managed Beans
Interceptors
Security
Authentication
MicroProfile
Jakarta EE
MicroProfile
Jakarta EE
gRPC
DB Client
Web Client
Security
CORS
Helidon
Copyright © 2021, Oracle and/or its affiliates |
パフォーマンスとフットプリント
Copyright © 2021, Oracle and/or its affiliates |
16
• Netty - ⾼性能ネットワークアプリケーションフレームワークの採⽤
• 堅牢かつ⾼い拡張性
• 卓越したパフォーマンスを提供
• ⾮同期イベント駆動型
• Reactive APIをサポート
• 最速*リアクティブストリームオペレータの実装
• リアクティブなノンブロッキングHTTPクライアント
• リアクティブなノンブロッキングデータベースクライアント
• Java 11+ 対応によるランタイム⼩型化の実現
• カスタマイズされた(縮⼩された)Javaランタイム環境 - Jlink
• ネイティブイメージモードでは、完全なJavaランタイム環境が不要
• サーバーレス⽤途に最適
• 起動時間が速く、メモリ使⽤量が少なく、アプリケーションサイズが⼩さい
⾼いパフォーマンスとフットプリントの削減を実現
* As of 2020 December
Copyright © 2021, Oracle and/or its affiliates |
17
外部リソースとの連携
Copyright © 2021, Oracle and/or its affiliates |
18
Helidon SE – DB Clientコンポーネント
• RDB、⾮RDBいずれにも対応
• Helidon Configコンポーネントに接続するDBの属性情報をセット
• プログラム中でDB Client APIを使⽤してDBへ接続、処理
Helidon MP – JPA/JTA
• Jakarta EEベースのDB処理をHelidonで実装
• JPA: O/Rマッピングの仕組みを提供
• JTA: RDBを操作するトランザクション処理実装
Helidon MP – Micronaut Dataとの連携
• Micronaut Data – Micronaut Projectが開発するデータベースアクセス・ツールキット
RDBとの連携
Copyright © 2021 Oracle. All rights reserved.
この後デモンストレーションをご覧いただきます
CDI Extension for Oracle UCP
• Universal Connection Pooling(UCP)により、多彩なOracleデータベース独⾃機能を利⽤できる
• ⾼速接続フェイルオーバー(FCF)、ランタイム接続負荷分散、およびWebセッション/トランザクションベースの
接続アフィニティ
• データベース常駐接続プール(DRCP)
• アプリケーション・コンティニュイティ
• マイクロサービスメッセージング⽤ Oracle Advanced Queueingへの対応
• OracleAQメッセージングコネクタ
• イベントソーシングとSAGA / LRA *のアトミックデリバリーを容易にする
Oracle Databaseとの連携
* MicroProfile LRA proposal in progress
Copyright © 2021, Oracle and/or its affiliates |
20
• コンテナファーストに基づく設計・開発
• メモリ使⽤量が少なく、起動時間が短い
• Observability – Prometheus/Grafana, Tracing – Zipkin/Jaeger
• Jibを使⽤したDockerイメージビルドのサポート
• Jib: MavenおよびGradleと統合
• Jib: dockerコマンドやDockerデーモンを必要としない
• Kubernetesプローブと連携するヘルスチェック機能
• コンテナサイズを縮⼩するための異なるパッケージ化
• カスタマイズされた(縮⼩された)Javaランタイム環境 - Jlink
• ネイティブイメージモードでは、完全なJavaランタイム環境が不要
コンテナテクノロジー、Kubernetesへの対応
Copyright © 2021, Oracle and/or its affiliates |
21
Copyright © 2021, Oracle and/or its affiliates |
22
3. Helidon MP と Oracle Databaseの接続: デモンストレーション
デモアプリケーションの条件
• Java: Java 11+
• Helidon: v2.2.2
前提条件
Copyright © 2021, Oracle and/or its affiliates.
23
https://github.com/oracle-japan/helidon-handson
サンプルソースコードは以下から⼊⼿できます
Copyright © 2021, Oracle and/or its affiliates
24
Helidonデモご紹介内容
Copyright © 2021, Oracle and/or its affiliates.
25
1.設定ファイル
確認
• 1-1︓構成ファイル(microprofile-config.properties)の確認(データソースの接続設定など)
• 1-2︓JPA設定ファイル(persistence.xml)の確認(永続ユニット、O/Rマッピングの設定など)
2.実装
• 2-1︓Entityクラスを実装(テーブルへのマッピングやカラムへのマッピングの実装)
• 2-2︓RESTエンドポイントの実装(パスやリクエスト/レスポンス形式の実装)
デモの概要
Copyright © 2021, Oracle and/or its affiliates.
26
Autonomous
Transaction
Processing
(ATP)
クライアント JAX-RS JPA/JTA
都道府県情報を
取得
JAX-RS(Jersey)
• RESTアーキテクチャなWebアプリを作成するための仕
様
• Java + HTTPをサービス化
• RESTインタフェースをアノテーションを付与するだけ
で実現可能。具体例は以下
• @Path︓リソースクラスのパス
• @GET/@POST/@PUT/@DELETE/@HEAD︓
HTTPメソッドの種別
• @Produces︓レスポンスのContext-Type
• @Path︓メソッドのパス
• この実装例の場合は以下のURLでアクセス可能
• http://host:port/sample_service/hello
• リクエストのクエリパラメータやFormのパラメータも
アノテーションで読み取り可能
JAX-RS(Jersey)概要
Copyright © 2021, Oracle and/or its affiliates.
27
JavaDoc︓
https://javadoc.io/doc/jakarta.ws.rs/jakarta.ws.rs-api/latest/index.html
JPA
• リレーショナルデータベース(RDB)をJavaアプリケーション
から操作するためのO/Rマッピングの仕組みを提供
• JAX-RSと同様にアノテーションで設定可能。具体
例は以下
• @Table︓マッピング対象となるテーブル名
• @Entity︓該当するクラスに付与することで、Entityク
ラスであることを⽰す
• @Id︓Entityの中でPrimary Keyとなるプロパティや
フィールドを⽰す
• @Column︓カラムとなるプロパティやフィールドに⽰し、
そのカラム属性を指定可能
• データベースのテーブルと対応付けられるJavaクラス
のEntityはEntityマネージャで管理
JPA概要
Copyright © 2021, Oracle and/or its affiliates.
28
JavaDoc︓
https://jakarta.ee/specifications/persistence/2.2/apidocs/javax/persistence
/package-summary.html
JTA
• リレーショナルデータベース(RDB)をJavaアプリケーショ
ンから操作するためのトランザクションの仕組みを提供
• JAX-RSと同様にアノテーションで設定可能。具体
例は以下
• @Transactional︓メソッドに付与することで、トランザ
クションの振る舞いを定義。以下具体例
JTA概要
Copyright © 2021, Oracle and/or its affiliates.
29
TxType トランザクション外か
ら
既存トランザクション内
から
TxType.REQUIRED 新しいトランザクション
を開始
既存トランザクション内で
実⾏
TxType.REQUIRED
_NEW
新しいトランザクション
を開始
既存トランザクションを⼀
旦停⽌し、新しいトラン
ザクション内で実⾏
JavaDoc︓https://jakarta.ee/specifications/transactions/2.0/apidocs/
1-1︓サンプルコードの解説(microprofile-config.properties)
Copyright © 2021, Oracle and/or its affiliates.
30
microprofile-config.properties(HelidonのConfig)
• データベース設定
• dataSourceClassName︓データソースクラス名
• 今回は”oracle.jdbc.pool.OracleDataSource”
• dataSource.url︓データソースURL名
• 今回は”jdbc:oracle:driver_type:@データベース指定
⼦”(ATP Wallet(クライアント資格証明)もここで指定)
• dataSource.user/password︓データベースユーザ
名とパスワード
• サーバ設定系
• server.host/port︓起動するWebサーバのホストと
ポート
1.設定ファイル
チューニング
persistence.xml (JPA/JTAのConfig)
• Persistence-unit
• name: ユニット名(パーケージ内で⼀意)
• transaction-type: “JTA”
• jta-data-source: データベース名
• class: Entityクラスを記載
• Properties
• データベーステーブルの⾃動⽣成の設定
• O/R マッパーの設定
• Eclipse Linkプロパティの設定
1-2︓サンプルコードの解説(persistence.xml)
Copyright © 2021, Oracle and/or its affiliates.
31
1.設定ファイル
チューニング
2-1︓サンプルコードの解説(Entityの実装)
Copyright © 2021, Oracle and/or its affiliates.
32
Entityの実装(JTA/JPAアノテーションを利⽤)
• Entity︓JPAのEntityの識別名
• Table︓マッピング先のテーブル名
• Access︓JPAがsetterメソッドやgetterメソッドを介さ
ずにアクセス可能な⽅式
• Propertyベース
• Fieldベース
• NamedQueries︓クエリの設定
• NamedQueryを複数設定可能
• Nameにクエリ名、queryにクエリを設定
• Id︓Entity内の主キー
• Column︓カラム属性
• Basic︓カラムへのマッピングの型
• 他にも複数設定可能
2.実装
2-2︓サンプルコードの解説(RESTエンドポイント(GET))
Copyright © 2021, Oracle and/or its affiliates.
33
クラスの実装(JPA/JAX-RSアノテーションを利⽤)
• Path︓RESTエンドポイントのコンテキストパス
• EntityManagerのインジェクション
• PersistenceContextアノテーションで定義
• unitname︓ Persistent-unitのunitnameを設定
メソッドの実装(JAX-RSアノテーションを利⽤)
• HTTP Method︓”GET”
• Path︓クラスで設定したPath以後のパス
• Produces︓レスポンスのContext-type
• クエリの作成はEntityManagerを利⽤
• 引数にEntityクラスのクエリ名を指定
2.実装
Helidon CLI(最新v2.1.3)
• https://github.com/oracle/
helidon/blob/master/HELIDON-CLI.md
• Helidon initによるベースプロジェクト作成
⼊⼒項⽬
• SE/MP:
• 今回はMP(2)
• bare/quickstart/database
• 今回はbatabase(3)
• パッケージ名
Helidon CLI
Copyright © 2021, Oracle and/or its affiliates.
34
user@client > helidon init
Using Helidon version 2.2.1
Helidon flavor
(1) SE
(2) MP
Enter selection (Default: 1): 2
Select archetype
(1) bare | Minimal Helidon MP project suitable to start from scratch
(2) quickstart | Sample Helidon MP project that includes multiple REST
operations
(3) database | Helidon MP application that uses JPA with an in-memory H2
database
Enter selection (Default: 1): 3
Project name (Default: database-mp):
Project groupId (Default: me.helidon):
Project artifactId (Default: database-mp):
Project version (Default: 1.0-SNAPSHOT):
Java package name (Default: me.test.mp.database): <パッケージ名>
Switch directory to /users/database-mp to use CLI
Start development loop? (Default: n): n
Copyright © 2021, Oracle and/or its affiliates |
35
4. 既存システムへのマイクロサービス導⼊
既存のアプリケーションからマイクロサービスを切り出す⽤件例︓
• ⼀部のコンポーネントが他のコンポーネントよりも頻繁に更新する必要がある
• あるコンポーネントにのみ異なるスケール要件が存在する
• あるコンポーネントが異なるテクノロジーを使⽤して開発する必要がある
• コードベースが⼤きく複雑になりすぎた
既存のアプリケーションからマイクロサービスを切り出す、もしくは追加するパターン例︓
• ストラングラーパターン
• Java EE アプリケーションへのサービス追加パターン
既存システムをマイクロサービスへ移⾏する
Copyright © 2021, Oracle and/or its affiliates |
36
Helidonマイクロサービスで既存のアプリケーションを進化させる
ストラングラーパターン
• 段階的な移⾏ - アプリの機能を段階的に
置き換える
• “ファサード”: ユーザの要求をアプリケーション
にルーティング
• 新旧のサービスを並⾏稼働し、時間の経
過とともに、徐々に機能を新しいアーキテク
チャに移⾏
• 機能が置き換えられた後、モノリスの「死ん
だ」部分を削除/廃棄
Middleware
Module 2
Datastore
Helidon
New
Module
Datastore
既存アプリケーション 新規or移⾏サービス
マイクロサービスとして実装
ファサード
Module 1 Module N
Copyright © 2021, Oracle and/or its affiliates |
37
POD POD
POD
WebLogic
Operator
NAMESPACE - OPERATOR
NAMESPACE – WEBLOGIC DOMAIN
OCI – VM AVAILABILITY DOMAIN 1
OCI Oracle Kubernetes Engine (OKE) – Kubernetes Cluster
Admin
Server
Internet
WEBLOGIC DOMAIN
T3S
Orchestrate WebLogic – Manage WebLogic Pods
WEBLOGIC CLUSTER
POD
Managed
Server 1
POD
Managed
Server 2
App App
NAMESPACE - HELIDON
POD
Helidon
OKE上のHelidonマイクロサービスで既存のアプリケーションを進化させる
HTTPS
HTTPS
HTTPS
HTTPS
HTTPS
OCI – VM AVAILABILITY DOMAIN 2 OCI – VM AVAILABILITY DOMAIN ...
Copyright © 2021, Oracle and/or its affiliates |
38
Copyright © 2021, Oracle and/or its affiliates |
39
5. Helidon: サポート、各種情報リソース
Open Sourceとしてのサポートを提供中
• Web Site with guides and tutorials: https://helidon.io
• StackOverflow: https://stackoverflow.com/tags/helidon
• Public Slack channel: https://helidon.slack.com
• GitHub issues tracker: https://github.com/oracle/helidon/issues
Oracleによる商⽤サポートについて
• WebLogic Server/Coherenceライセンス保有のお客様にHelidonのサポート提供
Helidonのサポート
Copyright © 2020 Oracle and/or its affiliates.
Copyright © 2021, Oracle and/or its affiliates |
40
Helidonに関する各種情報
41
Blogs
Social Media
https://helidon.io/
Helidon Website
https://twitter.com/helidon_project
@helidon_project
Contribute
https://github.com/oracle/helidon
https://medium.com/helidon
Get Answers
https://stackoverflow.com/tags/helidon
https://helidon.slack.com/
• Slack Invitation link
Helidon on YouTube
Copyright © 2021, Oracle and/or its affiliates |
https://www.youtube.com/channel/UChg00-uTTrCMmPsuzUNaZsA
Copyright © 2021, Oracle and/or its affiliates |
42
6. まとめ
• HelidonならEnterprise Java標準のナレッジを活かせる
• HelidonならOracle Databaseとの連携を容易に実現できる
• マルチテナントDBの活⽤、コンバージドDBへの応⽤
• UCPを使って可⽤性の向上にチャレンジ
• Helidonでストラングラーパターンを試す
• 既存アプリケーションからの機能の切り出し・分割
• WebLogic ServerアプリにHelidonで新機能追加
• ビジネスニーズへの迅速な対応やサービス提供の継続的な変更など、マイクロサービス活⽤をHelidonで︕
Helidonでマイクロサービス導⼊を検討する
Copyright © 2021, Oracle and/or its affiliates
43
ご視聴
ありがとうございました
Copyright © 2021, Oracle and/or its affiliates
44
企業システムで使えるマイクロサービスの特長と実践 (Oracle Cloudウェビナーシリーズ: 2021年4月15日)

More Related Content

What's hot

事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)
事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)
事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)オラクルエンジニア通信
 
はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2021年2月3日)
はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2021年2月3日)はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2021年2月3日)
はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2021年2月3日)オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデートOracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデートオラクルエンジニア通信
 
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年3月3日)
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年3月3日) はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年3月3日)
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年3月3日) オラクルエンジニア通信
 
あなたはどうデータを守る?クラウド・AI・自動化を使った、みえない脅威との戦い方
あなたはどうデータを守る?クラウド・AI・自動化を使った、みえない脅威との戦い方あなたはどうデータを守る?クラウド・AI・自動化を使った、みえない脅威との戦い方
あなたはどうデータを守る?クラウド・AI・自動化を使った、みえない脅威との戦い方オラクルエンジニア通信
 
【旧版】オラクルのブロックチェーンソリューションご紹介(2021/08版)
【旧版】オラクルのブロックチェーンソリューションご紹介(2021/08版)【旧版】オラクルのブロックチェーンソリューションご紹介(2021/08版)
【旧版】オラクルのブロックチェーンソリューションご紹介(2021/08版)オラクルエンジニア通信
 
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]オラクルエンジニア通信
 
[Modern Cloud Day Tokyo 2019] ゼロから再設計したOracle Cloudのデータ保護戦略~7つの原則とその実装
[Modern Cloud Day Tokyo 2019] ゼロから再設計したOracle Cloudのデータ保護戦略~7つの原則とその実装[Modern Cloud Day Tokyo 2019] ゼロから再設計したOracle Cloudのデータ保護戦略~7つの原則とその実装
[Modern Cloud Day Tokyo 2019] ゼロから再設計したOracle Cloudのデータ保護戦略~7つの原則とその実装オラクルエンジニア通信
 
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)オラクルエンジニア通信
 
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクルエンジニア通信
 
本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)
本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)
本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)オラクルエンジニア通信
 
オラクルのDX事例から学ぶ「次世代クラウド・インフラストラクチャとは?」第16回しゃちほこオラクル俱楽部
オラクルのDX事例から学ぶ「次世代クラウド・インフラストラクチャとは?」第16回しゃちほこオラクル俱楽部オラクルのDX事例から学ぶ「次世代クラウド・インフラストラクチャとは?」第16回しゃちほこオラクル俱楽部
オラクルのDX事例から学ぶ「次世代クラウド・インフラストラクチャとは?」第16回しゃちほこオラクル俱楽部オラクルエンジニア通信
 
Oracle Content and Experience サービス概要 (2021年2月版)
Oracle Content and Experience サービス概要 (2021年2月版)Oracle Content and Experience サービス概要 (2021年2月版)
Oracle Content and Experience サービス概要 (2021年2月版)オラクルエンジニア通信
 
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...オラクルエンジニア通信
 
【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドで【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドでオラクルエンジニア通信
 
【旧版】Oracle Autonomous Database Cloud サービス紹介資料 [2020年/3月版]
【旧版】Oracle Autonomous Database Cloud サービス紹介資料 [2020年/3月版]【旧版】Oracle Autonomous Database Cloud サービス紹介資料 [2020年/3月版]
【旧版】Oracle Autonomous Database Cloud サービス紹介資料 [2020年/3月版]オラクルエンジニア通信
 
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)オラクルエンジニア通信
 

What's hot (20)

事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)
事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)
事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)
 
はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2021年2月3日)
はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2021年2月3日)はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2021年2月3日)
はじめてのOracle Cloud Infrastructure(Oracle Cloudウェビナーシリーズ: 2021年2月3日)
 
Oracle no sql database cloud service overview202007
Oracle no sql database cloud service overview202007Oracle no sql database cloud service overview202007
Oracle no sql database cloud service overview202007
 
Oracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデートOracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデート
 
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年3月3日)
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年3月3日) はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年3月3日)
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年3月3日)
 
OCI GoldenGate Overview 2021年4月版
OCI GoldenGate Overview 2021年4月版OCI GoldenGate Overview 2021年4月版
OCI GoldenGate Overview 2021年4月版
 
あなたはどうデータを守る?クラウド・AI・自動化を使った、みえない脅威との戦い方
あなたはどうデータを守る?クラウド・AI・自動化を使った、みえない脅威との戦い方あなたはどうデータを守る?クラウド・AI・自動化を使った、みえない脅威との戦い方
あなたはどうデータを守る?クラウド・AI・自動化を使った、みえない脅威との戦い方
 
【旧版】オラクルのブロックチェーンソリューションご紹介(2021/08版)
【旧版】オラクルのブロックチェーンソリューションご紹介(2021/08版)【旧版】オラクルのブロックチェーンソリューションご紹介(2021/08版)
【旧版】オラクルのブロックチェーンソリューションご紹介(2021/08版)
 
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]
 
[Modern Cloud Day Tokyo 2019] ゼロから再設計したOracle Cloudのデータ保護戦略~7つの原則とその実装
[Modern Cloud Day Tokyo 2019] ゼロから再設計したOracle Cloudのデータ保護戦略~7つの原則とその実装[Modern Cloud Day Tokyo 2019] ゼロから再設計したOracle Cloudのデータ保護戦略~7つの原則とその実装
[Modern Cloud Day Tokyo 2019] ゼロから再設計したOracle Cloudのデータ保護戦略~7つの原則とその実装
 
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
 
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
 
本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)
本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)
本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)
 
オラクルのDX事例から学ぶ「次世代クラウド・インフラストラクチャとは?」第16回しゃちほこオラクル俱楽部
オラクルのDX事例から学ぶ「次世代クラウド・インフラストラクチャとは?」第16回しゃちほこオラクル俱楽部オラクルのDX事例から学ぶ「次世代クラウド・インフラストラクチャとは?」第16回しゃちほこオラクル俱楽部
オラクルのDX事例から学ぶ「次世代クラウド・インフラストラクチャとは?」第16回しゃちほこオラクル俱楽部
 
Oracle Content and Experience サービス概要 (2021年2月版)
Oracle Content and Experience サービス概要 (2021年2月版)Oracle Content and Experience サービス概要 (2021年2月版)
Oracle Content and Experience サービス概要 (2021年2月版)
 
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
 
【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドで【ことはじめ】 はじめてのコンテナ活用をクラウドで
【ことはじめ】 はじめてのコンテナ活用をクラウドで
 
[旧版]Big Data Service Overview 2020年4月版
[旧版]Big Data Service Overview 2020年4月版[旧版]Big Data Service Overview 2020年4月版
[旧版]Big Data Service Overview 2020年4月版
 
【旧版】Oracle Autonomous Database Cloud サービス紹介資料 [2020年/3月版]
【旧版】Oracle Autonomous Database Cloud サービス紹介資料 [2020年/3月版]【旧版】Oracle Autonomous Database Cloud サービス紹介資料 [2020年/3月版]
【旧版】Oracle Autonomous Database Cloud サービス紹介資料 [2020年/3月版]
 
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
 

Similar to 企業システムで使えるマイクロサービスの特長と実践 (Oracle Cloudウェビナーシリーズ: 2021年4月15日)

Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]オラクルエンジニア通信
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートOracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートオラクルエンジニア通信
 
[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...
[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...
[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...オラクルエンジニア通信
 
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!オラクルエンジニア通信
 
[JavaOne Tokyo 2012] JavaFX and Web Integration
[JavaOne Tokyo 2012] JavaFX and Web Integration[JavaOne Tokyo 2012] JavaFX and Web Integration
[JavaOne Tokyo 2012] JavaFX and Web IntegrationKazuchika Sekiya
 
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界オラクルエンジニア通信
 
20191015 beyondstudy oracle_nagahisa
20191015 beyondstudy oracle_nagahisa20191015 beyondstudy oracle_nagahisa
20191015 beyondstudy oracle_nagahisabeyond Co., Ltd.
 
20190620 multicloud share
20190620 multicloud share20190620 multicloud share
20190620 multicloud shareMai Nagahisa
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osakaTakashi Ito
 
オラクルが提唱するクラウドの真価と可能性(Oracle Cloud Days Tokyo 2015)
オラクルが提唱するクラウドの真価と可能性(Oracle Cloud Days Tokyo 2015)オラクルが提唱するクラウドの真価と可能性(Oracle Cloud Days Tokyo 2015)
オラクルが提唱するクラウドの真価と可能性(Oracle Cloud Days Tokyo 2015)オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデートOracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデートオラクルエンジニア通信
 
20191015 oracle beyondstudy
20191015 oracle beyondstudy20191015 oracle beyondstudy
20191015 oracle beyondstudyMai Nagahisa
 
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]オラクルエンジニア通信
 
20220914_MySQLでDevOps!
20220914_MySQLでDevOps!20220914_MySQLでDevOps!
20220914_MySQLでDevOps!Machiko Ikoma
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会オラクルエンジニア通信
 

Similar to 企業システムで使えるマイクロサービスの特長と実践 (Oracle Cloudウェビナーシリーズ: 2021年4月15日) (20)

Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
 
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートOracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
 
[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...
[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...
[Modern Cloud Day Tokyo 2019] Oracle CloudでDevOps!?Javaアプリケーションのモダン開発を支援するOra...
 
Oracle GoldenGate 概要 2020年11月版
Oracle GoldenGate 概要 2020年11月版Oracle GoldenGate 概要 2020年11月版
Oracle GoldenGate 概要 2020年11月版
 
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
 
[JavaOne Tokyo 2012] JavaFX and Web Integration
[JavaOne Tokyo 2012] JavaFX and Web Integration[JavaOne Tokyo 2012] JavaFX and Web Integration
[JavaOne Tokyo 2012] JavaFX and Web Integration
 
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
 
20191015 beyondstudy oracle_nagahisa
20191015 beyondstudy oracle_nagahisa20191015 beyondstudy oracle_nagahisa
20191015 beyondstudy oracle_nagahisa
 
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
 
Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介
Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介
Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介
 
20190620 multicloud share
20190620 multicloud share20190620 multicloud share
20190620 multicloud share
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osaka
 
オラクルが提唱するクラウドの真価と可能性(Oracle Cloud Days Tokyo 2015)
オラクルが提唱するクラウドの真価と可能性(Oracle Cloud Days Tokyo 2015)オラクルが提唱するクラウドの真価と可能性(Oracle Cloud Days Tokyo 2015)
オラクルが提唱するクラウドの真価と可能性(Oracle Cloud Days Tokyo 2015)
 
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデートOracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
 
20191015 oracle beyondstudy
20191015 oracle beyondstudy20191015 oracle beyondstudy
20191015 oracle beyondstudy
 
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
 
20220914_MySQLでDevOps!
20220914_MySQLでDevOps!20220914_MySQLでDevOps!
20220914_MySQLでDevOps!
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
 
Oracle APEX概要
Oracle APEX概要Oracle APEX概要
Oracle APEX概要
 

More from オラクルエンジニア通信

Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデートOracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートOracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデートOracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデートOracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートOracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートOracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデートOracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデートOracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデートOracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートOracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデートOracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデートオラクルエンジニア通信
 
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)オラクルエンジニア通信
 
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2021年11月度サービス・アップデート
Oracle Cloud Infrastructure:2021年11月度サービス・アップデートOracle Cloud Infrastructure:2021年11月度サービス・アップデート
Oracle Cloud Infrastructure:2021年11月度サービス・アップデートオラクルエンジニア通信
 

More from オラクルエンジニア通信 (20)

Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデートOracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートOracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデートOracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデートOracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートOracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートOracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデートOracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデートOracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
 
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
 
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデートOracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートOracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデートOracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
 
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
 
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
 
Oracle Cloud Infrastructure:2021年11月度サービス・アップデート
Oracle Cloud Infrastructure:2021年11月度サービス・アップデートOracle Cloud Infrastructure:2021年11月度サービス・アップデート
Oracle Cloud Infrastructure:2021年11月度サービス・アップデート
 
第18回しゃちほこオラクル俱楽部
第18回しゃちほこオラクル俱楽部第18回しゃちほこオラクル俱楽部
第18回しゃちほこオラクル俱楽部
 

企業システムで使えるマイクロサービスの特長と実践 (Oracle Cloudウェビナーシリーズ: 2021年4月15日)

  • 1. Oracle Cloud ウェビナー ファンデーションシリーズ 企業システムで使えるマイクロサービスの特⻑と実践 伊藤 敬 Enterprise Cloud Native Java, Oracle Corporation Principal Product Manager 仁井⽥ 拓也 ⽇本オラクル株式会社 テクノロジー・クラウド・エンジニアリング本部 クラウドエンジニア 2021年4⽉15⽇
  • 2. Contents 1 マイクロサービスの基本とメリット Helidon概要と特⻑ Helidon MPとOracle Databaseの接続︓デモンストレーション 既存システムへのマイクロサービス導⼊ Helidon: サポート、各種情報リソース まとめ Copyright © 2021, Oracle and/or its affiliates | 2 2 3 4 5 6
  • 3. Copyright © 2021, Oracle and/or its affiliates | 3 1. マイクロサービスの基本とメリット
  • 4. アプリケーションの リリース頻度イメージ インフラ アプリケーション アーキテクチャ ⽉次 週次 OS / サーバーHW VM アプリケーションの デプロイ⼿法 シンプルなデプロイ作業. . ウォーターフォール アジャイル Continuous Deployment コンテナ .Net Java Webアプリケーション マイクロサービス A B C Webアプリ多様化 2xDB APP 2008+ 2016+ 2000 企業システムへのニーズ 進化の経緯 ビジネスニーズへの対応速度向上と柔軟性向上 ⽇次/時次 インターネット経由で サービス提供 サービスの多様化・ 肥⼤化 クラウドでのサービス 提供が⼀般化 Copyright © 2021, Oracle and/or its affiliates | 4
  • 5. マイクロサービスとは Copyright © 2021, Oracle and/or its affiliates. | 5 サービス間の影響を極⼩化しシステムの変更容易性を⾼めるアーキテクチャ 保守とテストの容易性 • 更新単位を最⼩限にすることでテスト規模を最⼩化 • アプリケーション保守の範囲もコンパクトに 疎結合 • アプリケーション間の依存度を下げ開発容易性を⾼める • 変更による稼働中のサービスに対する影響を極⼩化 独⽴してデプロイ可能 • サービスの更新の単位を⼩規模化 • スケール変更の単位を最⼩化しリソース割り当てを最適化 API サービス実装 データストア
  • 6. サービス間の影響の伝播を抑⽌することで稼働状態や実装⽅式をサービス毎に任意にコントロール 共有リソースの排除による依存関係の解消 • サービス毎でランタイムやリソースを占有 • APIを通してサービス間を疎結合化 • サービス単位で独⽴したスケールや稼働の制御、 データストア/アプリケーションの実装⽅式の選択 ⾮同期連携の活⽤による負荷影響の伝播回避 • メッセージング等の基盤で処理を蓄積 • 各サービスの任意のタイミングで処理を実⾏ • 連携相⼿の処理性能、稼働状況に依存せず処理 を完了 マイクロサービス・アーキテクチャの主な強み Copyright © 2021, Oracle and/or its affiliates. | 6 コンテナ 製品 カタログ サービス コンテナ 製品 カタログ サービス コンテナ 製品 カタログ サービス コンテナ 注⽂管理 サービス アプリケーション・サーバ 在庫管理 サービス NoSQL RDB キャッシュ 注⽂管理 サービス 在庫管理 サービス RDB 製品 カタログ サービス 在庫予約キュー 更新通知キュー 在庫マスタ ⼀定のスルー プットで処理 NoSQL REST API
  • 7. Copyright © 2021, Oracle and/or its affiliates | 7 2. Helidonの概要と特⻑
  • 8. Javaベースのマイクロサービス・フレームワーク製品とその分布 Micro frameworks MicroProfile based Full-stack Helidon MP Helidon SE Dropwizard Oracle Corporation 作成 軽量・⼩型 重・⼤型 Copyright © 2021, Oracle and/or its affiliates | 8
  • 9. Javaベース・⼩型・⾼速なマイクロサービスの構築を可能にする オープンソースフレームワーク 最新バージョン︓2.2.2 (2021年4⽉現在) 特⻑︓2つのアプリケーションモデル Helidon SE • Nettyベースの極⼩WebサーバとFunctional Routing機構 、独⾃reactive streams、DI/CDIなし Helidon MP • MicroProfile/Jakarta EE標準準拠のコンポーネント群と DIベースのアプリ開発、CDI Extension • MicroProfile 3.3 準拠 • Apache License 2.0でライセンス – 商⽤利⽤も無償 • Java 11 以上で動作 • GraalVM ネィティブイメージ対応 (SE & MP) Javaマイクロサービス開発フレームワーク Helidonとは︓ Helidon SE Helidon MP Helidon MP Helidon SE Copyright © 2021, Oracle and/or its affiliates | 9
  • 10. Copyright © 2021 Oracle and/or its affiliates. • Java⾔語ベース • ⾼いパフォーマンスと少ないメモリ使⽤量 • 標準テクノロジーへの準拠・採⽤ • 外部リソースとの連携 • Oracle Database (OnP/Cloud)との多様な接続・連携 • 開発・運⽤ツールとの連携 • OSSベースのサポートと商⽤サポート • Oracle WebLogic Server/Coherenceとの容易な連携 Helidon の特⻑と優位性
  • 11. GraalVM ネイティブイメージ • ネイティブ実⾏可能ファイルへの事前コンパイル • 起動時間の⼤幅な改善 • 必要メモリ容量の削減 GraalVM ネイティブイメージ上のHelidonアプリ • 20〜30ミリ秒で起動 • ほぼ瞬時のスケーリング • Javaアプリで“サーバレス”レベルのパフォーマンス • 標準のJavaのみで実現 • Java/Jakarta EE、 MicroProfile APIへの準拠 Helidon と GraalVM ネイティブイメージ Innovating for Java Microservices Copyright © 2021 Oracle and/or its affiliates. Native Image 0 0.1 0.2 0.3 0.4 0.5 GraalVM Native Helidon SE 26 ms 起動時間 (秒)
  • 12. Routing routing = Routing.builder() .get("/hello", (req, res) -> res.send("Hello World")) .build(); WebServer.create(routing) .start(); @Path("hello") public class HelloWorld { @GET public String hello() { return "Hello World"; } } サンプルコード “Hello World” の記述例を⽤いたHelidonのアプリケーションモデルの違い Helidon SEはDI(Dependency Injection)がなく、Javaの関数型プログラミングが主体 Helidon MPはMicroProfileのCDI、JAX-RSなどのアノテーションによる宣⾔型プログラミング Copyright © 2021, Oracle and/or its affiliates | 12
  • 13. Helidon SEを構成するコンポーネント群 Copyright © 2021 Oracle and/or its affiliates. Reactive Web Server [Webサーバ] Config [アプリ構成管理] Security [包括セキュリティ] Tracing [アプリ間連携監視] Metrics [アプリ状態監視] Health Check [アプリ死活監視] gRPC Server and Client [同期型アプリ連携] DB Client [DBクライアント] WebClient [Webクライアント] Reactive Streams [アプリ内イベント基盤] Reactive Messaging [⾮同期通信] WebSocket [ソケット通信] gRPC Server / Client Publisher/ Subscriber Mongo DB (Reactive) / Oracle DB (Non-Reactive) Web Server Microservices Web Server Etc. ⾮同期・ノンブロッキング・リアクティブ Routing REST
  • 14. Helidon MPのコンポーネント群 Copyright © 2021 Oracle and/or its affiliates. Jakarta RESTful Web Services Jakarta CDI Jakarta JSON Processing MicroProfile Tracing MicroProfile Metrics Jakarta JSON Binding MicroProfile Reactive Messaging MicroProfile Health Checks MicroProfile Fault Tolerance MicroProfile JWT Auth MicroProfile REST Client MicroProfile Config Jakarta Persistence MicroProfile Reactive Streams Operators MicroProfile OpenAPI Jakarta Websocket CDI Extension JTA CDI Extension gRPC CDI Extension Oracle UCP CDI Extension HikariCP CDI Extension Coherence CDI Extension OCI Object Storage
  • 15. Jakarta EE Enterprise Java標準︓Jakarta EE と MicroProfile そしてHelidonのカバー範囲 15 Helidon MP MicroProfile Config Fault Tolerance Metrics Health Check OpenTracing JWT Auth Open API Reactive Messaging Reactive Stream Operators GraphQL JAX-RS Web Service JAX-RS Rest Client CDI JSON-P JSON-B WebSocket JPA JTA Servlet JSP JSF JSTL EL Annotations EJB Bean Validation Managed Beans Interceptors Security Authentication MicroProfile Jakarta EE MicroProfile Jakarta EE gRPC DB Client Web Client Security CORS Helidon Copyright © 2021, Oracle and/or its affiliates |
  • 17. • Netty - ⾼性能ネットワークアプリケーションフレームワークの採⽤ • 堅牢かつ⾼い拡張性 • 卓越したパフォーマンスを提供 • ⾮同期イベント駆動型 • Reactive APIをサポート • 最速*リアクティブストリームオペレータの実装 • リアクティブなノンブロッキングHTTPクライアント • リアクティブなノンブロッキングデータベースクライアント • Java 11+ 対応によるランタイム⼩型化の実現 • カスタマイズされた(縮⼩された)Javaランタイム環境 - Jlink • ネイティブイメージモードでは、完全なJavaランタイム環境が不要 • サーバーレス⽤途に最適 • 起動時間が速く、メモリ使⽤量が少なく、アプリケーションサイズが⼩さい ⾼いパフォーマンスとフットプリントの削減を実現 * As of 2020 December Copyright © 2021, Oracle and/or its affiliates | 17
  • 18. 外部リソースとの連携 Copyright © 2021, Oracle and/or its affiliates | 18
  • 19. Helidon SE – DB Clientコンポーネント • RDB、⾮RDBいずれにも対応 • Helidon Configコンポーネントに接続するDBの属性情報をセット • プログラム中でDB Client APIを使⽤してDBへ接続、処理 Helidon MP – JPA/JTA • Jakarta EEベースのDB処理をHelidonで実装 • JPA: O/Rマッピングの仕組みを提供 • JTA: RDBを操作するトランザクション処理実装 Helidon MP – Micronaut Dataとの連携 • Micronaut Data – Micronaut Projectが開発するデータベースアクセス・ツールキット RDBとの連携 Copyright © 2021 Oracle. All rights reserved. この後デモンストレーションをご覧いただきます
  • 20. CDI Extension for Oracle UCP • Universal Connection Pooling(UCP)により、多彩なOracleデータベース独⾃機能を利⽤できる • ⾼速接続フェイルオーバー(FCF)、ランタイム接続負荷分散、およびWebセッション/トランザクションベースの 接続アフィニティ • データベース常駐接続プール(DRCP) • アプリケーション・コンティニュイティ • マイクロサービスメッセージング⽤ Oracle Advanced Queueingへの対応 • OracleAQメッセージングコネクタ • イベントソーシングとSAGA / LRA *のアトミックデリバリーを容易にする Oracle Databaseとの連携 * MicroProfile LRA proposal in progress Copyright © 2021, Oracle and/or its affiliates | 20
  • 21. • コンテナファーストに基づく設計・開発 • メモリ使⽤量が少なく、起動時間が短い • Observability – Prometheus/Grafana, Tracing – Zipkin/Jaeger • Jibを使⽤したDockerイメージビルドのサポート • Jib: MavenおよびGradleと統合 • Jib: dockerコマンドやDockerデーモンを必要としない • Kubernetesプローブと連携するヘルスチェック機能 • コンテナサイズを縮⼩するための異なるパッケージ化 • カスタマイズされた(縮⼩された)Javaランタイム環境 - Jlink • ネイティブイメージモードでは、完全なJavaランタイム環境が不要 コンテナテクノロジー、Kubernetesへの対応 Copyright © 2021, Oracle and/or its affiliates | 21
  • 22. Copyright © 2021, Oracle and/or its affiliates | 22 3. Helidon MP と Oracle Databaseの接続: デモンストレーション
  • 23. デモアプリケーションの条件 • Java: Java 11+ • Helidon: v2.2.2 前提条件 Copyright © 2021, Oracle and/or its affiliates. 23
  • 25. Helidonデモご紹介内容 Copyright © 2021, Oracle and/or its affiliates. 25 1.設定ファイル 確認 • 1-1︓構成ファイル(microprofile-config.properties)の確認(データソースの接続設定など) • 1-2︓JPA設定ファイル(persistence.xml)の確認(永続ユニット、O/Rマッピングの設定など) 2.実装 • 2-1︓Entityクラスを実装(テーブルへのマッピングやカラムへのマッピングの実装) • 2-2︓RESTエンドポイントの実装(パスやリクエスト/レスポンス形式の実装)
  • 26. デモの概要 Copyright © 2021, Oracle and/or its affiliates. 26 Autonomous Transaction Processing (ATP) クライアント JAX-RS JPA/JTA 都道府県情報を 取得
  • 27. JAX-RS(Jersey) • RESTアーキテクチャなWebアプリを作成するための仕 様 • Java + HTTPをサービス化 • RESTインタフェースをアノテーションを付与するだけ で実現可能。具体例は以下 • @Path︓リソースクラスのパス • @GET/@POST/@PUT/@DELETE/@HEAD︓ HTTPメソッドの種別 • @Produces︓レスポンスのContext-Type • @Path︓メソッドのパス • この実装例の場合は以下のURLでアクセス可能 • http://host:port/sample_service/hello • リクエストのクエリパラメータやFormのパラメータも アノテーションで読み取り可能 JAX-RS(Jersey)概要 Copyright © 2021, Oracle and/or its affiliates. 27 JavaDoc︓ https://javadoc.io/doc/jakarta.ws.rs/jakarta.ws.rs-api/latest/index.html
  • 28. JPA • リレーショナルデータベース(RDB)をJavaアプリケーション から操作するためのO/Rマッピングの仕組みを提供 • JAX-RSと同様にアノテーションで設定可能。具体 例は以下 • @Table︓マッピング対象となるテーブル名 • @Entity︓該当するクラスに付与することで、Entityク ラスであることを⽰す • @Id︓Entityの中でPrimary Keyとなるプロパティや フィールドを⽰す • @Column︓カラムとなるプロパティやフィールドに⽰し、 そのカラム属性を指定可能 • データベースのテーブルと対応付けられるJavaクラス のEntityはEntityマネージャで管理 JPA概要 Copyright © 2021, Oracle and/or its affiliates. 28 JavaDoc︓ https://jakarta.ee/specifications/persistence/2.2/apidocs/javax/persistence /package-summary.html
  • 29. JTA • リレーショナルデータベース(RDB)をJavaアプリケーショ ンから操作するためのトランザクションの仕組みを提供 • JAX-RSと同様にアノテーションで設定可能。具体 例は以下 • @Transactional︓メソッドに付与することで、トランザ クションの振る舞いを定義。以下具体例 JTA概要 Copyright © 2021, Oracle and/or its affiliates. 29 TxType トランザクション外か ら 既存トランザクション内 から TxType.REQUIRED 新しいトランザクション を開始 既存トランザクション内で 実⾏ TxType.REQUIRED _NEW 新しいトランザクション を開始 既存トランザクションを⼀ 旦停⽌し、新しいトラン ザクション内で実⾏ JavaDoc︓https://jakarta.ee/specifications/transactions/2.0/apidocs/
  • 30. 1-1︓サンプルコードの解説(microprofile-config.properties) Copyright © 2021, Oracle and/or its affiliates. 30 microprofile-config.properties(HelidonのConfig) • データベース設定 • dataSourceClassName︓データソースクラス名 • 今回は”oracle.jdbc.pool.OracleDataSource” • dataSource.url︓データソースURL名 • 今回は”jdbc:oracle:driver_type:@データベース指定 ⼦”(ATP Wallet(クライアント資格証明)もここで指定) • dataSource.user/password︓データベースユーザ 名とパスワード • サーバ設定系 • server.host/port︓起動するWebサーバのホストと ポート 1.設定ファイル チューニング
  • 31. persistence.xml (JPA/JTAのConfig) • Persistence-unit • name: ユニット名(パーケージ内で⼀意) • transaction-type: “JTA” • jta-data-source: データベース名 • class: Entityクラスを記載 • Properties • データベーステーブルの⾃動⽣成の設定 • O/R マッパーの設定 • Eclipse Linkプロパティの設定 1-2︓サンプルコードの解説(persistence.xml) Copyright © 2021, Oracle and/or its affiliates. 31 1.設定ファイル チューニング
  • 32. 2-1︓サンプルコードの解説(Entityの実装) Copyright © 2021, Oracle and/or its affiliates. 32 Entityの実装(JTA/JPAアノテーションを利⽤) • Entity︓JPAのEntityの識別名 • Table︓マッピング先のテーブル名 • Access︓JPAがsetterメソッドやgetterメソッドを介さ ずにアクセス可能な⽅式 • Propertyベース • Fieldベース • NamedQueries︓クエリの設定 • NamedQueryを複数設定可能 • Nameにクエリ名、queryにクエリを設定 • Id︓Entity内の主キー • Column︓カラム属性 • Basic︓カラムへのマッピングの型 • 他にも複数設定可能 2.実装
  • 33. 2-2︓サンプルコードの解説(RESTエンドポイント(GET)) Copyright © 2021, Oracle and/or its affiliates. 33 クラスの実装(JPA/JAX-RSアノテーションを利⽤) • Path︓RESTエンドポイントのコンテキストパス • EntityManagerのインジェクション • PersistenceContextアノテーションで定義 • unitname︓ Persistent-unitのunitnameを設定 メソッドの実装(JAX-RSアノテーションを利⽤) • HTTP Method︓”GET” • Path︓クラスで設定したPath以後のパス • Produces︓レスポンスのContext-type • クエリの作成はEntityManagerを利⽤ • 引数にEntityクラスのクエリ名を指定 2.実装
  • 34. Helidon CLI(最新v2.1.3) • https://github.com/oracle/ helidon/blob/master/HELIDON-CLI.md • Helidon initによるベースプロジェクト作成 ⼊⼒項⽬ • SE/MP: • 今回はMP(2) • bare/quickstart/database • 今回はbatabase(3) • パッケージ名 Helidon CLI Copyright © 2021, Oracle and/or its affiliates. 34 user@client > helidon init Using Helidon version 2.2.1 Helidon flavor (1) SE (2) MP Enter selection (Default: 1): 2 Select archetype (1) bare | Minimal Helidon MP project suitable to start from scratch (2) quickstart | Sample Helidon MP project that includes multiple REST operations (3) database | Helidon MP application that uses JPA with an in-memory H2 database Enter selection (Default: 1): 3 Project name (Default: database-mp): Project groupId (Default: me.helidon): Project artifactId (Default: database-mp): Project version (Default: 1.0-SNAPSHOT): Java package name (Default: me.test.mp.database): <パッケージ名> Switch directory to /users/database-mp to use CLI Start development loop? (Default: n): n
  • 35. Copyright © 2021, Oracle and/or its affiliates | 35 4. 既存システムへのマイクロサービス導⼊
  • 36. 既存のアプリケーションからマイクロサービスを切り出す⽤件例︓ • ⼀部のコンポーネントが他のコンポーネントよりも頻繁に更新する必要がある • あるコンポーネントにのみ異なるスケール要件が存在する • あるコンポーネントが異なるテクノロジーを使⽤して開発する必要がある • コードベースが⼤きく複雑になりすぎた 既存のアプリケーションからマイクロサービスを切り出す、もしくは追加するパターン例︓ • ストラングラーパターン • Java EE アプリケーションへのサービス追加パターン 既存システムをマイクロサービスへ移⾏する Copyright © 2021, Oracle and/or its affiliates | 36
  • 37. Helidonマイクロサービスで既存のアプリケーションを進化させる ストラングラーパターン • 段階的な移⾏ - アプリの機能を段階的に 置き換える • “ファサード”: ユーザの要求をアプリケーション にルーティング • 新旧のサービスを並⾏稼働し、時間の経 過とともに、徐々に機能を新しいアーキテク チャに移⾏ • 機能が置き換えられた後、モノリスの「死ん だ」部分を削除/廃棄 Middleware Module 2 Datastore Helidon New Module Datastore 既存アプリケーション 新規or移⾏サービス マイクロサービスとして実装 ファサード Module 1 Module N Copyright © 2021, Oracle and/or its affiliates | 37
  • 38. POD POD POD WebLogic Operator NAMESPACE - OPERATOR NAMESPACE – WEBLOGIC DOMAIN OCI – VM AVAILABILITY DOMAIN 1 OCI Oracle Kubernetes Engine (OKE) – Kubernetes Cluster Admin Server Internet WEBLOGIC DOMAIN T3S Orchestrate WebLogic – Manage WebLogic Pods WEBLOGIC CLUSTER POD Managed Server 1 POD Managed Server 2 App App NAMESPACE - HELIDON POD Helidon OKE上のHelidonマイクロサービスで既存のアプリケーションを進化させる HTTPS HTTPS HTTPS HTTPS HTTPS OCI – VM AVAILABILITY DOMAIN 2 OCI – VM AVAILABILITY DOMAIN ... Copyright © 2021, Oracle and/or its affiliates | 38
  • 39. Copyright © 2021, Oracle and/or its affiliates | 39 5. Helidon: サポート、各種情報リソース
  • 40. Open Sourceとしてのサポートを提供中 • Web Site with guides and tutorials: https://helidon.io • StackOverflow: https://stackoverflow.com/tags/helidon • Public Slack channel: https://helidon.slack.com • GitHub issues tracker: https://github.com/oracle/helidon/issues Oracleによる商⽤サポートについて • WebLogic Server/Coherenceライセンス保有のお客様にHelidonのサポート提供 Helidonのサポート Copyright © 2020 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates | 40
  • 41. Helidonに関する各種情報 41 Blogs Social Media https://helidon.io/ Helidon Website https://twitter.com/helidon_project @helidon_project Contribute https://github.com/oracle/helidon https://medium.com/helidon Get Answers https://stackoverflow.com/tags/helidon https://helidon.slack.com/ • Slack Invitation link Helidon on YouTube Copyright © 2021, Oracle and/or its affiliates | https://www.youtube.com/channel/UChg00-uTTrCMmPsuzUNaZsA
  • 42. Copyright © 2021, Oracle and/or its affiliates | 42 6. まとめ
  • 43. • HelidonならEnterprise Java標準のナレッジを活かせる • HelidonならOracle Databaseとの連携を容易に実現できる • マルチテナントDBの活⽤、コンバージドDBへの応⽤ • UCPを使って可⽤性の向上にチャレンジ • Helidonでストラングラーパターンを試す • 既存アプリケーションからの機能の切り出し・分割 • WebLogic ServerアプリにHelidonで新機能追加 • ビジネスニーズへの迅速な対応やサービス提供の継続的な変更など、マイクロサービス活⽤をHelidonで︕ Helidonでマイクロサービス導⼊を検討する Copyright © 2021, Oracle and/or its affiliates 43