なぜ今、
ローコードなのか
OutSystemsジャパン株式会社
ソリューションアーキテクト
阿島 哲夫
自己紹介
阿島哲夫(あじまてつお)
OutSystemsジャパン株式会社
ソリューションアーキテクト
tetsuo.ajima@outsystems.com
/in/tetsuoajima
● Javaエンジニア10年
● 外資系クラウドベンダー7年 + 3年
● 2019年3月 OutSystemsジャパン入社
会社概要
About our company
本社 (2001年設立)
• ポルトガル、リスボン
• 米国、アトランタ
• 1,500 名の従業員
製品開発およびR&D
(ポルトガル)
60%の成長率
1,500社超の顧客企業
※ 記載の数値は2020年1月現在
OutSystems 会社概要
OutSystemsジャパン
• 設立:2017年1月
• 代表取締役社長:アーノルド・コンセンコ
• オフィス:東京都港区六本木 1-4-5
        アークヒルズサウスタワー 9F
• 社員数:35名
• ユーザー数:日本国内で140社以上
300K+
Community Members
22
Industries
340+
Global Partners
70
Countries
弊社六本木一丁目オフィス Amazon・書店にて販売中
OutSystemsの成長
5
30社
3社
5社
1社
1200人
146人
パートナー数 SIパートナー数 日本の認定エンジニア数 顧客数
140社超
30社
2017年 2020年
世界の認定エンジニア数
世界の顧客数
世界のパートナー数
340社 9,107人
1,600社
300,000人超
開発者コミュニティ
最近のニュース
未上場・評価額約95億USD(約1兆円)
Gartner MXDP
MQ Leader
8
OutSystems
9
Gartner LCAP
MQ Leader
OutSystems
Forrester Low-Code Wave Leader
General App Dev Mobile App Dev
10
OutSystems
OutSystems
ローコードとは?
What is Low-Code?
開発はビジュアル・設定ベースが基本
足りないところはコードを書いて補完
13
What is Low-Code?
● ビジュアル・設定ベースの開発が基本。コーディングは最小限
● 開発の高速化
● 人為的ミスの最小化
● コードの可読性・保守性向上
● セキュリティ・パフォーマンスの
最適化
● 徹底した自動化・抽象化
● 必要に応じてコードで補完
ローコードは生産性が高くて高品質
ガートナーの予測
ガートナーでは、ローコードアプリ
ケーション開発は、2024年まで
にアプリケーション開発全体の
65%以上を占めると予測してい
る。
ガートナー
バイス プレジデント 兼 アナリスト
クリス・シルバ氏
2019年7月
15
16
ノーコード・ローコードは・・・
● ITニーズの急増にIT人材の供給が
追い付かない問題を解決する
● ITスキルの低いエンドユーザーが
自分たちで使うツールを
自分たちで作れる
● COVID-19パンデミックで
ITニーズはさらに急増
・・・って最近よく聞きますよね?
しかしそれでは・・・
17
● ITガバナンスの効かないシャドー IT化
(いわゆる野良アプリの蔓延)を招く
● 制約が多くて定型外のモノは作りにくい
● 大規模開発チーム・大規模システムには
あまり向かない
・・・ってなりますよね?
OutSystemsは
大規模システムに適用できる
ローコードプラットフォームです
いろいろな Low Code 製品
海外製品 国内製品
19
20
OutSystemsの特徴
開発者向け
エンドユーザー向け
大規模・複雑
基幹システム
小規模・軽量
簡易社内ツール
A社
B社
C社
21
OutSystemsは開発者向けプラットフォーム
● 素人でもアプリ作れちゃいます!的なツールではない
● データ型、引数、戻り値、変数、条件分岐、ループ、DB設計、トランザクション、
例外処理、HTTPリクエスト・レスポンス、JSON、非同期、REST/SOAP、セッ
ション、マルチスレッド、オフライン同期・・・
● これらは非エンジニアには難しいものも多い
● 開発メンバーの中には非エンジニアがいても良いが、
Webアプリケーション開発のスキルを持ったアーキテクトは必要
OutSystemsとは
OutSystemsは
Webアプリ・モバイルアプリのための
ローコードプラットフォームです
24
OutSystemsで作れるもの
● Webアプリケーション
● .NET MVC + React.js ベース
● REST/SOAP APIインターフェース実装可
● クラウド・オンプレミス両対応
● 外部REST/SOAP APIコール / 外部DB Connect / その他
25
OutSystemsで作れるもの
● iOS/Android対応ネイティブモバイルアプリケーション(Cordva + React.js)
● オフライン同期
● カメラ(撮影画像保存・バーコード/QRコード読み取り)・GPS・Bluetooth・指紋認
証・連絡先・カレンダー等デバイスの機能の利用
● Apple AppStore・Google Play配布可
OutSystemsは
開発者向けの
ローコードプラットフォームです
27
Build it
Fast
Build it
Right
Build for
the Future
28
ローコードでデータモデリング
基本的に通常のRDBと同じ
● テーブル
● 列
● テーブル間の関連
● インデックス
画面とテーブルが1:1である必要はない
- ちゃんと正規化したデータモデルを作れる
- JOINしたクエリも作れる
(足りなければSQLを直接書ける。That's Low Code!)
- 画面設計に引っ張られてデータモデリングを犠牲にする必要がない
29
ローコードでビジネスロジック開発
ほとんどの処理はノーコードで実装できる
● 変数への値の設定
● 条件分岐・ループ・Switch
● データの取得・更新
● 引数・戻り値
● XML/JSONと構造体のマッピング
ある程度の処理になるとコードを書かないといけない
「ローコード」製品は多い
● データ更新前にDB内のデータを参照したい
● 1画面からの入力で複数のテーブルを更新したい
● 複数のテーブルを参照した上で出力データを決定したい
OutSystemsならこれらの処理もノーコードで実装できる
コードを書けば書くほど品質はばらつき、生産性は下がります
30
ローコードでバッチプロセス・承認プロセス開発
非同期で実行されるバッチプロセスや承認ワークフロープロセスも作れます
31
ローコードでUI開発
3つの画面の作成方法
● テーブル定義から自動生成
● 豊富なテンプレートから作成
● 空のテンプレート上に画面部品を配置して
自由なレイアウトで作成
豊富なUI部品
ピクセル単位でテンプレートや部品を自作可能
(That's Low Code!)
32
ローコードでデバッグ
● Break Pointの配置
● リモートデバッグ
● ステップ実行・ステップイン・アウト
● 引数・変数・戻り値の値を確認
● モバイルアプリの実機デバッグ
33
ローコードでバージョン管理
Conflictの検出
Compare・Merge・Orverwriteが
ローコードでできる
34
AIによる開発支援
● Service Studioの機能拡張
● 開発者が「次に何をするべきか」を推奨(最大
6
つのレコメンド)
● プロパティ値の自動設定
● 1,200万以上のアプリケーションから設計・実装
パターンを学習
● 学習は毎週再トレーニングされる
● 90%以上の精度
● 開発時間を25%以上加速
35
どのような場合にコードを書くのか?
● 独自のUIテンプレート・UI部品を作成したい場合(HTML/CSS/JS)
● 既存のDLLや.NETライブラリを使いたい場合(C#)
● HTTP(S)より下のレイヤーで外部と通信したい場合(C#)
● ストアドプロシージャや複雑なクエリを実行したい場合(SQL)
● 実績ベースで、かなりの大規模システムでもコードは全体の2%未満
OutSystemsは開発だけではありません
今どきのアプリケーションは常に
修正・改善・追加・変更が
発生し続けますよね?
OutSystemsは
フルライフサイクルをサポートする
ローコードプラットフォームです
39
ローコードでフィードバック管理
● ユーザーは画面にコメントを
直接貼り付けることができる
● 管理者はスクリーンショット付きで確認
● IDEで該当箇所を開いて確認
● JIRAやRedMine等、
外部ツールとの連携も
40
ローコードでデプロイ
環境間移行時に依存モジュールの不足や
バージョンがチェックされる
41
ローコードでパフォーマンス解析
遅い処理の検出
Client・Network・Server別
さらにブレイクダウンしボトルネックを突き止める
IDEで該当箇所を開いて確認
42
ローコードでアーキテクチャ解析
AIがアプリをレビュー
● アーキテクチャ
● パフォーマンス
● セキュリティ
● 保守性
修正案の提示
IDEで該当箇所を開いて確認
顕在化していない「技術的負債」を検出
43
Forge
拡張モジュールのダウンロードサイト
● UIテンプレート
● UI部品
● モバイルプラグイン
● サンプルアプリ
● 外部連携コネクタ
● その他
すべてOSS
再利用・改変可
OutSystemsの
アーキテクチャ
The Architecture of OutSystems
実行されるアプリはただのASP.Netアプリ
独自ランタイム・Appサーバー無し
46
生成
コンパイル
パッケージング
DBスキーマ変更
Visual Model
<XML />
Service Studio で
設定した情報
C#
DDL SQL
ASP.NET
JavaScript
CSS
DB
IIS
.NET Framework
Windows Server
ASP.NET +
React.js
App
※Mobile AppのクライアントはCordova + React.js
47
OutSystems Platform
コード生成・ビルド
バージョン管理・デプロイ
監視・管理・分析
実行環境
Windows Server・IIS
.NET Framework・DBMS
48
OutSystems Platform
コード生成・ビルド
バージョン管理・デプロイ
監視・管理・分析
実行環境
Windows Server・IIS
.NET Framework・DBMS
独自ランタイム無し
● 安定・高速・スケーラブル
● ノーベンダーロックイン!
● バージョンアップ時のリスク低
Microservices
Apps
(Frontend)
Docker Container / Kubernetes 対応も計画中
Containers
PRIVATE CLOUD PUBLIC CLOUD
Azure
Container Service
AWS
CaaS
JS JS JS JS
JS JS JS JS
C# C# C# C#
JS JS JS JS
JS JS JS JS
C# C# C# C#
OutSystemsはCloudでもオンプレミスでも使え
ます
OutSystems Cloudの基本構成
51
DEV QA/Test Production
Environment(環境) Environment(環境) Environment(環境)
Front-End Server Front-End Server
Front-End Server
DB Server DB Server
VPC
LifeTime
Front-End Server
DB Server
デプロイ
ユーザー管理/認証
監視/分析
環境管理
Environment(環境)
主なオプション
● DBストレージ追加各サーバーのスケールアップ
● フロントエンドサーバーの追加(スケールアウト)
● Environment(環境)の追加
● HAオプション(Front-End ServerのマルチAZ化)
本番用環境のDB Serverは
別AZにスタンバイレプリカあり
別AZ
OutSystems Cloud
● フルマネージドPaaS
● パッチ適用やメンテナンスは
OutSystemsにおまかせ
● ライセンスにOSやDBMS
(Oracle/SQL Server)が
含まれる
● インフラはAWSを利用
(東京リージョン選択可)
● 水平・垂直スケール可
52
オンプレミス
● OutSystems Cloudと同等の環境を
自社管理のサーバーにインストール
して構築可能
● サーバー構成や運用の自由度が
高い
● セキュリティ要件の高いシステムに
対応しやすい
● Azure / AWS その他
public/private cloud IaaS上にも
構築可
○ (Azure/AWSはMarket Placeにイ
メージあり)
2つの環境オプション
AWSと戦略的パートナーシップを締結
53
https://www.outsystems.com/news/aws-strategic-collaboration-agreement/
事例
マツダ様
Javaで構築された基幹システムをリプレイス。
OutSystemsを社内標準プラットフォームに採用。
開発効率平均4倍最大5倍、約60億円のコスト削減。
Web/Mobile Banking
57
BPI Mobile Banking App
20+ Applications (Web
and Mobile)
500+ Modules (Highly
Reusable)
20 Deployments /
Month
オムニチャネル
オンラインバンキング
⚬ ポルトガルの大手銀行
⚬ 170万人の顧客
⚬ 20以上のアプリケーション
500以上のモジュール
⚬ 2週間ごとに新機能のリリース
⚬ 2.5年 → 5ヶ月
59
保険エージェント用デジタルプラットフォーム
チューリッヒ生命保険
エージェント向けデジタルプラットフォーム(
Web/iOS/Android)
顧客管理・見積もり・回収・領収書管理・承認プロセスなど
4ヶ月で構築・新機能を毎月リリース
60
市設備点検システム
米国ラスベガス市
モバイルアプリ・オフライン対応
2人の開発者で3ヶ月で開発
(従来の方式では6-8ヶ月の見積もり)
新機能を毎週リリース
従来のノートPCによる管理に比べて
作業時間 -25%
ハードウェアコスト -50%
61
市民サービスポータル
米国オークランド市
- 様々な登録・申請をオンライン化
ポータル + 8アプリケーション
シングルサインオン
12ヶ月で構築
開発コストを100万ドル削減
賃貸訴訟・事件管理
建設認可申請
事業開始可否ゾーン確認
ビジネス許可申請その他
人口42万人(2008 WikiPedia)
TAP Air ポルトガルナショナル航空
フライトプランの作成
機材・操縦士・燃料などのリソース管理
遅延・振替・気象・航路の変更などへの即時対応
航空会社でのフライト・機材管理システム
https://www.outsystems.com/case-studies/tap/flight-dispatch-control-center/
www.outsystems.com
64 © OutSystems. All Rights Reserved
64
TAP Flight Dispatch
Control Center Cockpit
まとめ
OutSystemsは
大規模システムに適用できる
開発者向け
フルスタック・フルライフサイクル
をサポートする
統合ローコードプラットフォームです
Let's Try!
ぜひお試しください
無償版あります!
https://www.outsystems.com/ja-jp/ からどうぞ
Obrigado!
Thank you!
ありがとうございました
JOIN US!
We are hiring!
OutSystemsジャパンでは
各種ポジション大募集中です!
募集中の
ポジション
72
● Account Executive - Japan
● Regional Channel Manager - Korean Speaking
● Inside Sales Representative - Japan
● Head, Business Value Consulting - Japan & North
ASIA
● Solution Architect (Pre-sales) - Japan
● Sales Development Representative - Japan
ご興味ある方、お問い合わせください
https://www.outsystems.com/ja-jp/careers/

Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか