OutSystemsのツールとコンポーネント

目次

  1. 開発環境とデプロイ環境
  2. OutSystems Now
  3. Platform Server
  4. モバイルアプリビルドサービス
  5. 管理コンソール
  6. Forge

OutSystemsプラットフォームは、アプリケーションライフサイクル管理プロセス全体をカバーする環境、ツール、コンポーネントを提供します。 

OutSystemsの開発環境とデプロイ環境は以下のとおりです。

  • ビジュアル開発環境: データモデル、アプリケーションロジック、UI、ビジネスプロセスフロー、統合、セキュリティポリシーなど、アプリケーションスタックにおけるあらゆる要素を作成する環境です。
  • 統合環境: OutSystemsプラットフォームを拡張し、サードパーティのシステムやマイクロサービスと統合するためのコンポーネントを作成する環境です。
  • OutSystems Now: ネイティブのiOS/Androidアプリです。開発者アカウントや証明書、プロビジョニングプロファイルを作成することも、モバイルアプリのパッケージを生成してデバイスにインストールすることもなく、モバイルアプリをテストできます。アプリへのアクセス、ログのデバッグ、アプリの共有、デバイス機能へのアクセスをすばやく行います。
  • Platform Server: このサーバーコンポーネントはOutSystemsプラットフォームの中核をなすものです。 標準のWebアプリケーションサーバーにアプリケーションを生成、最適化、コンパイル、デプロイします。また、スケジュール設定されたバッチジョブとアプリケーションログも管理します。
  • モバイルアプリビルドサービス : ネイティブアプリのパッケージを生成するOutSystemsのクラウドサービスです。すべての静的リソースやプラグイン、生成されたアプリコードをバンドルしてネイティブパッケージにし、ターゲットプラットフォーム向けに提供された証明書とプロビジョニングプロファイルで署名します。

OutSystemsの運用管理コンソールは以下のとおりです。

  • 運用管理コンソール: このコンソールは、接続文字列、Webサービスのエンドポイント、アプリケーションのプロパティなど、環境における運用面を管理します。
  • デプロイおよび環境管理コンソール: このコンソールでは、環境間でのアプリケーションのステージングやパフォーマンスの監視からITチームの権限管理に至るまで、開発環境、QA環境、本番環境の一元管理が可能です。

その他のツールやサービス:

  • Forge: このリポジトリには、OutSystemsプロジェクトに利用できるオープンソースのモジュール、コネクタ、コンポーネントが集積されています。

開発環境とデプロイ環境


OutSystemsの開発環境は、デザイン性に優れたアプリケーションの作成や統合などを簡単に行えるように設計されています。

ビジュアル開発環境

この環境でビジュアル要素をドラッグ&ドロップし、アプリケーションのUI、ビジネスプロセス、ビジネスロジック、データモデルを作成します。また、アプリケーションは、この環境でSOAP/REST Webサービスを利用して公開します。

すべてのアプリケーション層にはフックポイントがあるため、開発者は開発環境外で作業する必要がある場合に、独自のコードで層を拡張できます。

この環境では、バックグラウンドで完全な参照チェックと自己修復を行うエンジンが動作し、アプリケーションにエラーが発生せず、変更が既存のアプリケーションに影響しないようにしています。
軽量設計になっており、設計後の作業の多くはOutSystemsプラットフォームのサーバーコンポーネントであるPlatform Serverで処理されます。

統合環境

この環境では、コンポーネントを作成し、既存のサードパーティのシステム、マイクロサービス、データベースと連携することが可能です。また、独自のコードでOutSystemsを拡張するためにも利用できます。

デプロイ後、これらのコンポーネントはOutSystemsで構築したすべてのアプリケーションで再利用できるようになります。開発者はVisual Studioを使用して統合コンポーネントをコーディングし、既存の.NETライブラリを利用できます。

コンポーネントをパブリッシュすると、開発環境で標準の.NETコンパイラでコンパイルされます。生成されたDLLは、Platform Serverに送信されます。

OutSystems Now


アプリのテストに利用できるネイティブのiOS/Androidアプリです。アプリのテストに利用できるネイティブのiOS/Androidアプリです。

アプリの変更は、OutSystems Nowにすぐに反映されます。デバイス上でアプリを実行するにあたり、開発者アカウントの作成やアプリのパッケージの構築、証明書の取得は必要ありません。

OutSystems Nowは、コンソールに記録されたすべての情報にアクセスできる統合デバッグログを備えているため、デバッグやQAにも最適です。

さらに、OutSystems Nowを所有していない他の開発者とも簡単にアプリを共有でき、テストを行ったり、アプリのフィードバック機能によってフィードバックを送信してもらったりすることができます。

詳細についてはこちらをご覧ください。

Platform Server


このサーバーコンポーネントはOutSystemsプラットフォームの中核をなすものです。アプリケーションの生成、ビルド、パッケージ化、デプロイに必要なすべての手順を処理します。

Platform Serverは、下記のような特殊なサービスを提供します。

  • コードジェネレータ: IDEでモデル化されたアプリケーションを受け取り、ネイティブの.NETコードを生成します。アプリケーションがパフォーマンスのために最適化され、標準テクノロジーでセキュアに実行されます。
  • デプロイサービス: 生成された.NETアプリケーションを標準のWebアプリケーションサーバーにデプロイします。これにより、アプリケーションはサーバーファームの各フロントエンドに常にインストールされます。
  • アプリケーションサービス: スケジュール設定されたバッチジョブの実行を管理し、エラーや監査、パフォーマンスメトリックなどのイベントを保存する非同期ロギングサービスを提供します。

そのため、アプリケーションをデプロイすると、作成されたアプリケーションモデルが環境で検証され、Platform Serverに送信されます。 サーバー内では、アプリケーションモデルは以下のように動作します。

  1. ビルトインのバージョン管理システムを使用してバージョン管理を行う
  2. ネイティブ.NETにコンパイルされ、パフォーマンスとセキュリティのために最適化される
  3. サーバーファーム内のすべてのフロントエンドサーバーにデプロイされる

また、デプロイ中にPlatform Serverは依存関係の分析を行い、他のアプリケーションが変更の影響を受けたかどうかをチームに通知します。

モバイルアプリビルドサービス


MABS(モバイルアプリビルドサービス)は、iOS/Android用モバイルアプリのパッケージ生成のためにOutSystemsが開発したクラウドサービスです。以下の点について考慮する必要はありません。

  • SDKやAPIのバージョン
  • ビルドツールのバージョン
  • iOS/Android用の個別のパイプラインの構築
  • iOSパッケージ生成用のMacの手配

MABSはこうした煩雑な作業をすべて排除します。さらに、OutSystemsのデプロイや1-Click Publishのプロセスと完全に連携されています。必要となるのは、証明書とプロビジョニングプロファイルのみです。 アプリの変更にあたって新しいパッケージの生成が必要な場合、プラットフォームによってMABSに送信されます。MABSは以下の処理を行います。

  • 静的リソースと、生成されたクライアント側コードをすべてバンドルする
  • モバイルプラグインを取得し、連携する
  • パッケージをビルドし、署名する
  • 組織内のアプリストアでダウンロードできるようにする

極めて拡張性の高いこのサービスは、OutSystemsのユーザーによるモバイルビルドに関するあらゆるリクエストに対応するだけでなく、継続的な改良とアップデートにより、ベンダーの仕様やガイドラインに準拠したアプリを実現します。これには、ベンダーのSDKバージョンやビルドツールバージョンのアップデートも含まれます。

管理コンソール


こうしたOutSystemsコンソールによって、環境の一元管理とアプリケーションモジュールの再利用が容易になります。

運用管理コンソール

このWebコンソールを使用して環境の運用面を管理できます。

データベース接続をはじめとする環境全体の構成と、以下の点を含むアプリケーション固有の構成を同時に管理します。

  • アプリケーションをオフライン/オンラインにする
  • アプリケーションを前のバージョンに戻す
  • アプリケーションのプロパティ、Webサービスのエンドポイント、バッチジョブのスケジューリングを構成する

ここで挙げている例は一部です。

デプロイおよび環境管理コンソール

このWebコンソールはDevOpsプロセスを自動化するため、開発環境から本番環境へとアプリケーションをステージングすることができます。クラウド、オンプレミス、ハイブリッド構成におけるすべての環境を管理できます。

この管理コンソールは以下の点をサポートします。

  • 環境間のアプリケーションのステージング: アプリケーションをステージングする際、LifeTimeは、環境間で依存分析を行い、ターゲット環境で実行されているアプリケーションに影響を与えることなくステージングを実行できるようにします。デプロイ後、変更の影響を受けたすべてのアプリケーションは、自動的に更新され、最新のコードやバージョンなどが適用されます。
  • アプリケーションパフォーマンスの監視: OutSystemsで構築されたすべてのアプリケーションは、ランタイム監視情報を収集するように自動的に構成されます。LifeTimeを使用すると、アプリケーションのパフォーマンスを監視し、ユーザーがアプリケーションが遅いことに気付く前にアクションをとることができます。
  • ITチームの権限の管理: 組織の優先認証を設定し、IT部門の各ユーザーが各環境およびアプリケーション上で持つ権限レベルを管理します。

Forge


UIコンポーネント、ライブラリ、コネクタのリポジトリです。アプリケーションで再利用できる既存のモジュールを提供し、デリバリーを高速化します。OutSystemsのビジュアル開発環境はForgeと連携しており、開発者はこれらのコンポーネントをすばやく入手し、適用することができます。

Forgeのコンポーネントは、その大半がOutSystemsコミュニティのメンバーにより作成・共有されています。熟練ユーザーによるTrustedコンポーネントのキュレーションプロセスを経ることで、一定の機能が提供され、セキュリティや文書化、コードの品質においてベストプラクティスに準拠していることを確認します。また、Supportedコンポーネントもあります。このコンポーネントは、ユーザーのサブスクリプション規約に従い、OutSystemsが保守とサポートを提供するものです。

Forgeでソフトウェアのライセンスを取得する方法については、「Forgeのソフトウェアのライセンスを取得する方法」の記事をご覧ください。