少ないコード量でアプリケーションを開発できるローコード開発が今、脚光を浴びている。開発の生産性やスピードを飛躍的に高めることができるとして、MicrosoftやGoogle、AWSをはじめとするクラウドベンダーも新たなローコード開発ツールを提供するなど開発トレンドの一つになっている。
ローコード開発が注目される理由の一つは、デジタルトランスフォーメーション(DX)の取り組みの進展だ。ビジネス環境が激しく変化する状況で、ビジネスニーズに素早く適応するには、製品の開発と改善を高速に繰り返し、製品提供までのリードタイムを短縮することが重要になってきたためだ。
もっとも、スピーディーな開発やリードタイム短縮は、これまでもGUIプログラミングやCASEツール、RADツールなどさまざまな取り組みが試みられ、その時々でブームになってきた。それがなぜ今盛り上がりを見せているのか。1989年からローコード開発の源流とも呼べるツールを提供してきたランサ・ジャパン 代表取締役 中村 哲氏は「従来のアプリケーション開発が限界を迎えつつあるため」と指摘し、こう説明する。
「ローコード開発が注目される理由は、開発環境が複雑化していることが大きいと考えています。新しい便利な技術が生まれれば、それに移行しようと考えがちですが、容易なことではありません。例えば、企業システムでは、基幹系で使われるCOBOLやRPGから、業務系で使われる.NETやJava、Webで使われるHTML5、データサイエンスで使われるRやPythonなど、さまざまな要素技術が2021年現在も現役です。技術やその組み合わせはますます複雑化し、エンジニアやIT部門の手に負えなくなっています。ローコード開発ツールを使わなければ現場が回らなくなってきているのです」(中村氏)
中村氏によると、新旧の技術を併用しようとすれば、それぞれの技術をつなぐ新たな技術が必要になるという。例えば、COBOLやRPGで書かれたレガシーシステムを、Webシステムを構築するJavaや、AIや機械学習の取り組みに活用されているPythonから利用しようとすれば、ESB(Enterprise Service Bus)やETL(抽出・変換・格納)ツール、Web APIなどの知識やノウハウが必要不可欠だ。技術が増えれば組み合わせは指数関数的に増加していき、特定の領域での開発生産性や開発スピードを高めても対応することが難しくなる。
言い換えると、ローコード開発は、開発業務の生産性やスピードを向上させるための一過性のブームではなく、開発体制やプラットフォーム、陣容といったアプリケーション開発の在り方そのものを変える取り組みといえる。
では、ローコード開発はどのような課題を解消し、どのようなメリットをもたらすものなのか。現在多くの企業が抱えている3つの課題を解消すると、中村氏は説明する。
1つ目は、生産性向上だ。ローコード開発ツールのそもそもの考え方として、アプリケーションを開発するために必要となるコード量を減らし、手作業を自動化することで、開発のプロセスを短くし、生産性を向上させるというものがある。
「アプリケーションを開発するためのプロセスを、ローコード開発であれば5割から3割短縮できます。多くの場合、テンプレートを使って特定のルールを記述すればコードを自動生成するという仕組みで実現します。少人数でより多くの作業が実施できるようになります」(中村氏)
2つ目は、専門人材不足の解消だ。ローコード開発ツールの多くはGUIベースでアプリケーションを設計、改修できる。複数の技術に対する専門知識を持たなくてもよいため、ビジネス部門の担当者がアプリケーションを改修したり、必要に応じてカスタマイズしたりできる。
「システムを内製化することで、業務をよく知る担当者が本当に必要な機能を開発していくことができるようになります。必ずしも専門的な知識が必要になるわけではないので、教育もしやすくなり、開発者やIT部門の負担を軽減することにもつながります。一方でシステム全体のセキュリティポリシーなどは注意が必要になります」(中村氏)
3つ目は、複雑化した開発の仕組みの簡素化だ。新しいアプリケーションやシステムを構築する場合に、既存のアプリケーションやシステムを全て刷新するというケースはまれだ。多くの場合、投資対効果の観点から、レガシーなシステムを残し、それなりの期間は、新しいシステムと併存する状況が続く。
「規模が大きかったり、歴史が古かったりする企業ほど、システムの対象領域も広くなり、さまざまな技術が併存しています。DXの新しい取り組みでは、さまざまな要素技術を扱う必要があり、開発も複雑化します。レガシーな技術は扱える開発者も限られ、教育にも時間がかかります。こうした場合、古いコードを再利用しながら新しい仕組みをローコード開発で構築し、古いコードを全て再開発しなくても新しいアプリケーションを開発できるようにします」(中村氏)
こうしたメリットを提供するのは、ランサ・ジャパンが提供するローコード開発ツール「LANSA」だ。ローコード開発ツールには、GUI設計機能や自動コード生成機能が共通して搭載されている。ローコード開発ツールは2種類に大別でき、コードを一切書かないモデルベースのものとコードを必要なときに併用できるものに分かれる。
LANSAはコードを記述することで、モデルを逸脱する詳細なカスタマイズや、他システムとの連携を簡単にしている。その結果、詳細なカスタマイズのために他言語用のエディタを利用せずに1つの製品内で全てを実現できるローコード開発プラットフォーム製品として利用できる。
開発に用いるのは「RDML」(Rapid Development and Maintenance Language)と呼ばれる専用言語で、「Visual LANSA」と呼ばれるIDE製品を用いて、コーディングから、画面やロジックの設計、修正、コードの生成、変換などまでを一貫して対応できる。
RDMLで書かれたコードは、実行環境に応じてさまざまなアプリケーションに自動的に変換される。例えば、RDMLで画面やロジックを修正し、それをWindows Formやモバイルネイティブアプリケーション、SPA(Single Page Application)など、さまざまなアプリケーションとして利用できる。
「LANSAは開発者のためのプラットフォームです。RDMLという学習しやすい言語を用いて一つのIDE上で開発するため、他の一つの言語で開発経験があるエンジニアなら、すぐに習得できます。さらにGUIのみで画面やロジックを設計しなければならないといったような、エンジニアにとって煩わしい作業を強いることもありません。その一方で、習得が容易なため、少ない労力でコーディングを身に付けることができます。さらにプラットフォーム上でロジックや画面の修正ができるため、アプリケーションの変更や改修を比較的容易にできます」(中村氏)
LANSAが他のローコード開発ツールと大きく異なるのは、アプリケーションの開発だけでなく、運用保守の面でも多くのメリットを提供できる点にある。通常、ローコード開発ツールは、迅速な開発と生産性の向上を目指すことに主眼を置く。このため、簡単に初期の開発ができても、その後のメンテナンスで予想外の工数が発生しがちだ。メンテナンスフェーズで詳細なカスタマイズを進めるうちに、結局複数の要素技術の専門知識が必要になり、先ほどのように開発の仕組みが複雑化し、関わる技術者が多くなってしまう。
「LANSAはロジックや画面、データなどを完全に分離して管理します。古いアプリケーションではビジネスロジックがプログラムに埋め込まれていましたが、LANSAではそれらをアプリケーションパッケージに取り組む際、ビジネスロジックを分離し、センターリポジトリで集中管理します。アプリケーションの変更が必要になったら、センターリポジトリで修正を施し、元のコードを変更することなく、メンテナンスできます。これにより、複雑さを低減し、メンテナンスの生産性とアプリケーションの品質を担保します」(中村氏)
LANSAはオーストラリアで誕生し、現在は米国に統括会社を置くグローバルなソフトウェア開発企業だ。1980年代に「IBM AS/400」(現IBM Power Systems、IBM i)のアプリケーション開発ツールとして製品の提供を開始し、以来、テクノロジーの進歩と歩調を合わせるように、クライアントサーバやWebシステム、モバイル、クラウドネイティブなどへ適応し、成熟度を高めてきた。ユーザー企業は世界で8000社、国内で1800社に上る。
「30年以上の実績があるため、IBM iをはじめ、Windowsやクラウドで稼働するようなアプリケーションから、COBOL、RPG、ActiveX、SOAPなど今では技術者を探すこと自体が困難な言語やフレームワーク、ライブラリに対応できます。一方で、iOSやAndroidのネイティブアプリケーション開発や、Googleのマテリアルデザインを用いたレスポンシブルWebデザインへの対応など、最新技術のサポートにも積極的に取り組んでいます。2021年になり、PWA(Progressive Web Apps)を活用したアプリケーション構築ができるようになりました。DXやレガシーマイグレーションの取り組みでLANSAを活用することで、高速に、少ない人数で、よりシンプルな形でビジネスニーズに即したアプリケーションを継続的に開発できる体制を作り上げていくことができます」(中村氏)
実際、国内での採用実績も、DXの取り組みを進める大企業のIT部門から、エンジニア不足に悩むSI、パートナー企業まで幅広い。専門的な知識が必要なく、内製化も容易なため、中堅・中小企業での採用も多いという。
例えば、清酒「白鹿」「黒松白鹿」で知られる兵庫県西宮市の辰馬本家酒造の事例がある。
従業員200人の同社は、2004年にメインフレームからIBM iへの移行を実施し、IBM i上の業務ロジックをRPGで、クライアント側の基幹画面をVisual Basic 6(VB6)で開発していた。VB6のサポート終了後、不具合の原因がサーバ側にあるのか、クライアント側なのか、特定にも苦労していた。
LANSA導入後の現在は、「他部署で手に余っていることがあれば、システム部門の仕事としてどんどん取り組む」ことをLANSAで実現している。結果として、担当部門名も「システムマネジメント室」から「経営管理室」に変わった。経営に関わる仕事と情報システム部門の仕事は表裏一体であるという事例だ。
その外にも、LANSAのモバイル機能で年間1億円近くの社内工数を削減した事例など、さまざまな事例があるという。
「エンジニアが不足する中、既存資産を生かしながら、システムの複雑性を排除し、新しい取り組みを自社内で実施できるようにしたことがポイントです。システムの在り方は千差万別であり、全企業に共通する答えがあるわけではありません。DXの取り組みでも、新しい技術に全面的に移行するというのではなく、自社の在り方を見つめながら、自社にとって最適な選択をすることが重要です。それを実現するのがLANSAなのです」(中村氏)
Copyright © ITmedia, Inc. All Rights Reserved.
提供:株式会社ランサ・ジャパン
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2021年6月7日