Skip to main content

OutSystemsを使用した開発

OutSystems

複雑なビジネスロジックのサポート

エンタープライズレベルのシステムには必ずビジネスロジックまたはドメインロジックのレイヤーがあり、通常はバックエンドで、データの作成、表示、保存、変更方法を定義する現実世界のビジネスルールをコード化しています。

ビジネスロジックには、単一のデータベーステーブルへの書き出しのように単純なものもあります。その一方で、複数のテーブルへの同時書き出しをしつつ、ユーザーの権限を確認し、検証とデータの追加入力のために複数の外部システムを呼び出すような非常に複雑なものもあります。たとえば、従来の標準的な3層構造のWebアプリケーションアーキテクチャの場合、ビジネスロジックの多くはデータベースレベルにあり、一般的にはストアドプロシージャに組み込まれているため、メンテナンスが困難になる可能性があります。

OutSystemsは、こうした複雑な状況に対応できる設計になっているため、システムで複雑なロジックを作成し、メンテナンスを行うプロセスで高い生産性を実現します。以下に挙げる多数の機能と構成要素によって、複雑なビジネスロジックのコード作成を簡素化します。

プログラミングの構成要素

OutSystemsには、視覚的なポイント&クリックモデルのコード作成に加え、if文、繰り返し、条件分岐、変数、配列、複雑なデータ型など、複雑なロジックの作成に欠かせない基本的なプログラミング構成要素がすべて備わっています。フォーマット設定、変換、数式、文字列操作などの関数を備えた完全な表現言語が、複雑なロジックの演算に必要な柔軟性を実現します。

拡張性

ハッシュテーブルや正規表現などのプログラミングに必要な関数や構成要素を、カスタムコードを使用して追加することができます。

データソースの操作

データベースへの接続や、SOAP WebサービスまたはREST APIの公開および呼び出しは簡単です。視覚的なデータ集約により、データ検索も非常にシンプルに行えます。また、簡素なSQLの記述機能をいつでも使用できます。 

プログラミング構成要素と組み合わせることで、データセットをメモリ内の何階層かにネストされたループで繰り返し使用できます。また、挿入、追加、削除などの一般的なリスト操作関数を使用して簡単に処理することもできます。

コードの再利用性とモジュール性 

OutSystemsで記述したすべてのロジックは、アプリケーション内のあらゆる場所で再利用したり、ソフトウェア開発インフラ内のあらゆるアプリケーションに公開したりすることができます。この機能によって包括的なモジュールとAPIの作成が可能となり、健全なアーキテクチャと真のモジュール性が実現します。 

たとえば、OutSystemsを使用すると再帰呼び出しなどの従来のプログラミングパターンを簡単に実装できます。

非同期ロジック

特定の処理ルーチンが複雑で時間がかかるため、ボタンをクリックしてから完了までの待ち時間が長くなってしまう場合があります。OutSystemsを使用すると、どんなロジックでも簡単に非同期で実行できます。定期的に顧客情報を同期するアクションの例を以下に示します。

さらに、オペレーションのスケジュールを設定して監視することもできます。

ビジネスプロセスオーケストレーション

一般的に「ビジネスプロセス」と呼ばれる長期にわたり実行されるトランザクションも、複雑なロジックです。ユーザーの操作と連動するワークフローのオーケストレーションや、特定のイベントによって作動するバックエンドのオーケストレーションも、OutSystemsでは簡単に実現できます。

開発チームは、単一のツールを使用して設計、デプロイ、実行、フィードバックの収集、監視、およびプロセスとアプリケーションの最適化を自動化することができます。変更が発生した場合、アプリケーションとプロセスの両方に適用されるため、複雑で費用のかかる連携作業は必要ありません。 

OutSystemsのビジネスプロセスについては、こちらをご覧ください。

以下に、受注処理プロセスと承認サブプロセスを示します。

OutSystemsが優れている理由

OutSystemsで複雑なロジックを記述する開発方法が、従来型のコーディング言語の開発よりも優れている理由を以下に紹介します。

  • ビジュアル型のポイント&クリックモデルによって、何千行ものコードを確認する場合と比べ引き継ぎが大幅に簡単になります。

  • 複雑なロジックは本当に複雑です。多機能を備えたビジュアルデバッガを使用することにより、開発者はビジュアル化されたコードを確認し、動作を理解して、容易にトラブルシューティングを行えます。

  • 監視機能は、パフォーマンスのボトルネックのトラブルシューティングだけではなく、監査にも使用することができます。様々なレベルの冗長性を構成し、複雑なシナリオや複雑なメッセージの交換を追跡することもできます。