Page Contents
Page Contents

LoopBack は、高い機能拡張性を持った、オープンソースの Node.js のフレームワーク です。

  • ほとんど、あるいは全くコードを書かずに、動的な end-to-end の REST APIs を作成できる。
  • 主要なリレーショナル・データベース、MongoDB、SOAPやREST APIのデータにアクセスできる。
  • モデル・リレーションシップと複雑なAPIへのアクセス制御を統合できる。
  • モバイルアプリのための、プッシュ通知、Geolocation、ファイル管理が扱える。
  • Android、iOS、JavaScript SDK のクライアントアプリを簡単に作ることができる。
  • オンプレミスでもクラウドでも動かすことができる。

LoopBackフレームワーク

See also:

Node.jsは初めてですか? 他の言語からNode.jsに入門する方は以下の記事を読んで下さい:

LoopBackフレームワークは、Node.jsモジュールの集合体です。それぞれのモジュールは一緒に利用することも、個別に利用することも出来ます。

LoopBackアプリケーションは、LoopBackモデルAPIを通して、データソースと通信します。APIはローカル環境のNode.jsでも利用できますし、REST経由でリモートでも利用できますしiOS、Android及びHTML5のネイティブクライアントAPI経由でも利用できます。これらのAPIを利用すると、データベースへの問い合わせや、データの保存、ファイルアップロード、Eメールの送信、Push通知、ユーザ登録、その他のデータソースやサービスで提供されるアクションを実行することができます。

クライアントはStrong Remotingを利用して直接LoopBack APIを呼ぶことができます。Strong Remotingは、REST、WebSocketsなどの通信方法によるバックエンドを提供する、プラガブルな通信レイヤです。

以下の図は、主要なLoopBackモジュールが互いにどう関連し、どのような依存関係にあるかを説明しています。

LoopBackフレームワークのモジュール

カテゴリ

説明

用途

モジュール名

Models

ModelとAPIサーバ

素早く直接的にモデルをモックアップし、APIとして公開します。永続化について考える必要はありません。

loopback

Abstraction

物理永続化のためのモデルデータの抽象化

複数のデータソースまたはサービスに接続し、抽象化されたモデルを返します。モデルはどのように物理的に保存されているかに依存しないCRUD機能を提供します。

loopback-datasource-juggler

Initialization アプリケーション初期化

データソースの環境設定、モデルのカスタマイズ、モデルの環境設定やデータソースへのアタッチの設定を行います。また、アプリケーションの設定とカスタムブートスクリプトを実行します。

loopback-boot
Sequencing ミドルウェア実行

ミドルウェアを設定します。ミドルウェアは、アプリケーションライフサイクル中のいろいろな時点で実行されます。

loopback-phase

Data

RDBMSやnoSQL物理データソース

RDBMSやnoSQLデータソースとの接続を可能にし、抽象化されたモデルを返します。

loopback-connector-mongodb

loopback-connector-mysql

loopback-connector-postgresql

loopback-connector-msssql

loopback-connector-oracle

Integration

一般的なシステムコネクタ

RESTのようなWebインターフェースや、SOAPのような一般的なエンタープライズインターフェースを用いてAPIを公開している既存のシステムと接続します。

loopback-connector-rest

loopback-connector-soap

Services

構築済みサービス

よくあるユースケースに便利に使うことが出来る、コンポーネント化された構築済みサービスと連携します。

loopback-component-push

loopback-component-storage

loopback-component-passport

loopback-component-sync
(in development)

Gateway

APIゲートウェイ

APIをセキュアにし、呼び出しと応答のワークフローに、QoSの視点を導入します。

loopback-gateway

loopback-component-oauth2

Clients

クライアントSDK

ネイティブプラットフォームオブジェクト (iOS, Android, AngularJS) を用いて、REST経由でLoopBack APIと通信するクライアントアプリを開発します。

loopback-sdk-ios

loopback-sdk-android

loopback-sdk-angular