LoopBack は、高い機能拡張性を持った、オープンソースの Node.js のフレームワーク です。
- ほとんど、あるいは全くコードを書かずに、動的な end-to-end の REST APIs を作成できる。
- 主要なリレーショナル・データベース、MongoDB、SOAPやREST APIのデータにアクセスできる。
- モデル・リレーションシップと複雑なAPIへのアクセス制御を統合できる。
- モバイルアプリのための、プッシュ通知、Geolocation、ファイル管理が扱える。
- Android、iOS、JavaScript SDK のクライアントアプリを簡単に作ることができる。
- オンプレミスでもクラウドでも動かすことができる。
Note:
LoopBackを使ったアプリ作成に必要なキー・コンセプトを学ぶには、 LoopBack core concepts をお読み下さい。
LoopBackの特徴についての入門は Getting started with LoopBack を参照して下さい。
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モジュールが互いにどう関連し、どのような依存関係にあるかを説明しています。
</figure>
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 |
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 |