【今こそ、ローコードを考える】第4回 LANSAの考えるローコード | IBM i 総合情報サイト

【今こそ、ローコードを考える】第4回 LANSAの考えるローコード


第4回 タイトル

投稿日:2021年3月2日

はじめに

前回までで、ローコードとは何かと、それに取り組む際の課題についてご紹介してきました。さまざまな企業のシステムが置かれる状況の中で、ローコードを導入で全てが解決するわけではなく、さまざまな考慮点があることをご理解いただけたと思います。第4回はバージョン15のハイライトをご紹介する予定でしたが、今回はバージョンにかかわらずLANSAそのものの考え方をご紹介させていただくことにさせていただきました。

1. LANSAはプロの開発者を念頭に設計

LANSAは、複雑なエンタープライズアプリの開発にプロの開発者と長年取り組んできました。ローコードの魅力は常に最小限のコーディングでアプリを簡単に開発することですが、従来のコーディング手法を併用しなければ、複雑なエンタープライズアプリを実際に開発することはできませんでした。私たちと考え方を異にするモデルベースのローコードベンダーも、LANSAが以前から気づいている、ローコードソリューションでコーディングできる必要があることをようやく理解し始めました。ただし、他のローコードプラットフォームでは、そのコーディングはローコードソリューションのIDEの外部、他の言語、他のプラットフォームで行われているのが実情です。Visual LANSAではアプリ全体を1つのIDEでコーディングできるように設計されています。

TechRadarに関する最近の記事では、「ローコードだけでは不十分」、「ローコード開発の生産性を従来の開発の自由度と機能と組み合わせることで、あらゆる規模の顧客が最も複雑なアプリケーションに取り組むことができます」と言っています。Visual LANSAが最初からアプリ開発にハイブリッドローコードアプローチ(従来のコーディング手法とローコードを1つのIDEに組み合わせたもの)を使用してきたのは、まさにこのためです。私たちは30年にわたる経験から開発者のニーズを理解しているため、IDE内にいくつかの開発ツールを直接提供しています。ローコードのアプローチが適合する場合はローコードの機能を利用し、柔軟性が必要な場合はコードを記述します。コアビジネスに不可欠なアプリを開発するために必要なものを知っていることが、Visual LANSAを最強の開発ツールにしている理由です。

従来のローコードの短所:

  • 1つのアプリケーションに必要な複数の異なるツール
  • 複数のプラットフォームで、複数の言語でアプリを組み立てることにより、保守の負荷増大
  • 一つのアプリを開発するために複数のプラットフォームでコードを記述することにより、開発の時間増加

Visual LANSAのハイブリッドローコードの長所:

  • 一つのIDE内で利用可能なローコードおよび従来のコーディング機能
  • すべてのコーディングと保守のための1つの開発プラットフォーム
  • 開発者が利用するプラットフォームは一つ

第4回 pic2

Visual LANSAハイブリッドローコードソリューション

Visual LANSAを使用すると、IDEを離れることなく、複雑なエンタープライズアプリケーション全体を開発できます。ローコードとLANSA独自の開発言語を組み合わせて使用することで、開発者は1か所でアプリケーションを開発するために必要なすべてのツールの機能にアクセスできます。開発に最適なツールを使用すると開発が加速するだけでなく、IDE内で複数のオプションを直接利用できるため、統合がより簡単になります。

アプリケーション開発は概ね複雑なタスクであり、ツールや言語を更に組み合わせると複雑さが増大します。Visual LANSAは、必要なすべてのツールを1つの便利な場所に提供することで、開発の複雑さを軽減し、開発者の効率を高めることができます。複数のIDEを渡り歩く必要のない、ツールを選択することが大事です。

LANSAは、エンタープライズアプリケーション開発の効率を、従来のローコード開発プラットフォームが提供するレベルを超えたレベルに引き上げます。開発者がローコードプラットフォーム内で直接コーディングできるようにすることで、開発の効率的は向上し、開発が加速されます。複雑なコアアプリケーションを含めてシチズン・デベロッパーに頼ることなくより迅速に開発しできます。

シチズン・デベロッパーによるシャドーITの3つのリスク

シチズン・デベロッパーとは、IT部門以外の部門の社員であり、自分の部門がより効率的になるために何が必要かを知っています。会社のビジネスプロセスと、現在のプロセスを改善するためにソリューションを理解しています。ローコードにより誰でもが開発できるようになることで、アプリケーションの提供に恩恵をもたらしますが、一方で正しく利用されない場合には、組織に非常に深刻なリスクをもたらす可能性があります。

  • IT全体のポリシーからの逸脱
  • 責任範囲が不明確
  • IT部門のコストが増加

現在ITはセキュリティのポリシーについて大きな課題を背負っていますが、十分にサポートされない現場のシチズン・デベロッパーが開発したアプリケーションは、ここで問題を引き起こす可能性があります。
多くの企業のIT部門には、通常の職務を遂行しながら、増え続けるシチズン・デベロッパーのニーズに対応するためのスタッフが十分ではありません。このシャドーIT方式で適切にトレーニングおよび監視されずに開発されるアプリケーションが増えると、セキュリティポリシーの違反や基幹業務アプリケーションの障害が発生する可能性が高まります。一方で、シチズン・デベロッパーのアプローチは、リスクの低い単純なアプリケーションを開発するのに非常に役立ちます。

誰でも簡単に使用できるローコード開発プラットフォームは、個人の貴重なデータが誰でも、どこでも読み取れるように公開されることを意味します。シチズン・デベロッパーが開発に関与している場合、データの監視の欠如とデータ侵害の可能性が業界の懸念となっています。また、問題が発生した場合の責任を誰に問うのかの判断が難しいことも挙げられます。基幹業務や重要なデータや機密データを処理するアプリケーションの開発は、プロのプログラマーに任せる必要があります。シチズン・デベロッパーはビジネス組織での役割を持っていますが、それはビジネス上のクリティカルなアプリケーションの開発ではありません。

多くのモデルベースのローコードプラットフォームは、単純なアプリケーションを非常に高速に開発できます。しかし、複雑なプロセスのソリューションを必要とする大規模なエンタープライズアプリケーションは、ほとんどのローコードソフトウェアで、自身の環境内でアプリケーションを完結できません。開発者はローコードプラットフォームの外に出て、別のコーディング言語でカスタムインターフェースを開発する必要があります。この労力は、シチズン・デベロッパーが開発プロセスで参加している場合に増大します。 IT部門は、自分のカスタムソインターフェースを開発するだけでなく、シチズン・デベロッパーが直面した障害をサポートする必要があります。その結果、開発の速度が大幅に低下することになります。
上記の問題はアプリケーションがビジネスのコア部分に近づくにつれて指数関数的に増加します。

第4回 pic3

2.幅広いアプリ開発機能

LANSAはモバイルのネイティブApp、Webブラウザ、C/S、5250のアプリケーションなどほんど全てを一つのIDE(開発環境)から開発し、保守することができます。また、クライアントサイドとサーバーサイドの両方の開発が可能です。
LANSAの言語ベースのローコードプラットフォームは、他のモデルベースのローコードソリューションによる制約を我慢することなくプロの開発者が基幹業務のアプリケーションを開発するために必要なツールを提供します。 LANSAは、開発者がLANSAの統合開発環境(IDE)を離れる必要がない様に考慮されています。問題の解決策がLANSAのローコード機能を超える場合、プログラマーはLANSAのIDE内でより伝統的な解決策をコーディングすることができます。このアプローチにより、プロの開発者は、インターフェイスの開発に時間を費やすことなく、ツールを使用してエンタープライズアプリケーションをすばやく開発できます。
LANSAは、ローコードを使用してアプリケーションフレームワークをすばやく開発し、Googleのマテリアルデザイン手法を使用して、ブラウザのアプリケーションがユーザーにどのように表示されるかをすばやく提案します。 LANSAがすべてのユーザーインターフェイスの開発を処理するため、プログラマーはWebベースのテクノロジーに精通している必要はありません。 LANSAを使用すると、プログラマーはこの方法でレガシーシステムと簡単に連携できるだけでなく、IBM iビジネスマシンとのシームレスな連携を得意としています。 LANSAは、サーバー側とクライアント側の両方のソリューションに1つの言語を使用するため、開発者は1つの言語を学習するだけで、連携やカスタマイズに関する問題を処理できます。 LANSAの単一言語アプローチの重要性は、Webテクノロジーが変化するにつれてさらに明らかになります。開発者は、新しいWeb言語と技術の変化の中で、LANSAのコーディング言語を学習するだけで済みます。 LANSAのローコードアプローチは、絶えず変化するWebテクノロジーに対応することであり、開発者は最高のアプリケーションの開発に集中できます。

“5250画面しか見ていないユーザーのIBM iの認識は乏しいものだった。現在は、IBM iのプラットフォームがWeb、モバイル、リッチ・クライアントのアプリケーションをサポートすることが理解されるようになった。適切なツールを使えば、何でもできる”

3.新規と既存システムの簡単な連携

LANSAは、RESTful APIの他に、以前に開発したDLL、RPGの呼び出しなど従来のさまざまな連携インターフェイスを用意しています。
ローコードプラットフォームは、ITの生産と効率を向上させるための優れたツールですが、すべてのローコードプラットフォームに、レガシーシステムやサポートされていないシステムと効率的に連携するための仕掛けがあるわけではありません。コーディングソリューションがモデルベースのローコードプラットフォームの限界に達した場合、実行可能なアプリケーションを開発するためにいくつかの決断が必要です。アプリケーションの開発者は、別のプログラミング言語でソリューションを開発してから、従来のコーディングソリューションと通信できるようにインターフェイスを追加開発する必要があります。開発者は、従来のコーディングソリューションが存在する場所(サーバー側またはクライアント側)に応じて、新しい言語を1つか2つ学ぶ必要があるかもしれません。開発環境の外で開発が必要な場合、標準的な操作手順なければ、各設計者が個別に手順を決定する必要があります。ローコードプラットフォームでサポートされていないさまざまなシステムと連携するために必要な回避策を見つければならないと、アプリケーションの開発にかかる時間が大幅に増加し、プロのプログラマーの生産性も大幅に低下します。この開発では、アプリケーションの範囲はシチズン・デベロッパーが取り組める範囲を超えており、プロのプログラマーは回避策が制限されます。開発されるアプリケーションにレガシーシステムまたはIBM iなどのシステムとの連携が含まれる場合、他のモデルベースのローコードプラットフォームは最良のオプションではない可能性があります。LANSAは複雑な連携を伴うアプリケーションでも、プロのプログラマーがより効率的で、IT部門がアプリケーションを充実することができるツールです。

“新しく開発されたWindowsやIBM iのコンポーネントをプラグインしたり、既存のRPGプログラムを呼び出したりできるビルド済みのアプリケーションを提供します。 これにより、新しい機能と組み合わせて、必要なレガシーアプリケーションの一部を引き続き利用できるようになりました。”
Webサービス REST, SOAP, XML Webサービス
データフォーマット XML, JSON, XLS(T), PDF, CSV, TSV, TXT, EDI (ASC X12 and UN/EDIFACT), Zip, 他
データベースの直接アクセス 全てのリレーショナルと非リレーショナル(NoSQL)データベース
プロトコル HTTP(S), FTP(S), (S)FTP, SMS, SMTP, POP3, AS2, AS3, SSH, 他
メッセージング ActiveMQ (Apache), WebSphere MQ (IBM), Sonic MQ (Progress Software), Tibco Rendezvous (Tibco), 他

4.開発環境の適用範囲

LANSAは一人の技術者が、モバイルのネイティブApp、Webブラウザ、C/S、5250のアプリケーションなど、更にクライアントサイドとサーバーサイドのほんど全てのアプリケーションを開発することができます。
既存の技術者が初めてLANSAを使用する際に、上記のいずれかの既存の経験を生かして、どこからでも始めることができます。その後、必要に応じて適用範囲を段階的広げていくことができます。また、プログラミングが初めてのITスタッフにも、Wizardやテンプレートを利用して最初から使い易いアプリケーションを開発できるよう考慮されています。5250のアプリケーションの開発経験しかない技術者でもレスポンシブな最新のWebアプリケーションを開発することができます。
これにより、コストをかけてフルスタックの開発者(複数の技術分野についての知識や技能に精通した技術者)を探すか、複数の専門性を持つ技術者チームを抱える必要がなく、IT部門はよりコンパクトで、共通した知識で適材適所の技術を利用したハイブリッドシステムを構築することができるようになります。
さらに、DevOpsのアプリケーションライフサイクルの中で、リアルタイムプロトタイピング、デバッグ、バージョン管理、配布管理などの機能も提供しています。

“迅速な結果を得ることも重要ですが、LANSAを使用することで、開発者はさまざまなツールや言語を使用する必要がないため、生産性が大幅に向上しました。小さなITチームで、WindowsとSystem iの両方の開発を同じ開発者が行うことができるようになりました。”
Webアプリ 電話、タブレット、デスクトップブラウザでの表示を最適化するレスポンシブデザイン。
モバイルアプリ すべてのデバイス用のWebブラウザ。あらゆる画面サイズのiOS、Android 、Windows Mobileデバイスのハイブリッドやネイティブ環境。
データベース Microsoft SQL Server、Oracle、IBM DB2、Sybase SQL Anywhere、MySQL、
MongoDB、他のすべての一般的なリレーショナルおよび非リレーショナル(NoSQL)DBMS。
サーバープラットフォーム 特定のニーズと要件に応じて他のプラットフォームの利用可能性があるWindowsおよびLinux。
場所 クラウド、オンプレミスまたはハイブリッド。

5.ビジネスルールによるアプリケーション保守の大幅な軽減

LANSAは、アプリ内部のビジネスルールを一括管理するセンターリポジトリを搭載しており、モバイルのネイティブApp、Webブラウザ、C/S、5250のアプリケーションなどデータの入出力にまつわる共通のルールを一か所で開発、変更、管理できる仕掛けを持っています。これにより、初期の開発生産性のみならず、アプリケーションのライフサイクルのコストの2/3(3分の2)を占めると言われる保守コストを大幅に低減し、システムのスパゲッティ化を防止します。
一度開発したビジネスルールは、ルールの保守を含めシステム全体に即時に適用されるため、個別のプログラムの保守に起こりがちな、システム全体のビジネスルールやデータの不整合を防ぐことができます。
またこれを実現するために、アプリケーションとデータベースの中間に、ビジネスルールを定義したリポジトリから生成されるLANSA独自のレイヤを持つため、システム環境の移行の際にデータベースの独自の機能に縛られることがありません。

“ほとんどのビジネスルールやトリガーをLANSAリポジトリに定義しています。LANSAのセンターリポジトリは、開発環境の生産性向上も留まることなく、保守の際にも本領を発揮します。”

第4回 pic4

6.幅広いクロスプラットフォームのサポートと導入オプション

LANSAは、一度開発したバイルのネイティブApp、Webブラウザ、C/S、5250のアプリなどほんど全てのアプリケーションをWindows、クラウド、IBM i環境にGit環境を通じて展開し、最初に開発したハードウエア、OS環境から別の環境に移植することができます。

“複数のプラットフォームに展開できるスケーラブルなソリューションにより、市場シェアを劇的に拡大することができました。 LANSAを使用すると、現在の資産を生かしてシステムを構築できます。 金融業界では、正確さと信頼性が最も重要です。 LANSAは、新しいテクノロジーを実装し、それを最初から正しく実行することの複雑さとリスクを管理するのに役立ちます。

7. LANSAは相反する自由度と生産性を両立

他のローコードプラットフォームとは異なり、LANSAは、開発者に視覚的なワークフローを開発し、ドラッグアンドドロップメニューのみをナビゲートすることを強制しません。代わりに、LANSAは、いくつかの簡単な質問といくつかの迅速な初期設定を通じてフレームワークを迅速かつ自動的に開発することにより、アプリケーションの迅速な開発を可能にします。その後、開発者は、ローコード手法とLANSA独自の言語でのハンドコーディングを組み合わせて、問題の解決策を開発することに集中できます。プロの開発者は、必要に応じ従来に比べて短いステップで簡単にコーディングでき、アプリケーションの自由度を確保できます。他のローコードソリューションには見られないレベルの自由度を提供できます。開発者は、手動コーディングの高度な自由度と、ローコードの便利さと迅速さを手に入れることができます。プロの開発者は、スキルセットと考え方に対応するローコードプラットフォームを必要としています。多くの開発者は何年にもわたる教育を受けており、コーディングソリューションの問題を解決する方法について専門家の訓練を受けています。 これらを生かしたLANSAの自由度が高いローコードプラットフォームは、プロの開発者が効率的かつ効果的に必要とする環境です。

おわりに

基幹業務のエンタープライズアプリケーションの設計開発に使用されるローコードプラットフォームは、プロのプログラマーがより効果的かつ効率的になることに焦点を当てる必要があります。多くのモデルベースのローコードプラットフォームに見られるように、ドラッグアンドドロップアイコンで沢山のメニューを備えた単純化されたビジュアルワークフローは、必ずしもさまざまなタイプのアプリケーションの開発をより速くまたはより簡単にするわけではありません。エンタープライズアプリケーションの開発に使用されるローコードプラットフォームは豊富な機能が必要であるため、プロのプログラマーは制限や制限なしに仕事を進めるために必要なツールを選択すべきです。優れたエンタープライズアプリケーション対応のローコードプラットフォームの重要な機能は、ローコードツールの範囲外のソリューションを手動でコーディングする必要がある場合でも、プログラマーが開発環境にとどまることができるようにすることです。また、言語ベースのローコードプラットフォームで、サーバー側とクライアント側の両方のソリューションに単一の言語をプログラマーに提供することで、生産性が大幅に向上します。シチズン・デベロッパーに焦点を当てたモデルベースのローコードプラットフォームは、プロのプログラマーの生産性を時として妨げ、セキュリティ規約違反、ITサポートの増加、シャドーITの促進などの多くの問題に組織をさらす可能性があることは既に述べた通りです。モデルベースのローコードプラットフォームは、特定のレベルのアプリケーション開発には非常に役立ちますが、複雑なエンタープライズアプリケーションには最適なソリューションではありません。 LANSAの言語ベースのローコードソリューションは、プロの開発者に焦点を当てており、これらの起こりうるローコードの落とし穴を回避して、ローコードプロジェクトが今後何年にもわたって成功することをお約束します。

Copyright © IGUAZU