Soumettre la recherche
Mettre en ligne
社内システムの構造と設計、実装のはなし(下書きバージョン)
•
26 j'aime
•
12,675 vues
SATOSHI TAGOMORI
Suivre
本番用はこちら http://www.slideshare.net/tagomoris/devsumi2014-tagomoris
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 27
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Salesforce1 アプリをGruntでデプロイ
Salesforce1 アプリをGruntでデプロイ
Hiroyuki Endoh
Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発
Yuki Hattori
[MW05] その API、本当に大丈夫? ~ 公開前に知っておくべき API の保護と最適化 ~
[MW05] その API、本当に大丈夫? ~ 公開前に知っておくべき API の保護と最適化 ~
de:code 2017
LINE bot APIでできること 非エンジニア向け 20170730
LINE bot APIでできること 非エンジニア向け 20170730
Yuta Nakabayashi
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
de:code 2017
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
Yuki Hattori
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
de:code 2017
Ml.NET
Ml.NET
ru pic
Recommandé
Salesforce1 アプリをGruntでデプロイ
Salesforce1 アプリをGruntでデプロイ
Hiroyuki Endoh
Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発
Yuki Hattori
[MW05] その API、本当に大丈夫? ~ 公開前に知っておくべき API の保護と最適化 ~
[MW05] その API、本当に大丈夫? ~ 公開前に知っておくべき API の保護と最適化 ~
de:code 2017
LINE bot APIでできること 非エンジニア向け 20170730
LINE bot APIでできること 非エンジニア向け 20170730
Yuta Nakabayashi
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
de:code 2017
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
Yuki Hattori
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
de:code 2017
Ml.NET
Ml.NET
ru pic
codeless/serverless develop
codeless/serverless develop
Tomoyuki Obi
Salesforce dug meetup #6
Salesforce dug meetup #6
Akira Kuratani
LogDept All-in-one
LogDept All-in-one
LogDept. LLC
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
de:code 2017
Open Source x AI
Open Source x AI
Tsukasa Kato
Web CMS導入に必須のPOC
Web CMS導入に必須のPOC
FatWireKK
[Japan Tech summit 2017] MAI 002
[Japan Tech summit 2017] MAI 002
Microsoft Tech Summit 2017
Windows Azure Mobile Servicesによるアプリ構築
Windows Azure Mobile Servicesによるアプリ構築
Nobuaki Aoki
Kansai Azure Azure Overview & Update 20140926
Kansai Azure Azure Overview & Update 20140926
Ayako Omori
PowerShellでFunction Appしよう!
PowerShellでFunction Appしよう!
Tsubasa Yoshino
RESTful Webサービス
RESTful Webサービス
Kentaro Inomata
20170705 apiをつくろう
20170705 apiをつくろう
CData Software Japan
オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
MA2017 kintone説明
MA2017 kintone説明
kintone papers
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
MA2016 kintone 紹介
MA2016 kintone 紹介
kintone papers
Workshop1-01
Workshop1-01
mashimonator
Linebotを作ろう
Linebotを作ろう
Shinsuke Matsuda
Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介
CData Software Japan
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
Tomoaki Sawada
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携
CData Software Japan
Workshop1-02
Workshop1-02
mashimonator
Contenu connexe
Tendances
codeless/serverless develop
codeless/serverless develop
Tomoyuki Obi
Salesforce dug meetup #6
Salesforce dug meetup #6
Akira Kuratani
LogDept All-in-one
LogDept All-in-one
LogDept. LLC
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
de:code 2017
Open Source x AI
Open Source x AI
Tsukasa Kato
Web CMS導入に必須のPOC
Web CMS導入に必須のPOC
FatWireKK
[Japan Tech summit 2017] MAI 002
[Japan Tech summit 2017] MAI 002
Microsoft Tech Summit 2017
Windows Azure Mobile Servicesによるアプリ構築
Windows Azure Mobile Servicesによるアプリ構築
Nobuaki Aoki
Kansai Azure Azure Overview & Update 20140926
Kansai Azure Azure Overview & Update 20140926
Ayako Omori
PowerShellでFunction Appしよう!
PowerShellでFunction Appしよう!
Tsubasa Yoshino
RESTful Webサービス
RESTful Webサービス
Kentaro Inomata
Tendances
(11)
codeless/serverless develop
codeless/serverless develop
Salesforce dug meetup #6
Salesforce dug meetup #6
LogDept All-in-one
LogDept All-in-one
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
Open Source x AI
Open Source x AI
Web CMS導入に必須のPOC
Web CMS導入に必須のPOC
[Japan Tech summit 2017] MAI 002
[Japan Tech summit 2017] MAI 002
Windows Azure Mobile Servicesによるアプリ構築
Windows Azure Mobile Servicesによるアプリ構築
Kansai Azure Azure Overview & Update 20140926
Kansai Azure Azure Overview & Update 20140926
PowerShellでFunction Appしよう!
PowerShellでFunction Appしよう!
RESTful Webサービス
RESTful Webサービス
Similaire à 社内システムの構造と設計、実装のはなし(下書きバージョン)
20170705 apiをつくろう
20170705 apiをつくろう
CData Software Japan
オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
MA2017 kintone説明
MA2017 kintone説明
kintone papers
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
MA2016 kintone 紹介
MA2016 kintone 紹介
kintone papers
Workshop1-01
Workshop1-01
mashimonator
Linebotを作ろう
Linebotを作ろう
Shinsuke Matsuda
Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介
CData Software Japan
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
Tomoaki Sawada
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携
CData Software Japan
Workshop1-02
Workshop1-02
mashimonator
Workshop1-03
Workshop1-03
mashimonator
GRAND FRONTEND OSAKA 2016 kintone説明
GRAND FRONTEND OSAKA 2016 kintone説明
Yoshihiko Takeuchi
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介
Kazuki Urabe
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
Intalio会社概要とIntalio Bppの特長 010109
Intalio会社概要とIntalio Bppの特長 010109
Tomoaki Sawada
SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発
Tusyoshi Matsuzaki
Serverless for VUI
Serverless for VUI
真吾 吉田
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
Similaire à 社内システムの構造と設計、実装のはなし(下書きバージョン)
(20)
20170705 apiをつくろう
20170705 apiをつくろう
オフラインファーストの思想と実践
オフラインファーストの思想と実践
MA2017 kintone説明
MA2017 kintone説明
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
MA2016 kintone 紹介
MA2016 kintone 紹介
Workshop1-01
Workshop1-01
Linebotを作ろう
Linebotを作ろう
Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携
Workshop1-02
Workshop1-02
Workshop1-03
Workshop1-03
GRAND FRONTEND OSAKA 2016 kintone説明
GRAND FRONTEND OSAKA 2016 kintone説明
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Intalio会社概要とIntalio Bppの特長 010109
Intalio会社概要とIntalio Bppの特長 010109
SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発
Serverless for VUI
Serverless for VUI
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
Plus de SATOSHI TAGOMORI
Ractor's speed is not light-speed
Ractor's speed is not light-speed
SATOSHI TAGOMORI
Good Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/Operations
SATOSHI TAGOMORI
Maccro Strikes Back
Maccro Strikes Back
SATOSHI TAGOMORI
Invitation to the dark side of Ruby
Invitation to the dark side of Ruby
SATOSHI TAGOMORI
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
SATOSHI TAGOMORI
Make Your Ruby Script Confusing
Make Your Ruby Script Confusing
SATOSHI TAGOMORI
Hijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in Ruby
SATOSHI TAGOMORI
Lock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive Operations
SATOSHI TAGOMORI
Data Processing and Ruby in the World
Data Processing and Ruby in the World
SATOSHI TAGOMORI
Planet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: Bigdam
SATOSHI TAGOMORI
Technologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise Business
SATOSHI TAGOMORI
Ruby and Distributed Storage Systems
Ruby and Distributed Storage Systems
SATOSHI TAGOMORI
Perfect Norikra 2nd Season
Perfect Norikra 2nd Season
SATOSHI TAGOMORI
Fluentd 101
Fluentd 101
SATOSHI TAGOMORI
To Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT To
SATOSHI TAGOMORI
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
SATOSHI TAGOMORI
How To Write Middleware In Ruby
How To Write Middleware In Ruby
SATOSHI TAGOMORI
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real World
SATOSHI TAGOMORI
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud Service
SATOSHI TAGOMORI
Fluentd Overview, Now and Then
Fluentd Overview, Now and Then
SATOSHI TAGOMORI
Plus de SATOSHI TAGOMORI
(20)
Ractor's speed is not light-speed
Ractor's speed is not light-speed
Good Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/Operations
Maccro Strikes Back
Maccro Strikes Back
Invitation to the dark side of Ruby
Invitation to the dark side of Ruby
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Make Your Ruby Script Confusing
Make Your Ruby Script Confusing
Hijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in Ruby
Lock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive Operations
Data Processing and Ruby in the World
Data Processing and Ruby in the World
Planet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: Bigdam
Technologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise Business
Ruby and Distributed Storage Systems
Ruby and Distributed Storage Systems
Perfect Norikra 2nd Season
Perfect Norikra 2nd Season
Fluentd 101
Fluentd 101
To Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT To
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
How To Write Middleware In Ruby
How To Write Middleware In Ruby
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real World
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud Service
Fluentd Overview, Now and Then
Fluentd Overview, Now and Then
Dernier
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Dernier
(7)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
社内システムの構造と設計、実装のはなし(下書きバージョン)
1.
社内システムの 構造と設計、実装のはなし Developers Summit 2014
[13-B-3] #devsumiB 2014/02/13 @tagomoris (TAGOMORI Satoshi)
2.
TAGOMORI SATOSHI (@TAGOMORIS) LINE
CORP. DEVELOPMENT SUPPORT TEAM
3.
4.
5.
まとめ 社内システムほど他システムとの連携を考えよう つまり機能をAPIとして公開しよう 社内システムではHTTP JSON APIを使おう 実装は必要なところから、必要なだけやろう
6.
Webサービス今昔 Web2.0 とかマッシュアップ全盛期 OAuth 全盛期 WebAPI
制限期
7.
Open WebにおけるAPI トラフィック・レスポンスタイム 誰がコストを払うの? 互換性 API提供元もやり直したくなることは(よく)ある
8.
社内システム 非公開サービス 性能よりも機能 長いライフサイクル 想定ユーザは「自分」
9.
社内システムの機能 認証 情報共有 資産管理 プロトコル変換 動作状況モニタリング 便利UI提供 データ蓄積 バージョン管理 可視化 ……。
10.
何が問題なの? 情報と権限の分断 どこになにがある? どこで検索すればいいの? 情報と機能の冗長化 同じ社内でいくつパスワード持たせるんだよ! 利用者の効率を考えないシステム 勤怠入力300人の労力 >>>>
人事3人の労力 自動化の妨げになるシステム そこにしかない情報の参照にマウスクリックが必要 「全部入り」でアップデート不可能なシステム UIを持つシステム → クライアント更新も不可に
11.
社内システムの連携 DBを見る SOAP! CORBA! 猫も 子もSOAという時代があったんじゃよ Enterprise Service
Bus RPC Protocols Protocol Buffer, Thrift, XML-RPC, ...
12.
Make it simple! 権限:
分断を最小限にしよう 全員参照できてよい情報がほとんどでは? 機能: 複数の参照方法を最初から考えよう ブラウザでの参照 + APIとしての参照 ブラウザも同じAPIを叩くのが最もシンプル モジュール化: 単機能システムを連携させよう アップデートが容易な状態を保つ
13.
1. 社内システムほど他システムとの連携を考えよう 機能をAPIとして公開しよう
14.
Closed WebにおけるAPI トラフィック・レスポンスタイム データ量が通常小さく問題になりにくい 誰がコストを払うの? 会社! 互換性 これが最大の問題 API互換性を維持 +
UIのアップデート?
15.
APIの互換性 プロトコルの互換性 データ構造の互換性 データそのものの一貫性の維持 クライアント要件の普遍性/不変性
16.
Protocols of internal
API Thrift, Protocol Buffers, MessagePack-RPC IDL Performance FTP, RSH, SSH HTTP SOAP, XML-RPC, MessagePack over HTTP JSON
17.
長期運用を前提にしよう アップデートの容易さ 出力部分のシンプルさ データ内容把握の容易さ 見ればわかる! テストの容易さ curlで叩きたい
18.
テスト容易性まじだいじ 自動テストではなく、人が試す、こと 百聞は一見に如かず ちょっと試して何が返ってくる、何が見える 100ページのドキュメントより1回のcurl パフォーマンスより大事 Facebookですら、RPCはHTTPでよい (ex:presto) 疎結合
19.
2. 社内システムではHTTP JSON APIを使おう
20.
実装 社内システムですよ 自分達で作り、自分達で使います 動くことが大事 ドキュメント、大事?
21.
優先度 使う機能、使わない機能 顧客相手なら「こんなこともあろうかと」 自分相手なら? いま欲しい機能 簡単に実装できる、いますぐには使わない機能 欲しい気がするけど、微妙な機能
22.
優先度ハック まあ、忙しいよね それ、本当にJSON APIひとつ追加する30分も割 けないくらい忙しいの? 機能の追加ってそんな簡単じゃないよね UIなしでSELECT結果をJSON出力するだけが本 当にそんなに難しい? 疎結合モジュールの集合にする 単機能追加の時間単位を切り刻む
23.
逆優先度ハック 切り刻まれた細かい機能追加タスク それ、今いらないなら後でやればいいのでは? だっていつでもできるでしょ 後でやればいいなら、今後何が必要か考えなくて いいのでは? (将来の)要件定義は難しい、なら後回しにしよう
24.
3. 実装は必要なところから、必要なだけやろう
25.
アーキテクチャと 開発・運用の関係 アーキテクチャの割り切りが開発・運用を加速する 開発・運用の前提がアーキテクチャをシンプルにする
26.
ビジネスへのインパクト 社内システムほど試しやすい場は無い 誰か損する? 誰もが得するでしょ? 顧客は自分 自分が嫌なものは作らないでしょ? 自分が使いたいものを使えるでしょ?
27.
TO MAKE IT
SIMPLE MAKES OUR OWN ENVIRONMENTS BETTER THAN BEFORE. LET’S DO WITH YOUR OWN SYSTEMS!
Télécharger maintenant