【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
1. Eclipse MicroProfile と Helidon MP
OCHaCafe Season 2 - #4
Cloud Native時代のモダンJavaの世界
Senior Director
Oracle Corporation Japan
December 19th, 2019
Tadahisa Kotegawa
2. 2
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,
timing, and pricing of any features or functionality described for Oracle’s products may change and
remains at the sole discretion of Oracle Corporation.
Statements in this presentation relating to Oracle’s future plans, expectations, beliefs, intentions and
prospects are “forward-looking statements” and are subject to material risks and uncertainties. A detailed
discussion of these factors and other risks that affect our business is contained in Oracle’s Securities and
Exchange Commission (SEC) filings, including our most recent reports on Form 10-K and Form 10-Q
under the heading “Risk Factors.” These filings are available on the SEC’s website or on Oracle’s website
at http://www.oracle.com/investor. All information in this presentation is current as of September 2019 and
Oracle undertakes no duty to update any statement in light of new information or future events.
Safe harbor statement
8. 8
The MicroProfile is a baseline platform definition that optimizes
Enterprise Java for a microservices architecture and delivers
application portability across multiple MicroProfile runtimes.
(訳)
MicroProfileはエンタープライズJavaをマイクロサービス・アーキテクチャの
ために最適化させたベースラインとなるプラットフォーム定義で、複数の
MicroProfileランタイム間のポータビリティを提供するものです。
What is the MicroProfile?
https://microprofile.io/faq/ より抜粋
15. 15
色々ご意見あると思いますが…
Helidon (MicroProfile) と WebLogic Server (Java EE) の使い分け
Web Front
Proxy Server
Browser
Database
WebLogic Server
servlet
MVC
JDBC
WLS
JTA
JMS
global transaction
management
Web Front
Proxy Server
API GW
Browser
Mobile App
IoT
DatabaseHelidon
JAX-RS
SPA/MVVC
JDBC
Microservices
REST
Client
JAX-RS
Java EE
MicroProfile
WLS
ajax
etc.
Static
contents
EJB
global transaction
management
Outer Systems
(often XA resources)
54. 54
Helidonの例(/metrics)
MicroProfile Metrics – OpenMetrics Text Format
# TYPE base_cpu_availableProcessors gauge
# HELP base_cpu_availableProcessors Displays the number of processors available to the Java virtual machine...
base_cpu_availableProcessors 2
# TYPE vendor_requests_count_total counter
# HELP vendor_requests_count_total Each request (regardless of HTTP method) will increase this counter
vendor_requests_count_total 12
# TYPE vendor_requests_meter_total counter
# HELP vendor_requests_meter_total Each request will mark the meter to see overall throughput
vendor_requests_meter_total 12
# TYPE vendor_requests_meter_rate_per_second gauge
vendor_requests_meter_rate_per_second 0.05411739326125853
# TYPE vendor_requests_meter_one_min_rate_per_second gauge
vendor_requests_meter_one_min_rate_per_second 0.12177241397420359
# TYPE vendor_requests_meter_five_min_rate_per_second gauge
vendor_requests_meter_five_min_rate_per_second 0.21843631434845615
# TYPE vendor_requests_meter_fifteen_min_rate_per_second gauge
vendor_requests_meter_fifteen_min_rate_per_second 0.32275102524669447
Meterを表す
55. 55
application スコープのメトリックを登録・公開することが可能
2種類の方法
• Annotationを使う方法
• プログラマティカル&動的に作成する方法
Annotationを使う方法 – いろいろな方法あり
MicroProfile Metrics – Application Metrics
Annotation Constructor Field Method Parameter Type(Class) 説明
@Counted O O O
@ConcurrentGauge O O O
@Gauge O
@Metered O O O
@Timed O O O
@Metric O O O Fieldで使用できるのはMeter, Timer, Counter,
Histogram
Gaugeが使用できるのはProducer method
か field