Skip to main content

 

 

 

Template:OutSystems/Documentation_KB/Breadcrumb_New_Layout

 

 

Template:OutSystems/OSLanguageSwitcher

 

モバイルアプリとリアクティブWebアプリにのみ適用されます

 

 

OutSystems

ライブラリ

ライブラリは、モジュールタイプの1つであり、アプリケーションの基盤を構築することができます。ライブラリは、4 Layer Canvasアーキテクチャツールの基盤レイヤーに直接適合し、特定の環境内の依存関係の数を減らすことができます。

ベストプラクティス

アーキテクチャを考慮して、OutSystemsアプリケーションの開発を開始します。健全なアーキテクチャを備えることにより、ビジネスニーズに応じた迅速な変更や、アプリケーションごとにライフサイクルを変えて様々なペースで進化させることが可能になります。

アーキテクチャが適切である場合、共通するモジュールの再利用が促進され、実装の重複がなくなり、開発インフラ全体のモジュールとアプリケーションの所有権が明確になります。

ライブラリモジュールタイプは、以下の原則を念頭に置いて設計されました。

  • ライブラリは、ステートレスです。データベースに情報を保存することやエンティティに直接アクセスすることはできません。
  • ライブラリの要素は、コンシューマアプリケーションのコンテキストでのみデプロイされます。スタンドアロンのアプリケーションとしてデプロイされることはないため、Platform Serverのアプリケーションサーバーの負荷が低減されます。
  • ライブラリは、それらを参照しているアプリケーションがデプロイされているデータベースに依存しません。

たとえば、ライブラリを使用して以下を作成することができます。

UI要素/スタイルガイド
これを使用すると、開発インフラ全体での再利用と標準化を推進することができます。
たとえば、ライブラリを使用してTinyMCECKEditorなどのコンポーネントを実装できます。
再利用可能なユーティリティ

これを使用すると、健全なアーキテクチャを維持しながら機能をグループ化することができます。
たとえば、ライブラリを使用して以下を実装できます。

  • コネクタ — 外部サービスのAPIやUIとの連携。たとえば、MyRESTServiceUtilsライブラリは、RESTサービスの利用を抽象化します。
  • ロジック — 複数のアプリケーションから呼び出すことができるロジックをカプセル化します。たとえば、CipherUtilsライブラリは、データを暗号化/復号化します。

ほとんどの種類の要素をライブラリに含めることができます。

  • UIフロー
  • ブロック
  • 画像
  • テーマ
  • スクリプト
  • データアクション
  • サーバーアクションとクライアントアクション
  • 連携の利用(SOAP、REST、SAP)。
  • 例外
  • ストラクチャ
  • リソース

ライブラリで使用できる要素を適用できるのは、モジュールを編集している間はService Studioエディタ、他のモジュールから要素を参照しているときは[Manage Dependencies]ウィンドウです。このため、ライブラリで作成できる内容や参照できる内容に関するフィードバックをすぐに得ることができます。

制限

ライブラリの背後にあるアーキテクチャに関する考え方を考慮し、いくつかのコンセプトに異なる方法でアプローチを行う必要があります。ライブラリを作成する際は、以下の点を考慮してください。

  • ライブラリは、他のライブラリまたはエクステンションの要素のみを参照することができます。ただし、システムアクションは参照できます。
  • ライブラリは、サイトプロパティに読み取り専用モードでのみアクセスできます。サイトプロパティの有効な値は、Service CenterまたはLifeTime(「デプロイ時にサイトプロパティを設定する」早期アクセス機能が有効になっている場合)で変更できます。
  • 設計上、以下の要素はライブラリで使用できません。
    • 画面
    • サービスアクション
    • エンティティ(サーバーエンティティおよびクライアントエンティティ)
    • 公開している連携(SOAPおよびREST)
    • プロセスおよびタイマー
    • ロール
  • ライブラリ内では、静的ソースの作成や参照はできますが、クエリで使用したり、ドロップダウンのソースやエンティティの外部キーとして使用したりすることはできません。ただし、ライブラリ内で(System)の静的エンティティを参照することはできません。
  • 従来のWebアプリでは、ライブラリによって提供されるパブリックサーバーアクションと公開ストラクチャを参照することができますが、ブロック、クライアントアクション、画像、テーマ、スクリプト、リソースの各要素をライブラリから参照することはできません。

ライブラリを使用する場合、既存のリソースをターゲットディレクトリにデプロイすることはできません。

ライブラリを作成する

  1. Service Studioで新しいアプリケーション(モバイルまたはリアクティブWeb)を作成し、名前を指定します。
    または、既存のアプリケーション内でライブラリを作成する場合は、既存のモバイルアプリケーションまたはリアクティブWebアプリケーションのアイコンをクリックして、[Add Module]をクリックします。

  2. 新しいモジュールの名前を入力し、ドロップダウンでモジュールタイプとして[Library]を選択します。

  3. Create Module]をクリックします。

ライブラリをデバッグする

ライブラリモジュールをデバッグするには、プロデューサモジュールをデバッグするときにすでに行ったように、ライブラリを利用しているモジュールでエントリモジュールを設定する必要があります。詳細については、「プロデューサモジュールをデバッグする」をご覧ください。