DreamFactory

DreamFactoryは、MySQL、PostgreSQL、SQL Server、Snowflakeなど20以上のデータベース向けにREST APIを生成できるオープンコアAPI生成プラットフォームです。ロールベースのアクセス制御(RBAC)、APIキーの生成と管理、APIの制限とログ記録をサポートしており、世界中の数千の組織によってAPIインフラストラクチャを生成および管理するために使用されています。

DreamFactoryについて詳しく知りたい場合は、https://www.dreamfactory.com/にアクセスしてください。

AdaloのExternal Collections機能を使用すると、DreamFactoryをバックエンドとするモバイルアプリケーションを簡単に作成できます。統合プロセスをデモンストレーションするために、MySQL Employeesサンプルデータベースを使用して企業ディレクトリアプリケーションを作成します。このデータベースには6つのテーブルと約400万の相互関連レコードが含まれています。まずは、例のアプリケーションを作成してみましょう。

アプリケーションの作成

AdaloのExternal Collections機能は、外部APIに対してCRUD(作成、取得、更新、削除)操作を実行する機能をサポートしていますが、当社のアプリケーションは読み取り専用の従業員ディレクトリとして機能します。さらに、モバイル専用のアプリケーションの構築に焦点を当てます。手順に従って、Adaloアカウントにログインし、新しいアプリを作成し、Mobile Onlyを選択してください。

Adaloアプリケーションレイアウトの選択

次に、Blank Mobile Firstテンプレートを選択します。

最後に、アプリケーション名を定義し、対象とする観客を選択し、プライマリとセカンダリの色を定義します。

作成を押すと、Adalo App Builderがスケルトンアプリケーションを表示し、最初に次の3つの画面が含まれています。

魅力的な色の組み合わせを特定するのに、Color CombosAdobe Colorなどのサイトを利用することがあります。

次に、従業員データベースAPIをAdaloに追加して、データをアプリケーションに統合していきます。

従業員APIの追加

DreamFactoryにデータベースの資格情報を追加し、APIを生成した後、ユーザーは通常、ロールベースのアクセス制御(RBAC)を定義し、そのRBACをAPIキーにアタッチします。このAPIキーは、クライアントからDreamFactoryに安全なHTTPヘッダーで渡されます。DreamFactoryはこのキーを使用してリクエストの認証と認可の両方を行います。したがって、AdaloにこのAPIを追加するには、DreamFactoryインスタンスから次の情報を取得する必要があります。

  • APIエンドポイントのベースURL

  • APIキー。このAPIキーは、AdaloからヘッダーX-DreamFactory-API-Keyを使用して渡されます。

Adaloにこの情報を追加するには、データベースメニューアイテムをクリックして、次にコレクションを追加することができます:

次のようなモーダルが表示されます:

コレクション名を簡単に認識できる名前に設定します。ここではEmployeesを使用します。APIベースURLはコレクションを指し、次のようになります:https://api.example.com/api/v2/mysql/_table/employees。最後に、Add Itemをクリックし、Headerを選択して、ヘッダー名とAPIキーを入力する必要があります:

この情報を入力した後、Doneを押して次に進み、エンドポイント画面に進んでください:

Get Allメニューアイテムをクリックし、Results Keyフィールドをresourceに設定します。これは重要です。DreamFactoryはJSONキーとしてレコードコレクションを返します。以下は例です:

	
{
  "resource": [
    {
      "emp_no": 112,
      "birth_date": "1953-09-02",
      "first_name": "Eddie",
      "last_name": "Smith",
      "gender": "M",
      "hire_date": "1986-06-26"
    },
    {
      "emp_no": 113,
      "birth_date": "1953-09-02",
      "first_name": "Eddie",
      "last_name": "Smith",
      "gender": "M",
      "hire_date": "1986-06-26"
    },
    ...
    ]
}

この変更を行った後、Doneを押してNextを押してAPIデータの取得をテストしてください:

最後に、Run Testを押し、すべてが適切に構成されている場合は、次のような出力が表示されるはずです:

すべてが問題なければ、コレクションを保存して追加プロセスを完了してください。

アプリケーション画面リストに従業員データを追加

外部APIが構成されたので、従業員データを取得して表示する準備が整いました。ビルダーのコンポーネントメニューを開いて、Simple Listコンポーネントをアプリケーションのホーム画面にドラッグします。完了したら、画面は次のようになります:

リストをクリックしてリスト属性エディタを開き、「What is this a list of?」フィールドをEmployeesに設定します。次に、Titleをクリックして、その後Magic Textアイコンをクリックし、first_nameを選択します:

次に、first_nameの後にスペースを追加してlast_nameを選択し、この手順を繰り返します。これで、インターフェースは次のようになります:

サブタイトルと左側のセクション属性を無効にし、Simple Listは次のようになります:

信じられないかもしれませんが、これでDreamFactory APIデータをアプリケーションにロードするために必要なすべての手順です。プレビューをクリックしてアカウントを作成した後、ホーム画面に従業員の名前がリストされます:

従業員プロファイル画面の作成

特定の従業員について詳細を知るために、従業員名をクリックして従業員プロファイル画面を表示できるようにしたいと思います。これを行うには、現在の従業員データ(クリックされた従業員名)を新しい画面に送信するクリックアクションを作成する必要があります。Simple Listをクリックし、属性画面でAdd Actionをクリックして、次にLink > New Screenを選択します:

新しい画面に名前を割り当て、Blank Screenを選択します。Create Screenをクリックします。Click Actionsの詳細ウィジェットは次のようになります:

最後に、従業員プロファイルのユーザーインターフェースを構築します。Adaloは現在の従業員データを新しい画面に渡すため、画面にテキストフィールドコンポーネントをドラッグし、データを宣言するためにマジックテキストを使用するだけです:

完了したら、アプリをプレビューして、次のような従業員プロファイル画面が表示されるはずです:

もっと学ぶ

DreamFactoryはオープンコアであり、コードが公開されており、多くの基本的な機能を無料で使用できます。始めるためのいくつかのリソースは次のとおりです:

  • DreamFactoryのGitHubリポジトリ:GitHubリポジトリにはコードとDockerおよびHelm環境へのリンクなど、他の有用な情報が含まれています。

  • DreamFactory documentation: ドキュメントには、MySQLを含むさまざまなデータソースでバックアップされたAPIを生成およびセキュリティ保護する方法を詳しく説明したチュートリアルがいくつか含まれています。

Last updated

Was this helpful?