MENU

単一環境・単一言語によりライフサイクル全体で生産性向上 ~LANSAのローコード開発

ローコード開発の話題には
保守・メンテナンスの視点が欠けている

「LANSA」を提供するランサ・ジャパンの中村哲氏(代表取締役社長)は、4年ほど前に米国本社が「ローコード開発ツール」という言葉を使い始めたとき、それを日本で使用するか「ものすごく躊躇しました」と振り返る。

「日本ではまだまったく知られていない時期で、Low Codeをグーグル翻訳してみると“低コード”という訳が返ってくる状況でした。“低コード”では何のことかさっぱりわかりませんし、当時の定義にやや先進的すぎるところがあり日本のお客様がどのように受け取るか不安もあったので、バージョン14までは使わないでいました」

 しかし現在のようにローコード開発ツールが増え、さまざまな解釈のローコード開発の定義や考え方が目につくようになると、「逆にきちんとローコード開発の実態をお伝えていく必要があると考えるようになりました」という。

「さまざまなローコード開発ツールの資料を読むと、初期の開発だけの話になっていて、“スピード開発”や“簡単・容易”といった言葉が躍っています。それも重要な要件であることは間違いありませんが、アプリケーションのライフサイクルを考えたら、開発した後の保守・メンテナンスも重要なはずです。むしろ保守・メンテナンスにシステム部門の70〜80%以上の工数が取られている実情を踏まえれば、新規開発だけの話でいいのかという疑問がわいてきます。ローコード開発の本質をおさえたお客様への提案が必要だろうと考えています」と、中村氏は話す。

新規開発から保守まで
一貫した環境が不可欠

 ランサが考えるローコード開発ツールは、「幅広いコンピューティングに対して新規開発から保守フェーズまで継続的に一貫した開発保守環境を提供するツール」である。これには「柔軟なカスタマイズや既存システムとの容易な連携」という要件も含まれる。

 実際、5250アプリケーションはもとより、クライアント/サーバー、Web、モバイル、基幹連携、他システム連携など企業のエンタープライズアプリケーションに求められる要素をすべて満たしている。この点でWebやモバイルに特化しているノーコードの「部分最適化」に対し、「全体最適化」という点も特徴だ。

「つまり、最初の開発だけパパっと作って、そこから先の保守・メンテナンスは開発ツールが生成したJavaやPHPのコードで行うのでは、全体の開発生産性はまったく上がらないということです。それどころかエンドユーザーが初期開発を担うようになると、ガバナンスやセキュリティの問題が浮上し、初期開発の後始末のためにシステム部門の負荷がかえって増大することも容易に想像がつきます。そうではなく、一貫した開発環境のなかで継続的に新しい技術を取り入れつつ生産性を上げていくのが、当社の考えるローコード開発です」(中村氏)(図表1

図表1 単一プラットフォームと単一言語による開発

 中村氏は、「ローコード開発ツールはシステム部門が使うものであって、エンドユーザーに開放すべきものではない」と断言する。エンドユーザーがローコード開発ツールを使ってシステム部門の負荷を軽減できるのは、基幹データを参照するクエリー系のアプリケーションか、スタンドアロンのアプリケーションに限られるという。

「システム部門はコーディングのための部門ではなくビジネス課題を解決する部門であるはずで、そのために開発ツールを利用します。そして開発・保守の生産性を高め、さまざまな技術の最新情報の収集とそれぞれの整合性確認に使う時間を最小限にできれば、そのぶんビジネス課題の解決に時間を割くことが可能です。つまりそこにローコード開発ツールを利用する意味があり、注目を集めている理由だと思います。ソフトウェア・ライフサイクル全体の生産性を高めないローコード開発ツールは、ローコード開発の理念に反すると思えます」(中村氏)

プログラムをシンプルにする
リポジトリによるビジネスロジック管理

 LANSAにおいてローコード開発を実現する仕組みの1つとして中村氏が挙げるのが、「リポジトリによるビジネスロジックの収集管理」である(図表2)。

図表2 リポジトリによるビジネスロジックの収集管理

 LANSAは、ビジネスロジックや画面、データなどを完全に分離して管理する仕組みをもつ。そしてそれぞれを個々別々に独立させて定義・開発するので、たとえばビジネスロジックを変更するときはリポジトリに格納されているビジネスロジックだけを変更すればよく、そのまま再コンパイルなしに適用できる。つまりLANSAで開発するプログラムは、ソースプログラムからリポジトリに格納されたビジネスロジックを通してデータなどを呼び出す形で構成されるということである。

 これにより複数のプログラムが扱うデータの妥当性や派生する関連データの更新は、1つのビジネスロジックを用意すればよく、効率的で一元的な開発・保守が可能になる。

「これは30年前からLANSAに備わっている仕掛けですが、30年かけて時代のトレンドを積極的に取り入れてきた結果、ローコード開発が強く求められる現在になって、あらためて重要性を増していると考えています。データベースにアクセスするというロジックがあれば、そのロジックだけで必要なデータの妥当性検査や関連ファイルの更新などを処理できます。これにより、ソースプログラムをより短くシンプルにでき、より短期の開発とスピーディかつ高品質の保守・メンテナンスが可能になります」と、中村氏は強調する。

 同社では最近、「ハイブリッド・ローコード」というキャッチフレーズを使い始めている。LANSAには業務アプリケーションを「ほぼノーコード」(中村氏)で開発できる多数の「テンプレート」がある。テンプレートは標準でグーグルのマテリアルデザインに準拠しており、フロントデザインの開発・運用工数の低減にも寄与している。

 そのノーコード開発と詳細なカスタマイズをLANSA内で完結できるローコード開発を組み合わせることによって、より生産性の高い開発・保守が可能になるというメッセージである。

「ローコード開発に対する当社の思いを広くお伝えする目的で新しい言葉を作りましたが、いずれにしても開発・保守の生産性向上には最初だけではなくその後の工程で何が起こり得るのかから目をそらさないことが重要だと思います」(中村氏)

 

[i Magazine 2021 Summer(2021年7月)掲載]