住友電工情報システム
ホーム > ITキーワード > ローコードプラットフォーム

ローコードプラットフォーム

ローコードプラットフォーム

現在、注目を集めている「ローコードプラットフォーム」とはいったいどのようなものなのでしょうか。また、超高速開発ツールやノーコードプラットフォームとの違いや共通点は何なのでしょう。

目次

ローコードプラットフォームとは

ローコードプラットフォーム(LCDP Low-Code Platform)とはプログラミング言語によるコーディング中心のプログラム開発に代わり、ビジュアルモデリングによりプログラム開発を実現するものです。ローコードプラットフォームはプロセスモデリング、再利用可能なコンポーネント、ドラッグアンドドロップツールという基本機能によりビジュアルモデリングを実現しています。

ローコードプラットフォームを開発ツールと言わないのは、多くのローコードプラットフォームがクラウドサービスとして提供されているaPaaS(Application Platform as a Service)であり、アプリケーション開発だけではなくアプリケーション運用を含むライフサイクル全般をサポートしているからです。

「ローコード」という言葉は比較的新しい言葉です。米国フォレスター・リサーチ社が2014年にプログラム開発を誰でも簡単に行うことができる開発プラットフォームを称して使ったころから世に広まりました。フォレスター・リサーチ社の定義によれば、「ローコードプラットフォームとは、最小限の手作業によるコーディング、最小限のセットアップ、訓練、及びデプロイへの先行投資でビジネスアプリケーションを迅速に提供できるもの」とあります。

あるいは、ローコードという言葉を広めるのに大きな役割を果たしたガートナーの定義によれば「ローコードプラットフォームとはコードを廃し、アプリケーションの供給を加速する統合環境をもつプラットフォーム」とされています。

いずれにしても、ローコードプラットフォームは従来のコーディング中心のプログラム開発から、コーディングをしないソフトウェア開発へのパラダイムシフト、システム開発のゲームチェンジャーとして大いに注目されています。

フォレスター・リサーチ社によれば2018年4000億円の市場が毎年50%の成長を続け2022年には2兆円を超えると予想されています。また、ガートナーによれば2020年までに新たに作られるビジネスアプリケーションの少なくとも50%がローコードプラットフォームやノーコードプラットフォームによって構築されると予測されています。現在、米国では数十社のベンダーがこの成長市場になだれ込み、さまざまなローコードプラットフォームを提供しています。

なぜ、ローコードプラットフォームなのか

なぜ、ローコードプラットフォームなのか

基幹システムはスクラッチで構築はせずにERPやパッケージが主流、IT技術者の流動性が極めて高くプロプライアティな技術に縛られるのを嫌う米国でなぜこれほどローコードプラットフォームが注目を集めているのでしょうか。

ローコードプラットフォームが最初に注目されたのはモバイルアプリの開発でした。モバイルアプリの開発は基幹システム開発に比べてスピードが要求され、しかもマルチデバイスに対応しなければなりません。このようなモバイルアプリを短期間でリリースすることは至難の業でした。そこで、ローコードプラットフォームが注目を浴びたのです。

現在、ローコードプラットフォームが注目される最大の理由は、デジタルトランスフォーメーションへの対応です。デジタルトランスフォーメーションとは、AIやIoTなどの情報技術によってあらゆるものがデジタルデータを介して結び付き、それによって企業ビジネスが根本から変革されることを意味します。

今まさに多くの企業が次の時代を生き残るために、デジタルトランスフォーメーションに取り組んでいます。そして、企業のIT部門はデジタルトランスフォーメーションを推進するために、これまで以上に多くのソフトウェア開発を行わなければなりません。ところが、ソフトウェア開発技術者の数は足りておらず、IT部門だけでは到底このソフトウェア開発要求に対応できないのです。

そこで、IT技術者やソフトウェア開発者ではない、一般のビジネスパーソン、現場の担当者、多少ITリテラシーが高かったり、ヘビーユーザだったりするとしても、プロフェッショナルの開発者ではない人が開発できるローコードプラットフォームが注目されたのです。ローコードプラットフォームはこのようなビジネス課題に直面している現場の担当者が自らシステムを開発することをひとつのターゲットとしています。

関連製品

楽々Framework3
(WEBアプリケーション開発ツール)
  • 高品質・高機能なWEBアプリケーションを高速開発。
  • 生産性は、COBOLの約3倍、Javaフレームワークの5~10倍を実現。
  • 対象は、情報共有ツールから業務システムまで多岐にわたる。

二兎を追うローコードプラットフォーム

二兎を追うローコードプラットフォーム

ノンプロフェッショナルでありながら、IT部門が認めた開発ツール、開発環境の下で、組織、企業、顧客のためにシステム開発する人を「シチズンデベロッパー」といいます。シチズンデベロッパーはIT部門の統制下で開発するわけではありませんが、ITアーキテクチャーに関してIT部門が認めた方法で開発するという点で、いわゆる「シャドウIT」で開発する人とは区別されます。また、自身の業務のためだけに開発する「エンドユーザコンピューティング」とも区別されます。

ローコードプラットフォームはこのようなシチズンデベロッパーを巻き込んだ開発をターゲットにしています。このような人達のパワーを利用することでデジタルトランスフォーメーションに必要なソフトウェア開発要求に応えていこうというのです。

さらにローコードプラットフォームは、プロフェッショナルのソフトウェア開発者も同時にターゲットとしています。シチズンデベロッパーでは対応できない複雑な処理を伴うアプリケーションや、大規模な基幹システムの再構築、レガシーシステムと連携したシステムなどのエンタープライズレベルのミッションクリティカルなシステム構築です。

エンタープライズアーキテクチャーに対応した本格的な基幹システム開発に対応するため、ローコードプラットフォームでは、さまざまなシステムと連携できるオープンなアーキテクチャーと、コーディングによりコンポーネントの機能を拡張できる機能を備えています。

ローコードプラットフォームへの批判

ローコードプラットフォームへの批判

プロフェッショナルの開発者の中には懐疑的な意見もあります。ローコードプラットフォームでどこまで本格的なシステム開発ができるのか、中身がブラックボックスだとテストが不安だなどです。また、マネージャー層の中には、シチズンデベロッパーが開発するのはいいが、維持できない野良システムが乱立するのではないかといった心配もあります。

前者に関しては、ローコードプラットフォームは現在も進化し続けており、多くのベンダーがそのプラットフォームに投資をし続けています。不十分なところがあったとしても時間が解決するでしょう。後者に関しては確かに野良システムのリスクは存在します。企業のIT部門はあちらこちらに管理外のシステムが立ち上がるのを快く思いません。しかしながら、IT部門だけではデジタルトランスフォーメーションに対応できない現実を踏まえると、経営層にとってはやるリスクよりもやらないリスクの方が大きいという大きな流れになっています。

ローコードプラットフォームがソフトウェア開発のスピードを10倍にする可能性を秘めていると言われています。デジタルトランスフォーメーションを推進することが企業の存続を左右するといわれる現在、IT人材不足であろうがソフトウェアを素早く供給し続けることが企業戦略として非常に重要な位置を占めると認識されているのです。

関連製品

楽々Framework3(WEBアプリケーション開発ツール)
  • 高品質・高機能なWEBアプリケーションを高速開発。
  • 生産性は、COBOLの約3倍、Javaフレームワークの5~10倍を実現。
  • 対象は、情報共有ツールから業務システムまで多岐にわたる。

ローコードプラットフォームの機能

市場には数十のローコードプラットフォームが存在します。製品やサービスによって提供されている機能やサービスは異なりますが、そのコアとなる特徴は次の4つです。

ビジュアルモデリング

ビジュアルモデリング

ローコードプラットフォームはモデル駆動型開発の考えをベースとし、コーディングに代わりビジュアルなモデリングによりプログラムを作成します。ドラッグ&ドロップ操作で画面上にフローとコンポーネントを配置し、必要な設定を行うことでプログラムを作成します。画面設計やデータベース設計も画面上で実施します。

ビジュアルモデリングにより、ノンプロフェッショナルのシチズンデベロッパーは、あらかじめ準備されたコンポーネントを配置、設定していくだけでプログラム作成を行います。コーディングは原則行いません。一方、プロフェッショナルのソフトウェア開発者はコーディングによりカスタムなコンポーネントを作成したり、既存のコンポーネントを拡張したりしますが、基本的にはビジュアルモデリングでプログラムを定義します。

このビジュアルモデリングが、シチズンデベロッパーを取り込む、あるいは、短い訓練期間でプログラミングを習得可能にするローコードプラットフォームの象徴的な機能になっています。

再利用可能なコンポーネント

再利用可能なコンポーネント

ビジュアルモデリングを支えるのは再利用可能なコンポーネントです。コンポーネントの種類はさまざまです。変数に値を代入するプログラム言語レベルの粒度の細かいものから、データベースと連携して画面上にデータを配置するコンポーネントや、IoTやAIと連動するようなものまで多くの種類のコンポーネントが準備されています。外部システムと接続するためのインターフェースもコンポーネントとして準備されています。さらに、サードパーティが開発したコンポーネントも利用可能となっています。

特にSoE(System of Engagement)系のシステム開発では既にある高機能なコンポーネントやサービスを組み合わせてプログラムを素早く作成できることは大きなメリットです。

ライフサイクルマネージメント

ライフサイクルマネージメント

ローコードプラットフォームの多くはクラウドサービスとして提供されているaPaaS(Application Platform as a Service)です。GartnerはさらにhpaPaaS(High Productivity Application Platform as a Service)という言葉を使い出しました。ローコードプラットフォームではアプリケーションの開発だけでなく、データベースとの自動接続、テスト、本番環境へ自動デプロイ、稼働管理、変更管理など開発工程から運用工程まで、ライフサイクル全般をサポートする機能を提供しています。

拡張性

拡張性

大企業の基幹システム開発を行うにはそれぞれの企業のエンタープライズアークチャーに適合できなければなりません。ローコードプラットフォームはメジャーなOS、データベースのほとんどに対応しています。また、さまざまなAPIを介して外部システムと自由に連携できるようにしています。

さらにコーディングによりコンポーネントの機能を個別の要求に応じて拡張できるようにもしています。大企業の基幹システム開発に適応できるスケーラビリティとオープンアーキテクチャー、そしてカスタマイズ性などの拡張性はローコードプラットフォームの特徴になっています。

関連製品

楽々Framework3(WEBアプリケーション開発ツール)
  • 高品質・高機能なWEBアプリケーションを高速開発。
  • 生産性は、COBOLの約3倍、Javaフレームワークの5~10倍を実現。
  • 対象は、情報共有ツールから業務システムまで多岐にわたる。

ノーコードとの違い

ノーコードとの違い

ローコードプラットフォームとよく比較されるのが「ノーコードプラットフォーム」です。ノーコードとはその名の通りコーディングを前提としていない開発方法です。

ローコードとノーコードは一見酷似しています。前述したビジュアルモデリング、再利用可能なコンポーネント、ライフサイクルマネージメントなどのローコードプラットフォームの特徴はそのままノーコードプラットフォームにも当てはまります。

ノーコードプラットフォームもプロフェッショナルの開発者やシチズンデベロッパーがより簡単に短期間でアプリケーションをリリースできる環境を提供しています。コーディングによるプログラミングを廃し、PaaSで提供することにより運用環境を構築することを省いてすぐに本番運用できるようにしています。

一見、ノーコードプラットフォームはローコードプラットフォームからコーディング要素を除いただけものに見えます。しかし、実際は大きく異なっています。

ノーコードプラットフォームはその名の通り、コーディングによる機能拡張やカスタマイズを想定していません。したがって、あらかじめ準備されたコンポーネントやAPIで実現できる範囲の比較的簡単なシステム開発をターゲットにしています。プロフェッショナルの開発者によるシステム設計、データベース設計が不要な、小さな組織ですぐに利用するためのアプリケーション開発を想定しているのです。

Excel等のスプレッドシートを使いこなす一般のビジネスパーソンが、Excelやペーパーベースの業務をシステム化し、日々の業務を効率化するために自らアプリケーョンを作成するというのが典型的なイメージです。アプリケーションは比較的小規模な組織やグループで運用され、現場の担当者が業務の変化に応じて機敏にアプリケーションをメンテナンスします。

コーディングによる拡張ができないため、固有処理が多いプログラム開発には向いていません。また、大きな組織で運用するための権限管理や、既存の基幹システムと連携など、APIによるシステム連携の自由度が低く基幹システム開発には向いていません。

ノーコードプラットフォームはプロフェッショナルの開発者ももちろん利用できますが、現場の担当者やシチズンデベロッパーをターゲットにしているといえるでしょう。

日本ではビジネスパーソンをターゲットにしている典型的な開発ツールとしては「Webデータベース」と呼ばれるカテゴリーに属するツールがあります。Webデータベースは開発者ではなく現場の担当者が自分たちの業務を自分たちで効率化するために使うツールです。(→ITキーワード:Webデータベース

ローコードプラットフォームではやプログラマーなどのITプロフェッショナルがかかわり、全体のアーキテクチャー設計、システム設計、セキュリティ設計、UIや処理のカスタマイズを施しながら、場合によってはシチズンデベロッパーも含めて開発を行うことをイメージしています。この企業の基幹業務システム開発をターゲットにできるか否かが大きな相違点です。

超高速開発との違い

超高速開発との違い

日本では「超高速開発」というカテゴリーがあります。「超高速開発」という言葉は2013年8月に超高速開発コミュニティが発足された頃から使われ始めました。超高速開発はリポジトリーをベースにしたコードの自動生成や部品の再利用でコーディング部分を最小限に減らし、システム開発を高速化するとともに、プログラミングの熟練者でなくとも短期間の訓練でシステム開発を行うことを可能にしています。

データモデリングを重視する超高速開発

ほとんどの超高速開発ツールは基幹システム開発をターゲットとしており、その場合、主たる開発者はSEやプログラマー等のプロフェッショナルのIT技術者です。超高速開発はビジネスアプリケーション、さらにその中でもデータベースとの入出力を主とした基幹システム、情報系システム、すなわちSoR(Systems of Record)と呼ばれるシステムを、コーディングをせずにいかに早く作るかを追及してきました。

そのため、多くの超高速開発ツールはリポジトリーとデータモデリングを重視しており、そこからできるだけ少ない手間でビジネスアプリケーションを自動生成できるように工夫をこらしています。「作らないこと」が最も生産性・品質が高いという考えのもと、できるだけ少ない設定でアプリケーションが生成できるようになっています。

データベースとの入出力が基本の基幹システムの画面系処理はデータモデルさえあればプロトタイプとして稼働可能なプログラムが自動生成されます。標準化により画面の流れや処理の流れを決めておけば、いちいち処理フローや必要なコンポーネントを選ぶ手間も必要ありません。

超高速開発はデータモデリングを含むシステム開発をベースに進化してきたといえるでしょう。(→超高速開発

クラウドサービスで提供されるローコードプラットフォーム

一方、ローコードプラットフォームは「ビジュアルモデリングによりコーディングを廃する」という点を重視するモデル駆動型開発です。ローコードプラットフォームは、ビジュアルモデリングによりJava, php, C#, Pythonなどの開発言語をタイピングする開発を廃し、シチズンデベロッパーを開発に引き込み、素早いソフトウェア開発とリリースを目指します。その多くは、クラウドサービスとして提供し、シチズンデベロッパーでも簡単にリリースできる運用環境を提供しています。

ローコードプラットフォームが最初に成功したのはモバイルアプリケーション開発でした。コンポーネントを再利用することで、APIを介して外部のさまざまなサービスと連携し、処理を組み立てiOSやAndroidなど複数デバイス向けのアプリケーションを生成します。入念なデータモデリングをしてシステム構築するというよりも、どちらかといえばSoE(Systems of Engagement)と呼ばれるシステムを、マルチな環境に素早くリリースすることから進化してきたのです。

超高速開発ツールはSoRから始まってSoEへ、ローコードプラットフォームはSoEから始まってSoRへと進化してきていますが、結局、目指しているところは同じです。

超高速開発ツール≒ローコードプラットフォーム

前述のフォレスター・リサーチ社やガートナーによるローコードプラットフォームの定義はそのまま超高速開発ツールにも当てはまります。ローコードプラットフォームは日本では超高速開発ツールと称し、逆に日本の超高速開発ツールはローコードプラットフォームと称しています。基本的には同じカテゴリーを表す言葉です。

違いは、モバイルから始まったローコードプラットフォームの多くがクラウドサービスとして提供されているのに対し、基幹システム開発をターゲットにしてきた超高速開発ツールは、クラウドサービスで提供しているものもありますが、まだまだオンプレ中心です。これは、日米の基幹システムのクラウドサービス化の進展、普及の差によるものだと思われます。今後、ニーズの変化に応じてクラウドに重心が移っていくでしょう。

超高速開発ツールもローコードプラットフォームも多くの製品、サービスが存在しています。ローコードプラットフォームか超高速開発ツールかという議論はあまり意味がありません。実際の生産性や品質はローコードプラットフォームか超高速開発ツールかというよりは、個々の製品、サービスの差異による方が大きいのです。

例えば、ビジュアルモデリングだけでは劇的には生産性は向上しません。確かに開発言語を覚えるハードルは下がるかもしれませんが、極端な話、開発言語と同じ粒度のコンポーネントを使ってプログラムを組み立てるとしたら、ひとつのプログラムを作成するのにかかる手間はコーディングと同じかそれ以上になるでしょう。開発生産性を左右するのはどのようなコンポーネントでアプリケーションを組み立て、どれだけ手間を省き、作らないで済ませられるかという点にかかっています。

それぞれの製品やサービスによって提供されているコンポーネントやそのコンセプトは異なります。個々の製品やサービスを評価し自社にあったものを選択すべきでしょう。

関連製品

楽々Framework3(WEBアプリケーション開発ツール)
  • 高品質・高機能なWEBアプリケーションを高速開発。
  • 生産性は、COBOLの約3倍、Javaフレームワークの5~10倍を実現。
  • 対象は、情報共有ツールから業務システムまで多岐にわたる。
ページの先頭へ