SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
株式会社シックススクウェアジャパン
Oracle APEX ユーザーグループ
Oracle APEX × API Gateway ×
Functions による
サーバレス開発
2020/7/29 1
DBXAP(ディービーザップ)
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
弊社について
会社名 : 株式会社シックススクウェアジャパン
事業内容 : Oracle APEXを中心としたシステム開発
設立年月日 : 2012年2月1日
資本金 : 10,000,000円
創業よりOracle Databaseにかかわる案件を中心にインフラ面での支援を行っております。特
にExadataの支援ご依頼が多くあります。
2017年2月よりDBXAPというOracle APEX専門の開発サービス(開発請負・APEX開発者向
け講習)を展開しています。最近はローコード開発が需要が伸びているせいか、Oracle APEX
の開発者向け講習がよく入ります。
昔から高速開発(RAD)など分野としてありますが、Web上での開発が洗練されてきており、昨
今のエンジニアの枯渇、DX推進、コロナ禍等色々な要素から需要の増加が見込まれる分野と
とらえております。
ガートナーではlow-code application platform (LCAP) による開発は、2024年には65%を
占めると予測を出しています。(2019/08/08記事 日本国内でということではありません。)
https://www.gartner.com/doc/reprints?id=1-1ODOM46A&ct=190812&st=sb
国内初のOracle APEXの正式パートナーとして対応させいて頂いております。
https://apex.oracle.com/pls/apex/f?p=411:2
2020/7/29 2
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
目次
1. Oracle Cloud上でのAPEX開発課題
2. 構成の変更
3. サービスを使った感想
4. アプリケーションの構成
2020/7/29 3
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
目的
Oracle APEXとOracle Functionsをサーバレスで構成して
よかったところと、どんな課題があったかを紹介します。
著名なサービスに導入して、こんなサービスが出来たとい
うキラキラした話はなくて、泥臭い感じです。
話を聞い頂いて、もし私もマネージド・サーバレスで
Functionsをやってみようと思って頂けたら成功です。
2020/7/29 4
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
ORACLE CLOUD上での
APEX開発課題
2020/7/29 5
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
今まで弊社で導入していた構成
2020/7/29 6
Autonomous
Database
VCN
顧客環境
PL/SQLだと
大変な部分
Virtual
Machine
Apache HTTP
Python
・Flask
WebAPI
PL/SQLコード
SQL
HTTPS
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
意外といっぱいある課題
2020/7/29 7
メンテナンス 人とお金周り拡張性
顧客ごとのメンテナンス
認証周りの更新
他言語の利用
可用性の向上
拡張時費用
保守する人数
費用が高い?
解決したいなと思いながら案件をこなす日々・・
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
意外といっぱいある課題
2020/7/29 8
メンテナンス
顧客ごとにあるWebAPI
– 小規模開発でもAPEX単体で難しい場合は外部処理が入る
• 開発環境維持は弊社ですか?そうですか・・監視も個別にいりま
すよね。ですよね。あ、お高い?そうですか・・
Cloudらしくない技術的な負債
– OSやDBの自動アップデートに合わせたレガシー化した
技術のアップデート
• DB、OSが自動でアップデートされます。アップデートに合わ
せてコードの修正が必要ですね。○百万円になります~。
え、Cloudって全部自動でアップデートされるんじゃないの?
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
意外といっぱいある課題
2020/7/29 9
拡張性
他言語の利用が必要
– Pythonは他の言語に比べて処理速度が遅い
• Pythonから他言語のモジュールを呼ぶとかもあるけども、バー
ジョンごとにライブラリがあったりなかったり・・自作?
処理量が増えた
– ロードバランス構成に変更
• 最初から組んでればいい?だって費用が高いからって・・
– 予算が出ない
• 一次的な予算支出はいいけど、売り上げにつながる部門じゃない
からメンテナンス費用は増やせないなぁ。
Cloudとは・・(実際に継続的な費用増加は嫌がる方は多い。)
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
意外といっぱいある課題
2020/7/29 10
開発はアジャイル、保守費用はウォーターフォール
– Oracle APEX単体では、正直保守費用はあまりもらえない
• ローコード開発で初期構築費安いですね。基盤も安いですね
(CPU1~2つ)。
• え、すぐできるんだからとりあえず作ってくれ?保守の中に簡単
な修正を入れてほしい?保守費用は開発の20%?1カ月0.5日も稼
働できないんですけど・・
会社が小さくて保守対応者が少ない(資金力不足)
– 小さい案件が多くなると、保守側の効率が悪く人が足りなく
なる
• 弊社より資金のないところなんてそうそうないとは思います
が・・
人とお金周り
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
解決して実現したい
• メンテナンスを減らしたい
• 顧客も納得できるクラウド型のビジネス
モデルにしたい(サブスクリプションで
も類似でも)
2020/7/29 11
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
解決して実現したい
2020/7/29 12
そして・・
開発ロジックへの集中、集中&集中
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
まず思ったこと
2020/7/29 13
Autonomous
Database
VCN
顧客環境
PL/SQLだと
大変な部分
Virtual
Machine
Apache HTTP
Python
・Flask
WebAPI
外に出そう
出来るだけ
共通パッケージ化
PL/SQLコード
SQL
HTTPS
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
ちょっと聞いてみた
2020/7/29 14
(株)フルエナジー
松本さん
以前OCIjpでFunctions使ってましたよね。
Functionsの環境構築って運用込みでお願いできたり
しますか?
※ 弊社は極力Cloud基盤には手を出さない方針
Kubernetes + Dockerのイメージですか?
サーバレスでAPI Gateway + Oracle Functionsの
方が運用負荷も価格も下がりますよ。
[OCIjp]
Oracle Cloud Infrastructure(OCI)に関する勉強会を開催するグループです。
https://fullenergy-oci.connpass.com/
え、そうなんですか。
弊社(私)
弊社(私)
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
構成の変更
2020/7/29 15
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
2020/7/29 16
結局どんな構成にしたか
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
Security Lists
図解(一部未実装)
2020/7/29 17
API Gateway
Functions
Autonomous
Database
VCN
Functions
VCN
顧客環境 弊社環境
OAuth2.0
Third Party
Tool
DBXAP
Package(β)
ユーザー管理
データロード補助
ジョブ管理
開発無償
本番月額
HTTPS
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
簡易アーキテクチャ図
2020/7/29 18
API Gateway
Functions
Autonomous
Database
APEX標準のOAuth
クライアント証明登録
PL/SQLコード
|- ビジネスロジック
|- Web APIコール
監視
開発
デプロイ用サー
バ
デプロイ
GitHub
PL/SQL Package
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
解決!
2020/7/29 19
メンテナンス
顧客ごとにあるWebAPI
– Oracle Functionsによる一元管理(大規模クローズドは別)
Cloudらしくない技術的な負債
– 弊社パッケージとして一元的に管理することで各アップデー
トに対応(大変ですが、個別にやるよりすごく楽)
大体解決!
解決!
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
解決!
2020/7/29 20
拡張性
他言語の利用が必要
– Oracle Functionsで色々な言語に対応
処理量が増えた
– 基本全てマネージドシステムで管理することで、大体解決。
CPU不足とかで金額据え置きは解決難しい。
大体解決!
解決!
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
解決!
2020/7/29 21
開発はアジャイル、保守費用はウォーターフォール
– パッケージによる月額課金形態にし、保守を各顧客専用から
全体化することである程度解決
会社が小さくて保守対応者が少ない(資金力不足)
– 案件ごとに持つアプリケーションコードを少なくすることで、
効率的な対応を維持
人とお金周り
大体解決!
大体解決!
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
サービスを使った感想
2020/7/29 22
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
2020/7/29 23
Oracle Autonomous Database
Oracle APEX
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
Autonomous Database 概要
• 基本的にサービスとして、デー
タベース管理が不要となります。
• Exadata上で動いており、
Exadataの機能が利用できます。
• ADW (Oracle Autonomous
Data Warehouse / データウェ
アハウス)とATP(Oracle
Autonomous Transaction
Processing /トランザクション処
理用)があります。
2020/7/29 24
Autonomous Database
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
今後の課題に感じた点
今回の構成で良かった点
• 最初からOracle APEXがつい
ています。有効化するだけで
す。
• マネージドでチューニングも
ある程度やってくれます。
• Oracle APEX上にアプリケー
ションを作るときに、基本的
な設計していれば、管理、
チューニングについて、運用
中の手間が極端に少なくなり
ます。
2020/7/29 25
• マネージドなのでバージョン
アップ時の設計がいります。
– Oracle APEXの下位互換性は
限りなく高いです。
聞くところによると、Oracle
APEX 2.0(2006年)の頃の
バージョンでもインポートで
きるそう・・
– 開発環境を作る余裕がないお
客様は直接アップグレード
• ORDSの機能制限があります
– 最近外部のORDSに対応した
ので、機能としては大体使え
ると思います。
よかった点
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
2020/7/29 26
API Gateway
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
API Gateway 概要
• ネットワーク内のプライベート・
エンドポイントや、インターネッ
ト上のパブリックIPアドレスから
接続できるAPIを公開できます。
エンドポイントは、API検証、リ
クエストとレスポンスの変換、
CORS、認証と認可およびリクエ
スト制限をサポートします。
2020/7/29 27
API Gateway
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
今後の課題に感じた点
今回の構成で良かった点
• 外部WebAPIの認証一元化が
できる(できそう/検証中)。
• Oracle APEXからつなぐ時の
手間が少ない。1つの証明書
で繋がるので、手間が少ない
(事前構成済みWalletを利
用) 。
• Oracle Functionsで作ったも
のは、画面で選択するだけで
デプロイできる。
2020/7/29 28
• 今のところなし
よかった点
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
2020/7/29 29
Oracle Functions
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
Oracle Functions 概要
• Oracle Functionsは、エンタープ
ライズ・グレードOracle Cloud
Infrastructureに基づいて構築さ
れ、Fn Projectオープン・ソー
ス・エンジンで機能する、完全に
管理された、スケーラブルな、オ
ンデマンドの、Functions-as-a-
Serviceプラットフォームです。
2020/7/29 30
Functions
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
今後の課題に感じた点
今回の構成で良かった点
• マネージドなので、保守がと
ても楽。スケールを考える必
要もない。
• 機能部分だけ考えればよいの
で、実装工数が少なくて済む。
• 複数言語が使えるため、処理
によって言語の切り替えが出
来る
2020/7/29 31
• 実行可能な秒数の上限が決め
られている(2020/07/20現
在は120秒)
• メモリに載っている期間が
ちょっと短い。初回実行は少
し時間がかかる。
• 複雑な処理をしたいときは設
計がちょっと面倒。(機能ご
とに分割しないといけない)
• PythonはWindowsの開発で
難あり(後程)
よかった点
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
アプリケーションの構成
2020/7/29 32
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
とりあえずの構成
2020/7/29 33
アプリケーション
– 名前: <サービス名>
– Function
• 名前: <機能名>_v1_<操作>
API Gateway
– 名前: <サービス名>
– デプロイメント
• 名前: <機能名>
• パス接頭辞: /<機能名>
– ルート1
» メソッド: GET
» パス: /v1/<操作> (作成したFunctionを指定)
– ルート2
» メソッド: POST
» パス: /v1/<操作> (作成したFunctionを指定)
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
ディレクトリ構成
2020/7/29 34
<project>
| -<function>
| -- v1
| ---- <operation>
| ------ __init__.py
| ------ func.py
| ------ func.yaml
| ------ requirements.txt
|
| -- tests
| ---- __init__.py
| ---- v1func_test.py
|
┕ -- README.md
Functionsへデプロイするファイル
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
Windowsでちょっとはまった
2020/7/29 35
Pytestでテストコードを実行すると失敗する(502
Bad Gateway エラー)
エラーをよくよく見ると、Windows特有のエラー
(Windowsで使えないライブラリを利用)
テスト用にローカルのDockerとか必要なのかな・・?
> いろいろいじる
一応サポートに確認したが、Fn
プロジェクト側の問題ということで、
サポートが役に立たなかった・・
エラーは何となく分かったので、開発用にLinuxを立てることを検討
VM系はWindows Updateでよく壊れる思い出
外部に立てて、いちいちつなぐのも面倒
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
今回の結果(オチ)
2020/7/29 36
Macbookを買って解決しました
※ お金で解決!
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
2020/7/29 37
最後に
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
2020/7/29 38
具体的な設定周りを期待した方はすみません。時間な
いのでまた別で・・
もし今回の話をきいて、やってみようと思ったら
相談下されば何か答えられるかもしれません。
相談はただです。
apexugjのSlackにもいます。
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
2020/7/29 39
協業者募集中です
特に営業周り。売り上げ欲しいです。
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
2020/7/29 40
ありがとうございました
All contents copyright Six Square Japan Co., Ltd. All Rights Reserved.
2020/7/29 41
免責事項
本資料に掲載された情報・資料を利用、使用、ダウンロードするなどの行為に関連して生じたあらゆ
る損害等についても、理由の如何に関わらず、弊社は一切責任を負いません。
また、本資料の情報には注意を払っておりますが、本資料の内容の正確性については一切責任を負い
かねますのでご了承ください。
各社の商標または登録商標
• Apple、Apple のロゴ、Apple Pay、Apple Watch、iPad、iPhone、iTunes、QuickTime、
QuickTimeのロゴ、Safariは、米国および他の国々で登録されたApple Inc.の商標です。iPhoneの
商標は、アイホン株式会社のライセンスにもとづき使用されています。App Store、AppleCare、
iCloudは、Apple Inc.のサービスマークです。
TM and (C) 2018 Apple Inc. All rights reserved.
• Android、Android ロゴ、Chromecast、Cloud Search、Gmail、Google、Google ロゴ、Google
アシスタント、Google カレンダー、Google Chrome、Google Cloud Platform (GCP) 、Google
ドキュメント、Google ドライブ、ビジネス向け Google グループ、Google Home、Google
Home ロゴ、Google Home Mini、Google Home Mini ロゴ、Google ハングアウト、Google
Keep、Google マップ、Google Nest Mini、Google Nest Mini ロゴ、Google Play、Google Play
ロゴ、Google Play Music、Google Play Music ロゴ、Google+、Google サイト、Google スプ
レッドシート、Google スライド、G Suite、Google Vault、YouTube、YouTube ロゴは、
Google LLC の商標です。
• OracleとJavaは、Oracle Corporationおよびその子会社、関連会社の米国およびその他の国にお
ける登録商標です。文中の社名、商品名などは各社の商標または登録商標である場合があります。
• 「Microsoft (R)」、「Microsoft (R) ActiveSync (R)」「Exchange ActiveSync (R)」
「Microsoft (R) Office OneNote (R)」、「Microsoft (R) Office Outlook (R)」、「Microsoft
(R) Office Excel (R)」、「Microsoft (R) Office PowerPoint (R)」、「Windows (R)」
「Microsoft (R) Windows (R)」「Windows Server (R)」「Windows Vista (R)」「Windows
(R) 7」「Windows (R) 8」「Windows Mobile (R)」「Windows (R) 10 Mobile」、「Internet
Explorer (R)」、「.NET Framework」、「BitLocker」、「SQL Server (R)」、「Microsoft
Azure (TM)」、「ExpressRoute」、「Office 365」、「Active Directory」は、Microsoft
Corporationの商標または登録商標です。

Mais conteúdo relacionado

Último

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Destaque

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Destaque (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Oracle APEX × API Gateway × Functions によるサーバレス開発

  • 1. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 株式会社シックススクウェアジャパン Oracle APEX ユーザーグループ Oracle APEX × API Gateway × Functions による サーバレス開発 2020/7/29 1 DBXAP(ディービーザップ)
  • 2. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 弊社について 会社名 : 株式会社シックススクウェアジャパン 事業内容 : Oracle APEXを中心としたシステム開発 設立年月日 : 2012年2月1日 資本金 : 10,000,000円 創業よりOracle Databaseにかかわる案件を中心にインフラ面での支援を行っております。特 にExadataの支援ご依頼が多くあります。 2017年2月よりDBXAPというOracle APEX専門の開発サービス(開発請負・APEX開発者向 け講習)を展開しています。最近はローコード開発が需要が伸びているせいか、Oracle APEX の開発者向け講習がよく入ります。 昔から高速開発(RAD)など分野としてありますが、Web上での開発が洗練されてきており、昨 今のエンジニアの枯渇、DX推進、コロナ禍等色々な要素から需要の増加が見込まれる分野と とらえております。 ガートナーではlow-code application platform (LCAP) による開発は、2024年には65%を 占めると予測を出しています。(2019/08/08記事 日本国内でということではありません。) https://www.gartner.com/doc/reprints?id=1-1ODOM46A&ct=190812&st=sb 国内初のOracle APEXの正式パートナーとして対応させいて頂いております。 https://apex.oracle.com/pls/apex/f?p=411:2 2020/7/29 2
  • 3. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 目次 1. Oracle Cloud上でのAPEX開発課題 2. 構成の変更 3. サービスを使った感想 4. アプリケーションの構成 2020/7/29 3
  • 4. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 目的 Oracle APEXとOracle Functionsをサーバレスで構成して よかったところと、どんな課題があったかを紹介します。 著名なサービスに導入して、こんなサービスが出来たとい うキラキラした話はなくて、泥臭い感じです。 話を聞い頂いて、もし私もマネージド・サーバレスで Functionsをやってみようと思って頂けたら成功です。 2020/7/29 4
  • 5. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. ORACLE CLOUD上での APEX開発課題 2020/7/29 5
  • 6. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 今まで弊社で導入していた構成 2020/7/29 6 Autonomous Database VCN 顧客環境 PL/SQLだと 大変な部分 Virtual Machine Apache HTTP Python ・Flask WebAPI PL/SQLコード SQL HTTPS
  • 7. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 意外といっぱいある課題 2020/7/29 7 メンテナンス 人とお金周り拡張性 顧客ごとのメンテナンス 認証周りの更新 他言語の利用 可用性の向上 拡張時費用 保守する人数 費用が高い? 解決したいなと思いながら案件をこなす日々・・
  • 8. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 意外といっぱいある課題 2020/7/29 8 メンテナンス 顧客ごとにあるWebAPI – 小規模開発でもAPEX単体で難しい場合は外部処理が入る • 開発環境維持は弊社ですか?そうですか・・監視も個別にいりま すよね。ですよね。あ、お高い?そうですか・・ Cloudらしくない技術的な負債 – OSやDBの自動アップデートに合わせたレガシー化した 技術のアップデート • DB、OSが自動でアップデートされます。アップデートに合わ せてコードの修正が必要ですね。○百万円になります~。 え、Cloudって全部自動でアップデートされるんじゃないの?
  • 9. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 意外といっぱいある課題 2020/7/29 9 拡張性 他言語の利用が必要 – Pythonは他の言語に比べて処理速度が遅い • Pythonから他言語のモジュールを呼ぶとかもあるけども、バー ジョンごとにライブラリがあったりなかったり・・自作? 処理量が増えた – ロードバランス構成に変更 • 最初から組んでればいい?だって費用が高いからって・・ – 予算が出ない • 一次的な予算支出はいいけど、売り上げにつながる部門じゃない からメンテナンス費用は増やせないなぁ。 Cloudとは・・(実際に継続的な費用増加は嫌がる方は多い。)
  • 10. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 意外といっぱいある課題 2020/7/29 10 開発はアジャイル、保守費用はウォーターフォール – Oracle APEX単体では、正直保守費用はあまりもらえない • ローコード開発で初期構築費安いですね。基盤も安いですね (CPU1~2つ)。 • え、すぐできるんだからとりあえず作ってくれ?保守の中に簡単 な修正を入れてほしい?保守費用は開発の20%?1カ月0.5日も稼 働できないんですけど・・ 会社が小さくて保守対応者が少ない(資金力不足) – 小さい案件が多くなると、保守側の効率が悪く人が足りなく なる • 弊社より資金のないところなんてそうそうないとは思います が・・ 人とお金周り
  • 11. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 解決して実現したい • メンテナンスを減らしたい • 顧客も納得できるクラウド型のビジネス モデルにしたい(サブスクリプションで も類似でも) 2020/7/29 11
  • 12. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 解決して実現したい 2020/7/29 12 そして・・ 開発ロジックへの集中、集中&集中
  • 13. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. まず思ったこと 2020/7/29 13 Autonomous Database VCN 顧客環境 PL/SQLだと 大変な部分 Virtual Machine Apache HTTP Python ・Flask WebAPI 外に出そう 出来るだけ 共通パッケージ化 PL/SQLコード SQL HTTPS
  • 14. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. ちょっと聞いてみた 2020/7/29 14 (株)フルエナジー 松本さん 以前OCIjpでFunctions使ってましたよね。 Functionsの環境構築って運用込みでお願いできたり しますか? ※ 弊社は極力Cloud基盤には手を出さない方針 Kubernetes + Dockerのイメージですか? サーバレスでAPI Gateway + Oracle Functionsの 方が運用負荷も価格も下がりますよ。 [OCIjp] Oracle Cloud Infrastructure(OCI)に関する勉強会を開催するグループです。 https://fullenergy-oci.connpass.com/ え、そうなんですか。 弊社(私) 弊社(私)
  • 15. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 構成の変更 2020/7/29 15
  • 16. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 2020/7/29 16 結局どんな構成にしたか
  • 17. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. Security Lists 図解(一部未実装) 2020/7/29 17 API Gateway Functions Autonomous Database VCN Functions VCN 顧客環境 弊社環境 OAuth2.0 Third Party Tool DBXAP Package(β) ユーザー管理 データロード補助 ジョブ管理 開発無償 本番月額 HTTPS
  • 18. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 簡易アーキテクチャ図 2020/7/29 18 API Gateway Functions Autonomous Database APEX標準のOAuth クライアント証明登録 PL/SQLコード |- ビジネスロジック |- Web APIコール 監視 開発 デプロイ用サー バ デプロイ GitHub PL/SQL Package
  • 19. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 解決! 2020/7/29 19 メンテナンス 顧客ごとにあるWebAPI – Oracle Functionsによる一元管理(大規模クローズドは別) Cloudらしくない技術的な負債 – 弊社パッケージとして一元的に管理することで各アップデー トに対応(大変ですが、個別にやるよりすごく楽) 大体解決! 解決!
  • 20. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 解決! 2020/7/29 20 拡張性 他言語の利用が必要 – Oracle Functionsで色々な言語に対応 処理量が増えた – 基本全てマネージドシステムで管理することで、大体解決。 CPU不足とかで金額据え置きは解決難しい。 大体解決! 解決!
  • 21. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 解決! 2020/7/29 21 開発はアジャイル、保守費用はウォーターフォール – パッケージによる月額課金形態にし、保守を各顧客専用から 全体化することである程度解決 会社が小さくて保守対応者が少ない(資金力不足) – 案件ごとに持つアプリケーションコードを少なくすることで、 効率的な対応を維持 人とお金周り 大体解決! 大体解決!
  • 22. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. サービスを使った感想 2020/7/29 22
  • 23. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 2020/7/29 23 Oracle Autonomous Database Oracle APEX
  • 24. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. Autonomous Database 概要 • 基本的にサービスとして、デー タベース管理が不要となります。 • Exadata上で動いており、 Exadataの機能が利用できます。 • ADW (Oracle Autonomous Data Warehouse / データウェ アハウス)とATP(Oracle Autonomous Transaction Processing /トランザクション処 理用)があります。 2020/7/29 24 Autonomous Database
  • 25. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 今後の課題に感じた点 今回の構成で良かった点 • 最初からOracle APEXがつい ています。有効化するだけで す。 • マネージドでチューニングも ある程度やってくれます。 • Oracle APEX上にアプリケー ションを作るときに、基本的 な設計していれば、管理、 チューニングについて、運用 中の手間が極端に少なくなり ます。 2020/7/29 25 • マネージドなのでバージョン アップ時の設計がいります。 – Oracle APEXの下位互換性は 限りなく高いです。 聞くところによると、Oracle APEX 2.0(2006年)の頃の バージョンでもインポートで きるそう・・ – 開発環境を作る余裕がないお 客様は直接アップグレード • ORDSの機能制限があります – 最近外部のORDSに対応した ので、機能としては大体使え ると思います。 よかった点
  • 26. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 2020/7/29 26 API Gateway
  • 27. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. API Gateway 概要 • ネットワーク内のプライベート・ エンドポイントや、インターネッ ト上のパブリックIPアドレスから 接続できるAPIを公開できます。 エンドポイントは、API検証、リ クエストとレスポンスの変換、 CORS、認証と認可およびリクエ スト制限をサポートします。 2020/7/29 27 API Gateway
  • 28. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 今後の課題に感じた点 今回の構成で良かった点 • 外部WebAPIの認証一元化が できる(できそう/検証中)。 • Oracle APEXからつなぐ時の 手間が少ない。1つの証明書 で繋がるので、手間が少ない (事前構成済みWalletを利 用) 。 • Oracle Functionsで作ったも のは、画面で選択するだけで デプロイできる。 2020/7/29 28 • 今のところなし よかった点
  • 29. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 2020/7/29 29 Oracle Functions
  • 30. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. Oracle Functions 概要 • Oracle Functionsは、エンタープ ライズ・グレードOracle Cloud Infrastructureに基づいて構築さ れ、Fn Projectオープン・ソー ス・エンジンで機能する、完全に 管理された、スケーラブルな、オ ンデマンドの、Functions-as-a- Serviceプラットフォームです。 2020/7/29 30 Functions
  • 31. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 今後の課題に感じた点 今回の構成で良かった点 • マネージドなので、保守がと ても楽。スケールを考える必 要もない。 • 機能部分だけ考えればよいの で、実装工数が少なくて済む。 • 複数言語が使えるため、処理 によって言語の切り替えが出 来る 2020/7/29 31 • 実行可能な秒数の上限が決め られている(2020/07/20現 在は120秒) • メモリに載っている期間が ちょっと短い。初回実行は少 し時間がかかる。 • 複雑な処理をしたいときは設 計がちょっと面倒。(機能ご とに分割しないといけない) • PythonはWindowsの開発で 難あり(後程) よかった点
  • 32. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. アプリケーションの構成 2020/7/29 32
  • 33. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. とりあえずの構成 2020/7/29 33 アプリケーション – 名前: <サービス名> – Function • 名前: <機能名>_v1_<操作> API Gateway – 名前: <サービス名> – デプロイメント • 名前: <機能名> • パス接頭辞: /<機能名> – ルート1 » メソッド: GET » パス: /v1/<操作> (作成したFunctionを指定) – ルート2 » メソッド: POST » パス: /v1/<操作> (作成したFunctionを指定)
  • 34. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. ディレクトリ構成 2020/7/29 34 <project> | -<function> | -- v1 | ---- <operation> | ------ __init__.py | ------ func.py | ------ func.yaml | ------ requirements.txt | | -- tests | ---- __init__.py | ---- v1func_test.py | ┕ -- README.md Functionsへデプロイするファイル
  • 35. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. Windowsでちょっとはまった 2020/7/29 35 Pytestでテストコードを実行すると失敗する(502 Bad Gateway エラー) エラーをよくよく見ると、Windows特有のエラー (Windowsで使えないライブラリを利用) テスト用にローカルのDockerとか必要なのかな・・? > いろいろいじる 一応サポートに確認したが、Fn プロジェクト側の問題ということで、 サポートが役に立たなかった・・ エラーは何となく分かったので、開発用にLinuxを立てることを検討 VM系はWindows Updateでよく壊れる思い出 外部に立てて、いちいちつなぐのも面倒
  • 36. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 今回の結果(オチ) 2020/7/29 36 Macbookを買って解決しました ※ お金で解決!
  • 37. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 2020/7/29 37 最後に
  • 38. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 2020/7/29 38 具体的な設定周りを期待した方はすみません。時間な いのでまた別で・・ もし今回の話をきいて、やってみようと思ったら 相談下されば何か答えられるかもしれません。 相談はただです。 apexugjのSlackにもいます。
  • 39. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 2020/7/29 39 協業者募集中です 特に営業周り。売り上げ欲しいです。
  • 40. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 2020/7/29 40 ありがとうございました
  • 41. All contents copyright Six Square Japan Co., Ltd. All Rights Reserved. 2020/7/29 41 免責事項 本資料に掲載された情報・資料を利用、使用、ダウンロードするなどの行為に関連して生じたあらゆ る損害等についても、理由の如何に関わらず、弊社は一切責任を負いません。 また、本資料の情報には注意を払っておりますが、本資料の内容の正確性については一切責任を負い かねますのでご了承ください。 各社の商標または登録商標 • Apple、Apple のロゴ、Apple Pay、Apple Watch、iPad、iPhone、iTunes、QuickTime、 QuickTimeのロゴ、Safariは、米国および他の国々で登録されたApple Inc.の商標です。iPhoneの 商標は、アイホン株式会社のライセンスにもとづき使用されています。App Store、AppleCare、 iCloudは、Apple Inc.のサービスマークです。 TM and (C) 2018 Apple Inc. All rights reserved. • Android、Android ロゴ、Chromecast、Cloud Search、Gmail、Google、Google ロゴ、Google アシスタント、Google カレンダー、Google Chrome、Google Cloud Platform (GCP) 、Google ドキュメント、Google ドライブ、ビジネス向け Google グループ、Google Home、Google Home ロゴ、Google Home Mini、Google Home Mini ロゴ、Google ハングアウト、Google Keep、Google マップ、Google Nest Mini、Google Nest Mini ロゴ、Google Play、Google Play ロゴ、Google Play Music、Google Play Music ロゴ、Google+、Google サイト、Google スプ レッドシート、Google スライド、G Suite、Google Vault、YouTube、YouTube ロゴは、 Google LLC の商標です。 • OracleとJavaは、Oracle Corporationおよびその子会社、関連会社の米国およびその他の国にお ける登録商標です。文中の社名、商品名などは各社の商標または登録商標である場合があります。 • 「Microsoft (R)」、「Microsoft (R) ActiveSync (R)」「Exchange ActiveSync (R)」 「Microsoft (R) Office OneNote (R)」、「Microsoft (R) Office Outlook (R)」、「Microsoft (R) Office Excel (R)」、「Microsoft (R) Office PowerPoint (R)」、「Windows (R)」 「Microsoft (R) Windows (R)」「Windows Server (R)」「Windows Vista (R)」「Windows (R) 7」「Windows (R) 8」「Windows Mobile (R)」「Windows (R) 10 Mobile」、「Internet Explorer (R)」、「.NET Framework」、「BitLocker」、「SQL Server (R)」、「Microsoft Azure (TM)」、「ExpressRoute」、「Office 365」、「Active Directory」は、Microsoft Corporationの商標または登録商標です。