ローコード開発

デジタルトランスフォーメーションで増大するソフトウェア開発要求に対応するために、ビジュアルモデリング等を駆使してアプリケーションの短期リリースを実現できるローコード開発(Low-Code Development)が注目を浴びています。楽々Frameworkはローコード開発という言葉が生み出される以前から、再利用可能なコンポーネントを組み立てる開発手法で基幹システムからECサイト構築までさまざまなシステム構築の短期開発を実現してきました。ここでは、ローコード開発の観点から最新の楽々Framework3の機能や特徴をご紹介します。

ローコード開発とは

ローコード開発(Low-Code Development)とは、従来のコーディングによるプログラム開発を廃し、ビジュアルモデリング、再利用可能なコンポーネント、ライフサイクルマネージメント、拡張性などを特徴とする開発手法です。

ローコード開発をサポートする基盤をローコードプラットフォーム(Low-Code Platform)と呼びます。多くの、ローコードプラットフォームはクラウドサービス、すなわちaPaaS(Application Platform as a Service)として提供されています。(→ ITキーワード「ローコードプラットフォーム」)

現在、特に米国でローコード開発が市場から大きな注目を浴びています。デジタルトランスフォーメーションの進展により、今後、ソフトウェア開発要求が急増すると見られており、プロフェッショナルのIT技術者による従来の開発手法だけでは対応できないと考えられているのです。

ローコード開発はプロフェッショナルのIT技術者に加えて、一般のビジネスパーソン(シチズンデベロッパー)を開発者に加えることをターゲットとしています。シチズンデベロッパーとはIT部門が準備した開発環境の下で、会社や組織のためのシステム開発を行うノンプロフェッショナルの開発者のことです。

ローコード開発では、シチズンデベロッパーがシステム開発を行うことを可能にするために、コーディングを廃したビジュアルモデリングによるアプリケーション開発を行います。さらに、開発したアプリケーションをクラウド上にワンクリックでリリースできるようにするなど、シチズンデベロッパー自身で本番リリースできるよう支援します。

もう一方で、ローコード開発はプロフェッショナルのIT技術者によるエンタープライズレベルの基幹システムや複雑な要件を実現するシステム開発もターゲットとしています。

ローコード開発は、プロフェッショナルのIT技術者が従来よりも素早くアプリケーションを開発できるだけでなく、さまざまな複雑な要求に対応できるよう、コーディングによりコンポーネントをカスタマイズできるようにしにしたり、外部サービスに対するさまざまなAPIを準備したりしています。さらに、オープンアーキテクチャーにすることで、それぞれの企業のエンタープライズアーキテクチャーに対応できるようにしています。

ローコード開発は、プロフェッショナル及びノンプロフェッショナルの開発者を巻き込むことにより、デジタルトランスフォーメーションに伴い増大するソフトウェア開発要求に対応できる有力な手段として期待されているのです。

日本国内ではデジタルトランスフォーメーションへの第一歩として、まずは基幹システム、レガシーシステムの刷新が急務になっています。経産省が2018年9月に発表した報告書「DXレポート~ITシステム「2025年の崖」克服とDXの本格的な展開~」では、2025年までにレガシーシステム問題の解決が必要だと提言されています。

日本国内ではローコード開発はデジタルトランスフォーメーションだけでなく、レガシーシステム再構築を効率的に実施する手段としても活躍が期待されています。

楽々Framework3によるローコード開発

楽々Framework3によるローコード開発

楽々Framework3は「超高速開発」や「ローコード開発」という言葉ができる以前から、再利用可能な部品を組み立ててシステムを構築する「部品組み立て型開発」で大企業の基幹システム開発を中心にさまざまなシステム開発に活用されてきました。

楽々Framework3によるシステム開発では、さまざまなコンポーネントのプロパティを設定していくだけで、コーディングせずに、アプリケーションを組み立てていくことができます。さらに、必要に応じコーディングを追加すれば、コンポーネントをカスタマイズし、新たな処理を追加することが自由にできるので、あらゆるニーズに対応することができるのです。

この簡単さと柔軟性により、大規模な基幹システムからECサイト等のシステムまで、幅広い要求に対応しながら、従来の開発手法に比べて極めて高い生産性と品質を実現できる開発プラットフォームとなっています。さらに、楽々Framework3はプログラム開発だけでなく、自動テスト支援、ドキュメント作成支援、運用支援機能を備えた統合開発環境です。

楽々Framework3は多くのプロフェッショナルの開発者によって基幹システム開発に活用されていますが、パラメータ設定だけで実現できる処理が豊富で、コーディングができないシチズンデベロッパーであってもさまざまなプログラムの開発ができるようになっています。

まさにローコード開発と同じコンセプトなのです。それでは、具体的に楽々Framework3が実現するローコード開発の世界をご紹介しましょう。

お気軽にお問い合わせください

お問い合わせする

オンラインでの製品説明・デモも可能です

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

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

ローコード開発では再利用可能なコンポーネントを使ってアプリケーションを組み立てます。この時、どのようなコンポーネントで組み立てるかは生産性や品質に大きく影響を与えます。

機械や電子回路を組み立てる工程をイメージするとわかりやすいですが、部品組み立て型開発ではできるだけ大きな部品を使った方が、部品点数が少なくなり、組み立てが簡単になります。小さな部品は汎用性が高いのですが、組み立てることに手間がかかります。

ソフトウェア開発も同様です。できるだけ大きなコンポーネントで組み立てた方が素早く簡単にアプリケーションを作成することができます。極端な例でいえば、プログラミング言語のステートメントやコマンドと同じ粒度のコンポーネントを使ってビジュアルモデリングで組み立てても決して手間は減りません。熟練者はむしろ手間が増加するでしょう。

ただし、大きなコンポーネントだけではさまざまなソフトウェア要求に対応できない可能性があります。そのため、コンポーネントをカスタマイズできることや、小さなコンポーネントを組み合わせて開発できることも必要です。

生産性を左右するのは、システム全体をいかに効率的に組み立てるかです。そのためには、適材適所、最適なコンポーネントを選んで組み立てることが重要です。特に大規模な基幹システム構築では、コンポーネントが生産性、品質を大きく左右します。

楽々Framework3が提供するコンポーネント

楽々Framework3ではローコード開発を可能にする5種類のコンポーネント群を準備しています。5種類のコンポーネントを組み合わせてプログラムを作成することにより、最も少ない工程でプログラムを組み立てることができ、短期リリースを可能にしています。

コンポーネントの分類名 概要
プログラムパターン 一連の画面、画面遷移、データベースへの入出力処理をひとつのコンポーネントとしたものです。楽々Framework3の高い生産性を支えるコアとなるコンポーネントです。
画面コンポーネント さまざまな形式で画面出力を行うコンポーネントです。1件表示、1件入出力、一覧表示、一覧入出力といった基本的なものから、マトリックス、各種グラフなど多様なコンポーネントを準備しています。
項目オブジェクト データ項目毎にその属性や挙動を定義したコンポーネントです。項目名、表示桁数、表示形式、定義域、項目の型、入力チェック方法等の属性を持ちます。楽々Framework3では原則、項目オブジェクト名ですべてのデータを扱います。
ビジネスロジックアクションコンポーネント 個別の処理を設定のみで実現するコンポーネントです。データベースへの入出力、メール送信、各種エラーチェックなどよく使われる処理を簡単な設定だけで実装することができます。
基本ライブラリー ユーザ認証、セッション管理、データベースコネクション管理をはじめ、楽々Framework3のあらゆる処理のベースとなるクラスライブラリーです。このライブラリーを活用することできめ細かな要求に対応することが可能です。

プログラムパターンによる部品組み立て型開発

プログラムパターンによる部品組み立て型開発

ローコード開発において、開発生産性、品質を大きく左右するのが再利用可能なコンポーネントですが、楽々Framework3が提供するコンポーネントの中で最も生産性、品質に寄与するのが、プログラムパターンです。

そのプログラムパターンの前提となっているのがデータ項目コンポーネントである項目オブジェクトです。楽々Framework3ではアプリケーション内で使用するデータ項目を項目オブジェクトとして分離しています。

項目オブジェクトには個々のデータ項目のさまざまな属性が保持されています。属性はデータ項目名やデータ項目の型、画面上での表示形式、定義域など多岐にわたります。データ項目固有のふるまいを決める属性は項目オブジェクトに保持するのです。

プログラムパターンによる部品組み立て型開発イメージ

プログラムパターンとは、一連の画面、画面遷移、データベースへの入出力処理をひとつのコンポーネントとしたものです。例えば、データを検索・参照する処理では、①検索条件入力画面、②検索結果一覧表示画面、③詳細データ参照画面の3画面と画面遷移、そして基本的なデータベース入出力処理や画面表示処理など一連の処理をひとつのコンポーネントにカプセル化しています。

業務システムにはさまざまなアプリケーションがありますが、例えば、検索・参照のアプリケーションは参照するデータベースやデータ項目が異なるだけで、処理自体は似たものが多いのです。そこで、処理全体から固有名詞であるデータ項目名を排除して抽象化したものがプログラムパターンです。

例えば、検索のプログラムパターンに処理対象となる項目オブジェクトを引数として与えるだけで検索アプリケーションが稼働します。画面遷移間のデータの引き渡しなどの設定も不要です。検索だけでなく、登録、更新、削除、ダウンロード、アップロード、印刷などさまざまなプログラムパターンを組み合わせるだけで、多機能のアプリケーションを簡単に組み立てられるのです。基幹システム開発では90%以上のプログラムを楽々Framework3が提供するプログラムパターンで組み立てることが可能です。

プログラムパターンは900種類程度準備されています。ほとんどの業務処理はこのパターンに当てはまります。また、当てはめるように設計できます。当てはまれば、その部分の基本的な処理はほとんどプログラムパターンが実施してくれます。開発を省くことができるのです。

なお、プログラムパターンもまたコンポーネントで構成されています。必要に応じてGUI操作で新たなページを追加したり、画面レイアウトを変更したりしてカスタマイズすることが可能です。あるいは、一部の複雑なアプリケーションはプログラムパターンを使わず、ページあるいは画面コンポーネントを自由に組み合わせて、一から作成することも可能です。

大部分を大きなコンポーネントであるプログラムパターンで作成しておいて、細かな部分は自由に作りこむことで、複雑の仕様をもつアプリケーションでも効率よく開発していくことができるのです。

お気軽にお問い合わせください

お問い合わせする

オンラインでの製品説明・デモも可能です

ビジュアルモデリング

RakStudio(楽々Framework3統合開発環境)

RakStudio

ローコード開発の大きな特徴のひとつがビジュアルモデリングです。ドラッグアンドドロップと設定だけでプログラムを組み立てていきます。楽々Framework3では統合開発環境RakStudio上でプログラムを組み立てます。データベースの設定からプログラム開発、テスト支援までグラフィカルインターフェース(GUI)で操作を行います。

クラウド環境、あるいは社内のサーバにアクセスしてブラウザ上で操作を行うため、クライアントに統合開発環境をインストールする必要がなく、本番環境と開発環境のバージョンを合わせる手間が一切かかりません。特に、多数の業務システムを維持・運用する場合、複数のシステム開発を行う場合に、それぞれに合わせたクライアント環境を準備し切り替える必要はなく、それぞれのシステムの開発環境にアクセスするだけです。

ページフロー(画面遷移)

ページフロー

上の画面は、データベースのテーブル情報から自動生成されたプログラム(プロトタイプ)の画面遷移を表すフロー図です。楽々Framework3では、データモデルからプログラムを自動生成する時点で、検索(参照)、登録、変更、削除、アップロード、ダウンロード(CSV)、ダウンロード(Excel)などの複数の機能がプログラムパターンにより組み立てられています。赤枠で囲まれた一連の画面遷移が、例えば「検索」などのひとつの機能を実現するプログラムパターンを表しています。

このフロー図上で、プログラムパターン単位に不要な処理を削除したり、ドラッグアンドドロップで必要な処理を追加したりすることができます。追加する場合は右のコンポーネントのツリーから必要なプログラムパターンを検索してフロー図に追加します。追加するだけで、メニュー構成が更新され、他の処理と自動的にフローで接続されます。

もう少し細かい単位、ページ単位で編集することも可能です。新しいページを挿入したり、別のページに入れ替えたりするのです。この際に必要なページ間のデータの引き渡しもできるだけ自動で行われるようになっています。まるで、ブロックで回路を組み立てるようにそれぞれの部品がつながっていくのです。

ビジネスロジックアクションコンポーネント(個別処理)

ビジネスロジックアクションコンポーネント

ローコード開発では、よく使われる処理はコーディングせず、簡単な設定だけで開発できるように、さまざまなコンポーネントが準備されています。楽々Framework3において、各々の画面での固有処理を実現するのが、ビジネスロジックアクションコンポーネントです。

各々の画面では、さまざまなタイミング、トリガーで処理を起動することができます。データモデルからプログラムを自動生成した時点、あるいは、前述のページフローで処理を組み立てた時点では、パターンが最初から持っている処理、例えば、項目オブジェクトの定義に従った入力チェック処理、などが呼び出されています。

ビジネスロジックアクションコンポーネントはパラメータ設定のみで、ここに新たな処理を追加できる汎用コンポーネントです。複数項目間のコンビネーションエラーチェック、データベースの更新、メールの送信、ログの出力などよく使うさまざまな処理が準備されています。

使い方は簡単です。まず、処理を起動させるタイミングを選択します。タイミングは例えば、ひとつの画面につき、画面が表示された後、特定のボタンが押された後などを選択し、さらに同じタイミング、トリガーに他の処理があれば、その処理順を画面上で指定します。

次に、処理を行う条件を指定します。例えば、あるエラーチェックに該当したら、ある値が設定値以上だったら等です。

最後に、その条件に合った場合に起動する処理を選択して必要なパラメータ設定を行います。例えば、エラーメッセージを表示する、計算結果を表示する、メールを送る、ログに出力する、データベースに登録する等です。

ビジネスロジックアクションコンポーネントを使えば、コーディングを全く知らなくても、メールの振り分けを設定するようなレベルで処理を定義していくことが可能です。

モバイルアプリ

モバイルアプリ

ローコード開発が最初に活躍したのがモバイルアプリ開発でした。OSやそのバージョンが異なる複数のデバイス向けにプログラムを個別に開発するのは大きな手間がかかります。ローコード開発ではデバイス毎のコーディングを廃し、ひとつのモデルで複数のデバイスに対応することが可能にしました。

楽々Framework3では作成されたWebアプリはクライアント端末を自動判定し、画面をデバイスに合わせたレイアウトで自動表示します。PC用、モバイル用と個別に準備する必要はありません。ひとつのWebアプリをPCからもスマートデバイスからも利用することができます。

さらに、ネイティブアプリとWebアプリを融合させたハイブリッドアプリの開発も支援します。ハイブリッドアプリは、デバイスの制御や通知機能など共通的な処理をネイティブアプリとして提供し、更新の多い個別のアプリケーションは内蔵ブラウザーを通してサーバサイドのWebアプリで処理するというものです。

基幹システムであれ、直接顧客と接するフロントエンドシステムであれ、現在のアプリケーションはモバイルアプリ抜きではありえません。モバイルアプリへの対応は必須と言えるでしょう。

拡張性

モバイルアプリ

ローコード開発と似た言葉にノーコード開発というものがあります。ノーコード開発もコンポーネントを組み合わせてコーディングをせずにプログラムを組み立てます。

ローコード開発とノーコード開発を区別する重要な要素が拡張性です。エンタープライズレベルのシステム要求に漏れなく対応するためには、予め準備しておいたコンポーネントだけではすべてはカバーできません。そのため、場合によってはコーディングでコンポーネントをカスタマイズし機能追加することができることが必要です。

楽々Framework3ではあらゆる要求に対応できるように、さまざまなレベルでのカスタマイズ、機能追加ができるように工夫されています。

例えば、楽々Framework3では原則画面は、画面コンポーネントを配置するだけで、HTMLレベルで細かな設定をすることなしに画面表示できるようになっていますが、Webデザイナーと共創開発ができるように、デザイナーが使い慣れたテンプレートエンジン等と連携して自由な画面での開発もサポートしています。

主要な部品であるプログラムパターンにはあらゆるタイミングで処理を追加できる入口が設けられており、ビジネスロジックアクションコンポーネントでは実現できない複雑な処理も、コーディングにより自由に処理を追加することが可能です。さらに、プログラムパターン自身もさらに細かいコンポーネントから組み立てられており、RakStudio上で新たな、プログラムパターンを作成することも自由自在です。

システム開発の90%以上を標準のコンポーネントで素早く組み立てる一方、一部の複雑な凝った仕様に対しても柔軟に対応できることができるのです。

この拡張性により、ローコードプラットフォームである楽々Framework3は、基幹システム開発からモバイルアプリ、ECサイトなどのフロントシステムまで幅広いシステム開発に適用されています。

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

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

ローコード開発の特徴のひとつにライフサイクルマネージメントがあります。プログラムの開発だけではなく、テスト、リリース、運用など、ライフサイクル全般にわたってプラットフォームが支援するのです。

楽々Framework3はプログラムの組み立てだけでなく、組み立て後の自動テスト、構成管理、リリース、運用監視、帳票出力管理、さらには長期にわたる保守など、ライフサイクル全般にわたってアプリケーションを支援しています。この環境上で、多くの本格的な基幹システムが長期間にわたって安定運用されています。

コンパイルレスの即時リリース

コーディングレスでかつ部品組み立て型開発の楽々Framework3は、RakStudio上での設定を反映させるのにコンパイルを必要としません。開発時に変更結果が即時に反映され、素早い開発ができるだけでなく、本番環境に対して、システムを止めずに一部のプログラムを更新することが可能です。

自動テスト

自動テスト支援機能

プログラム開発は1回のテストですべて終わることは少なく、特にアジャイル開発では仕様変更を繰り返しながらその都度テストを行うことになります。このような開発において、品質を確保しながら素早いリリースを行うためには自動テストが欠かせません。

楽々Framework3は画面系のオープンソースの自動テストツールとして有名なSeleniumのテストスクリプトを自動生成します。同時にテスト仕様書も出力します。また、ユニットテストのオープンソースの自動テストツールであるJUnitによるテストプログラム作成を支援する機能も提供しています。

テストを自動化することで、プログラム変更時のリグレッションテスト(回帰テスト)を短時間で自動実行することができ、アジャイル開発や派生開発において高い品質を担保することが可能です。

運用支援・運用監視

運用支援、運用監視

楽々Framework3はアプリケーションの運用を支援し監視する機能を提供しています。ジョブ管理機能は定例バッチ処理を制御します。複数の処理を連結させてジョブネットを組むことも可能です。

運用監視機能は運用中に負荷状況を確認する機能や、障害時に原因切り分けを支援する機能を提供しています。例えば、あるアプリケーションのリクエスト状況と各種リソースの使用状況をグラフで確認することが可能です。また、ディスク容量、メモリー使用量、コネクション数、リクエスト数など監視対象に閾値を設けることで、警告をメールで知らせます。

充実したサポート

充実したサポート

ローコード開発をスムーズに進めるためには、開発のための情報や知見を得るための体制が必要です。楽々Framework3では、各種技術問い合わせ、技術相談、講習会、eラーニング、コミュニティ、そしてオンサイトでの講習会や技術支援など、さまざまな教育サポート、開発サポートのメニューを用意しています。

中でも、Webで提供しているサポートサイトにはあらゆるノウハウが蓄積されています。高精度の検索システムQuickSolutionによりピンポイントの検索ができるだけでなく、開発に関する質問には高い技術を持つエンジニアが丁寧に回答しています。顧客満足度調査においても、楽々Framework3のサポートは常に高いレベルの評価をいただいています。

楽々Framework3のコミュニティとしては、毎年東京、大阪、名古屋、福岡で楽々イノベーションフォーラムが開催され、多数のユーザが集い、懇親会ではユーザ同士、あるいは当社の開発メンバーや責任者との情報交換が活発に行われています。もう一つのコミュニティである、技術交流会では開発者が集まり、当社の技術者も交えて活発な議論がなされています。

長期保守

長期保守

ローコード開発はシチズンデベロッパーによるフロントシステムだけでなく、エンタープライズレベルの基幹システムの開発をもターゲットにしています。

基幹システムは5年、10年、それ以上の長期にわたり運用され利用されるシステムです。当然、その開発プラットフォームにも長期の保守が求められます。その間、IT技術は進歩し、OSやデータベースなどはバージョンアップが繰り返されます。

楽々Framework3は基幹システムをサポートするプラットフォームとして15年、20年にわたり長期保守を実現してきました。長期保守は楽々Framework3の大きな特長です。

オープンプラットフォーム

オープンプラットフォーム

基幹システムをターゲットとするローコード開発の特徴のひとつがオープンプラットフォームです。企業毎に異なるエンタープライズアーキテクチャーに対応し、長期間の運用が必要な基幹システムにおいては、プラットフォームに依存しないオープンなアーキテクチャーが有利です。特定のプラットフォームにロックインされないオープンアーキテクチャーであれば、開発したソフトウェア資産は、ITの変遷にしなやかに追従しながら、長期にわたって利用することができます。

楽々Framework3はLinuxやPostgreSQLなどのオープンなプラットフォームをベースにさまざまなプラットフォームに対応しています。プラットフォーム固有の機能を使わず、オープンなアーキテクチャーに徹することで、プラットフォームを選ばず、長期運用を保証できるのです。

基幹システム開発からDXへ

基幹システム開発からDXへ

ローコード開発という言葉が米国で広まり始めたのは2014年頃からです。ローコード開発はITプロフェッショナルとシチズンデベロッパー両方をターゲットとし、ビジュアルモデリングを基本としながらも、エンタープライズレベルの基幹システムが開発可能な開発手法として特に米国で大きな注目を集めています。

楽々Frameworkは2000年10月、プログラムパターンによる部品組み立て型開発ツールとしてリリースされました。もともと大企業の受発注システム、生産管理システム、経理システム、購買システムなどの基幹システムの開発をターゲットにしていました。COBOLプログラマーが自前で基幹システムの再構築(リビルド)を実施できるツールとして、国内の多くの大企業で導入されてきました。

楽々Frameworkには大規模開発、すなわち、数十名以上のプロジェクトチームが数百本、数千本のプログラムを、ムラのない高品質で高い生産性で素早く開発するためのさまざまな工夫が施されています。システム開発は通常規模が大きくなると生産性が低下しますが、
楽々Frameworkは大規模開発になっても生産性が落ちないのが大きな特長です。
(→楽々Frameworkの生産性)

2014年にリリースした楽々Framework3からはRakStudio上のビジュアルモデリングによる組み立て型開発に移行し、コーディングができないSEやいわゆるシチズンデベロッパーでも一定レベルのプログラム開発が可能になりました。

また、プログラムパターン自身のカスタマイズやビジネスロジックの組み込みもビジュアルモデリングでできるようになり、コーディングなしに構築できる範囲が大幅に拡張されました。ローコード開発が可能になったのです。

アジャイル開発においても、楽々Framework3ではすぐさま動くプログラムが組み立てられるので、高速イテレーション開発が可能です。また、チケット駆動開発やテストファーストを支援する機能を備えています。(→アジャイル開発ツール)

楽々Framework3は基幹システム開発などのSoR(Systems of Record)からモバイルやECサイトなどのSoE(Systems of Engagement)までオールラウンドに対応できるローコード開発のプラットフォームとしてさまざまなシステム構築に活用されています。(→活用事例集)

今後は、IoT、CloudやAIなどデジタルトランスフォーメーションに伴うソフトウェア開発の分野への適用拡大が見込まれています。

簡単な製品説明や見積りのみご希望の場合も
気軽にお問い合わせください

お問い合わせ

専門スタッフが製品や導入に関する不安やお悩みにお答えします。

担当者に製品の説明を聞く

資料請求

楽々Framework3の詳しい製品情報や、活用事例をまとめた資料を無料で請求いただけます。

製品資料を請求する

体験セミナー
eラーニング

Webでの講義と体験版ソフトで楽々Framework3を体験いただけます。

体験セミナーeラーニングに
申し込む

こんなページも読まれています