DXの時代にマッチするローコード開発の実践
「GrapeCity ECHO week 2020」の中日である3日目最初のセッションは、OutSystemsジャパンの河原﨑剛氏による「アプリケーション開発 2.0 ―ローコードで切り開く新しい未来」だ。近年、できる限りソースコードを記述せず、開発作業の多くの部分を自動化する「ローコード」というアプローチが注目を集めている。「企業が既存システムのメンテナンスにほとんどのIT予算と人的リソースを投入せざるを得ない状況にある一方で、デジタルトランスフォーメーション(DX)の要請が高まり、こなすべき開発案件がさらに増えている状況です。これらを背景に、特に2020年はまさに『ローコード元年』として、システム開発の歴史における大きな転換期になる可能性があります」と河原﨑氏は切り出す。
そうしたローコードによる開発を実現するツールとして、グローバルな規模で広く受け入れられているのが「OutSystems」だ。世界中で1500社以上に採用されているほか、国内のユーザーも130社を数える。業務効率化のための社内システムや顧客向けモバイルアプリ、BtoC・BtoBのポータルの構築など、広範な領域で用いられており、基幹系システムの開発において採用されている事例も豊富だ。
「OutSystems」では提供するIDEの上で、画面やビジネスロジックの開発を統合的に進めていくことが可能だ。例えばIF文による条件分岐はもちろん、データベースへのアクセスやAPIによる外部サービスの呼び出しも、ビジュアルな画面上で実装していくことができる。「これにより、極めて大きな開発工数削減効果が期待できます。例えば、あるお客さまでは、従来2年かかると見積もられていたシステムを、半年程度でリリースできたというケースもあります。これらが開発人員のスリム化やコスト削減につながることは言うまでもありません」と河原﨑氏は語る。
セッションでは、会社が管理するクレジットカードの情報を一覧し、各カードの登録情報を表示したり、カードごとの利用履歴をチャートで示す、あるいは外部のWebサービスとのAPI連携により為替レートの情報を取り込んだりできるようなWebアプリケーションの実装を河原﨑氏がデモして見せ、「OutSystems」の活用でいかに俊敏な開発が可能になるかを紹介した。またその中で、グレープシティの「Wijmo」で開発された「Data Grid」コントロールを「OutSystems」上で活用し、ExcelライクなUIを実装する様子も実演された。
これに関して河原﨑氏は「『OutSystems』では『Forge』というWebサイト上で、3300種類以上のUI系コンポーネントや外部サービスと連携するためのコネクタなどを公開しています。開発者の皆さんは必要なものをダウンロードして即座に利用していただくことが可能です」と紹介する。もちろん、その中には先のデモで紹介した「Data Grid」も含まれており、このことは「OutSystems」と「Wijmo」の互換性がしっかりと担保されていることの証左でもある。
さらに「OutSystems」では、開発のフェーズにとどまらず、設計やテスト、リリース、分析、管理といったシステムの開発ライフサイクル全体をサポートしている。例えば、テスト関連のツールやフレームワークが提供されており、単体テストの自動化も可能であるほか、開発したアプリケーションを本番環境へリリースする際の、モジュールの依存関係に関する自動チェック、さらには継続的インテグレーションなども支援している。
「ローコードの利用により、ソフトウェアの品質の担保と開発スピードの向上を両立させることが可能となり、もちろんメンテナンスにかかわる工数も軽減できます。そうしたことが、時代の変化に追随し得る、より使い勝手の良いシステムの実現へと確実につながってくるはずです」と河原﨑氏はあらためて強調する。
ローコード開発環境のメリットを最大化するライブラリ製品
続く3日目後半のセッションでは、伊藤忠テクノソリューションズ(CTC)の伊藤晃規氏が、「『SpreadJS for OutSystems』圧倒的生産性向上のための更なるツール」と題する講演を行った。ローコード開発を支援する「OutSystems」については直前の河原﨑氏のセッションで紹介された通りだが、伊藤氏のセッションでは、CTCとグレープシティの共同開発により2020年7月にリリースされた、「OutSystems」での開発におけるさらなる生産性向上に寄与するコンポーネント製品「SpreadJS for OutSystems(スプレッドJS フォー アウトシステムズ)」の詳細が紹介された。
「SpreadJS」自体は、WebアプリケーションのUIにおいて、Excelライクなスプレッドシートを実現するグレープシティ製のJavaScriptライブラリとして広く利用されているが、「SpreadJS for OutSystems」は文字通り「SpreadJS」を「OutSystems」上で効果的に利用するための製品である。これについて伊藤氏は「これまで『OutSystems』で『SpreadJS』を使う場合には、相応の量でJavaScriptのコーディングを行う必要がありました。これに対し『SpreadJS for OutSystems』では、ほぼノンコーディングでExcelライクな画面UIを開発するアプリケーションに実装することが可能で、『OutSystems』におけるローコード開発のメリットを最大限に享受できるようにするものです」と紹介する。
「SpreadJS for OutSystems」には「SpreadJS」の多くの機能が踏襲されており、ソートやフィルタ、条件付き書式、グループ化といった機能をはじめ、450種以上の表計算関数などのExcel互換機能を豊富に備えている。例えば「SpreadJS」では「電卓」や「日付時刻ピッカー」「リスト」などのドロップダウンオブジェクト機能をセルやセルボタンに適用し、Excelにはない高機能なドロップダウンセルの動作を実現できるが、それらは「SpreadJS for OutSystems」にもしっかりと継承されている。
セッションでは複数の工場で生産を行う部品メーカーを例に、グローバルな市場に供給する製品在庫を管理するイメージのアプリケーションを、画面の追加からPreparationアクションの設定、画面の調整、デザイナ画面の追加、ヘッダの日本語化、フィルタの設定、バーの設定、条件による行の塗りつぶしといった一連の流れで実装するデモを伊藤氏が実演。「OutSystems」と「SpreadJS for OutSystems」の組み合わせによって、ExcelライクなUIの構築をいかに手軽に行えるかが示された。
以上、「GrapeCity ECHO week 2020」の5日の会期のうち、12月21~23日に実施されたセッションの模様をお送りした。残りの24日、25日のセッションについては、後編であらためてその模様をレポートしたい。