見出し画像

GeneXusとは?~ローコードインダストリーの大注目ツール!~

GeneXus(ジェネクサス)というローコードツールをご存じでしょうか? 実は30年以上前に誕生したツールですが、ここに来て大きな注目を集めています。最近ではりそな銀行のインターネットバンキングシステムに貢献しています。GeneXusのエバンジェリストとして世界的に活躍している横井利和さん(イノベーティブ・ソリューションズCTO)にお話をうかがいました。


1.GeneXusとは


南米ウルグアイ発のローコードツールです。
さかのぼること1984年。ジェネレーターがソースコードを生成するツールをつくろうと大学の研究室から始まりました。
やがてIBMが参画してプロトタイプをつくり、世の中に出たのが1989年です。

◆長期間使えるシステムを開発するローコードツール


GeneXusのコンセプトは「フューチャープルーフ」。
ユーザのシステム要件定義によって、業務データベースや業務アプリケーションを生成するツールです。
ユーザは業務ノウハウに専念してください。技術はGeneXusが時代ごとのトレンドをフォローしていきます」という考えが根本にあります。
 
「トレンドをフォロー」していくことについて説明すると
30年以上前のGeneXus(当時の社名はアルテッチ(Artech)社)発売当時はRPGやCOBOLに対応していました。
その後、2010年代のiOSやAndroid等を経て、2023年のGeneXus Ver18では生成AIもカバーしています。
GeneXusはデファクトスタンダードに常に対応し、できあがったシステムは常に最新のIT環境で使えるのです。

イノベーティブソリューションズ資料より

最近はいろいろなツールやアプリケーションがオープン化したために、ユーザ側の選択肢が増えていて、「何が正解かわからない」という場面が多くなっていると思います。
が、GeneXusではその心配は無用です。

GeneXusではユーザはシステムの外から見えるもの=「ユーザビュー」にフォーカスして要件定義を行うと、裏側のAIがDB設計やアプリケーション開発を行ってくれます。※GeneXusでは生成AIではなく推論系AIを使用

 この利点は

・ハードのリプレースでシステムを再構築する必要がない

・初期開発以上に本番運用後の仕様変更時に効果的

つまり、一度つくったシステムを長期にわたって使い続けられる、しかも最新のITトレンドに見合った環境で、というのがGeneXusの特徴です。

イノベーティブソリューションズ資料より

◆通常のローコードツールにはない自由度の高さ


GeneXusの利点はほかにもあります。
GeneXusはローコードツールではありますが、つくり込みもできます。
自動生成とつくり込みのバランスを、案件の性質ごとでコントロールできるんです。

新規案件等であれば、アジャイルに対応していきます。GeneXus上で動作するアプリケーションをベースに要件の確認を行えるのが大きな魅力で、本番稼働後の変更も柔軟に行えるよう設計します。
AIの影響分析や自動再生成等の機能も使って、素早く、無理なく、確実なレベルアップが可能です。
 
一方で、基幹系のシステムであれば、細かい要件に対応するためにロジックを書き込むような作り込みも多くなります。難易度や工数に負担がかかりますが、自動生成機能をうまく活用しながら、フェーズを超えた大規模な手戻りのリスクを避けます。

イノベーティブソリューションズ資料より

状況に応じて、自動生成とつくり込みの最適なバランスをとりながらシステムを開発できる――この自由度、柔軟性はGeneXusならではです。

◆外部連携機能も豊富


外部DBとの連携も可能です。データベースリバースエンジニアツール(DBRET)という機能を使用すると、GeneXusが外部DBの構造情報を読み取り、アクセスできるようになります。
このとき、アクセスするためのプログラムのみが自動生成されるだけで、既存のDBに対して構造変更は行いません。
応用として、既存DB(例:商品マスタ)にアクセスしながら、新規DB(受注データ)にデータを書き込むプログラムが生成できます。
 

◆要件定義フェーズで紙芝居は使わない。動かしながらニーズを確認

GeneXusの魅力は、通常のローコードツールでは「コーディングツール」でしかありえないのが、「要件定義ツール」であり「DB設計ツール」であり得る点です。

たとえばDB設計をGeneXusの理論に基づいて行うと、AI分析によりDBの正規化が行われ、スピーディにおいしい結果が得られます。そういう意味でいくと、設計ツールです。

あるいは、要件定義フェーズで、GeneXus上で定義したものがすぐに動いてその場で確認できるという意味では、要件定義ツールともいえます。パワーポイントや紙芝居ではなくて、その場で実際に動くものを使って、お客さんのニーズを確認できます。
 
時間とお金をかけてつくったものが、最終的に「違う」といわれるのが
一番がっかりします。
最終ゴールがどのタイミングでわかるか? というのは重要で、GeneXusでは適宜、それを確認しながら開発できるのです。

GeneXusエバンジェリストの横井さん

◆名は体を表す――開発時の注意点


ここで気をつけなければいけないのは、要件定義時に使用する「名前(項目名)」です。AIは「名前(項目名)」から推測してデータの正規化を行いDB設計をします。それによってアプリケーションの動きも変わってきます。

例を挙げると、商品マスタには商品名と「単価」があります。一方で、受注データベースにも商品名と"単価"があります。
ここで受注DBの"単価"をシンプルに「単価」という名前にしてしまうと、DBが正規化されてしまい、商品マスタ側の金額に寄ってしまいます。正規化の観点では正しいですが、実際の業務ではあるタイミングで「単価」を変更する事があります。しかし、このモデルでは商品マスタの「単価」を変更すると、既に確定した過去の受注DBの「単価」も変わってしまいます。

受注DBで持っている単価は商品マスタと同意ではないはずので、「受注時単価」としなければ、整合性がとれなくなってしまうということです。従って、商品マスタは「商品単価」、受注DBは「受注時単価」とそれぞれ項目の「意味」に沿った名前を付けることで、GeneXusのAIが推論し、それぞれ別の項目として定義してくれます。
 
それは裏を返すと、物事(業務)を正しく捉えて「名前」がきちんとつけられていれば、データベースやアプリケーションの設計がナチュラル且つきれいにできる、というのが、実はGeneXusの根本に持っている本質になります。
 
単価もそうですし、納期についても希望納期なのか回答納期なのかといった、「何のために誰がどういう風に使うものか」というのを突き詰めて考えるというのは、要件定義であり、お客さんへの業務確認であり、それが結果的にGeneXusのシステムに反映されます。
「名は体を表す」と言いますが、より業務に精通しないとGeneXusのおいしいところは使えないんです。

◆GeneXusの持つ課題


ジェネレーターという性格上、結構パワーを食うので、クラウド上で動かすのはおすすめしません。もちろんクラウド上でもできますが、快適に使いたいとなると課金が高くなってしまいます。環境を用意したほうが結果的によいと思います。
 
それからライセンス体系としてはサブスクリプションとなります。初年度のみ金額が高いため、ハードルが高いように感じてしまうかもしれません。通常のローコードツールだと、開発時はタダでできて、ランタイムになると費用がかかってくることが多いですから。
GeneXusは逆です。初期費用はかかりますが、生成されたアプリケーションにランタイムライセンスは不要のため、つくればつくるほどお得になります。
 
余談ですが、腕に自信があるエンジニアほどGeneXusの開発に異論を唱えることが多いです。ツールとしておいしいところをつかって、あいた時間で「人ができること」をやりましょうという考えの人がGeneXusのエンジニアに向いていると思います。

2.GeneXusの導入事例と将来性


GeneXusを利用したケースを紹介すると、最近の大きなものでいえば、りそな銀行のインターネットバンキングの刷新です。1800万アカウントのシステムをGeneXusで開発しました。
ほかに、山崎製パン向けには製品統合マスタの開発を、イクヨ(自動車部品製造)では生産実績収集システムの開発を行っています。
国の災害医療システムやクレジットカード会社のスマホアプリも手がけています。

◆りそな銀行がGeneXusを採用した理由


ローコードとかコストダウンではなく「つくったアプリケーションがずっと使える」というのがGeneXusを採用していただいた一番の理由でした。
企業は5年や7年単位でシステムの入れ替えがあり、その都度、数十億円かかってしまいます。

冒頭でご紹介したとおり、GeneXusは常にデファクトスタンダードに対応できるため、一度つくれば、使い続けられます。
また、大企業の基幹システムとなると、従来のプロセスとアウトプットを意識しながら構築していく必要があります。GeneXusでは外部DBとの連携もスムーズなため、既存のシステムを利用しながら、変えるべきところを変えていくことができます。「従来通りのものは皆さん今までどおりやってください。変えるところだけGeneXus用のトレーニングを受けてください」というと、とても安心されていました。
やはり「いかにお客さん側のやり方に馴染むか」というのは、システム開発に重要な要素です。

https://www.resona-gr.co.jp/holdings/news/hd_c/detail/20210416_2008.html

◆基幹システム再構築時でのGeneXusの優位性

前述のとおり、GeneXusはローコードツールでありながらもロジックも書けます。

通常のローコードツールは便利な一方で、限界があります。ローコードツールのプログラミングではドラッグ&ドロップで行いますが、そのシンプルな作業では、企業内の複雑な業務のシステム化は難しい場面が多くあります。

最近「ローコード開発で行き詰っている」という話をよく耳にしますが、GeneXusではその心配はありません。

GeneXusはコーディングツールでありながら、DB設計ツールであり要件定義ツールの性質を備えていますから。 

今後、大規模基幹システムの再構築といった案件が多く出てくる時代になると思われます。りそな銀行のケースを発端に、GeneXusの需要はますます増えるのではないかと期待しています。


横井さん、ありがとうございました!