From decec5e90fc20c03d8472ef4146736a7b3daf0db Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Fri, 6 Sep 2013 15:46:36 -0700 Subject: [PATCH 1/2] Update concepts doc with a new diagram --- docs/concepts.md | 97 +++++++++++++++++++++++-------------- docs/loopback-concepts.png | Bin 0 -> 66089 bytes 2 files changed, 61 insertions(+), 36 deletions(-) create mode 100644 docs/loopback-concepts.png diff --git a/docs/concepts.md b/docs/concepts.md index 3d10032a..d6f0c39a 100644 --- a/docs/concepts.md +++ b/docs/concepts.md @@ -7,7 +7,7 @@ answer a couple of questions: > What _is_ LoopBack? - - A component in the [StrongLoop Suite](www.strongloop.com/strongloop-suite). + - A component in the [StrongLoop Suite](http://www.strongloop.com/strongloop-suite). - A library of Node.js modules for connecting mobile apps to a variety of data sources. - A command line tool, `slc lb`, for generating models and entire applications @@ -16,39 +16,49 @@ answer a couple of questions: > How does LoopBack work? -LoopBack Applications are made up of three components: -[Data Sources](#data-sources-and-connectors) (also referred to as "Connectors"), -[Models](#models), and the [Mobile Clients](#mobile-clients) that consume them. + - LoopBack applications are made up of three components: +[Models](#models), [Data Sources/Connectors](#data-sources-and-connectors), and the +[Mobile Clients](#mobile-clients) that consume them. -Any mobile or web app can interact with a LoopBack Data Source through the Model -API. The Model API is available [locally within Node.js](#model), [remotely over -REST](#rest-api), and as native mobile SDKs for [iOS, Android, and -HTML5](#mobile-clients). Using the API, clients can query databases, store data, -upload files, send emails, create push notifications, register users, and any -other behavior provided by data sources. + - Any mobile or web app can interact with LoopBack through the Model API that are +backed by various data sources. The Model API is available +[locally within Node.js](#model), [remotely over REST](#rest-api), and as native +mobile SDKs for [iOS, Android, and HTML5](#mobile-clients). Using the API, +clients can query databases, store data, upload files, send emails, create push +notifications, register users, and any other behavior provided by data sources. + +![concepts](loopback-concepts.png "LoopBack Concepts") ### Mobile Clients **PLACEHOLDER FOR SDK INTRO** +In summary, mobile clients work with objects that are connected to LoopBack +to provide data and perform actions.Those objects are captured as models in +LoopBack. + ### Models > What is a Model? -In LoopBack, a Model consists of the following: +A LoopBack Model consists of the following: - Application data - Validation rules + - Data access capabilities - Business logic A mobile client uses the remote API provided by Models to request any -information needed to display a useful interface to the user. +information needed to display a useful interface to the user or trigger actions +on the models to interact with backend systems. -#### A Simple Example +Let's use a simple example to explain what a model can do for you. + +#### Defining a model For example, an e-commerce app might have `Product` and `Inventory` Models. A mobile client could use the `Product` Model API to search through all of the -Procuts in a database. A client could join the `Product` and `Inventory` data to +Products in a database. A client could join the `Product` and `Inventory` data to determine what products are in stock, or the `Product` Model could provide a server-side function (or [remote method](#remote-methods)) that aggregates this information. @@ -60,17 +70,22 @@ var Product = Model.extend('product'); var Inventory = Model.extend('customer'); ``` -**NOTE:** Models are _schema-less_ by default, but some Connectors, such as +**NOTE:** Models are _schema-less_ by default, but some data sources, such as relational databases, _require_ schemas. Additionally, schemas are immensely -valuable for validating sanitizing data coming from mobile clients. See -[Sanitizing and Validating Models](#sanitizing-and-validating-models) if your -application needs to connect to an RDBMS, for example. +valuable for establishing the common knowledge of business data so that the data +exchange can be agreed and documented while data coming from mobile clients can +be validated and/or sanitized . See [Sanitizing and Validating Models](#sanitizing-and-validating-models) +if your application needs to connect to an RDBMS, for example. -#### Attaching Data Sources +#### Attaching to Data Sources -Attaching a Model to a Data Source gives you access to a powerful API mixed into -Models by their Sources. The [MongoDB Connector](#), for example, mixes in a -`create` method that allows us to store a new Product in the database: +Instances of a Model carry application data. But they are not very interesting +until applications can create, retrieve, update, or delete (CRUD) model instances. +LoopBack introduces the DataSource concept to provide the data access +capabilities to models. Attaching a Model to a DataSource gives you access to a +powerful API mixed into Models by the Connector behind a DataSource. The +[MongoDB Connector](#), for example, mixes in a `create` method that allows us +to store a new Product in the database: ```js // Step 2: Attach Data Sources @@ -87,6 +102,9 @@ Product.create({ name: 'widget', price: 99.99 }, function(err, widget) { }); ``` +Now the models have both data and behaviors. How can the mobile clients benefit +from them? We need a way to make the models available from mobile clients. + #### Exposing to Mobile Clients Models can be exposed to mobile clients using one of the remoting middlewares. @@ -104,11 +122,16 @@ app.use(loopback.rest()); app.model(Product); ``` +After this, you'll have the `Product` model with CRUD functions working remotely +from the mobile clients. Please note the model is schema-less till now and the +data are not checked. + #### Sanitizing and Validating Models -Once a schema is added to a Model, it will validate and sanitize data before -giving it to a Data Source. For example, the `Product` Model has a schema that -will not change. The example below updates the `Product` Model with a schema +A Model can be described in plain json or JavaScript. The description is called +schema. Once a schema is defined for a Model, it will validate and sanitize data +before giving it to a Data Source. For example, the `Product` Model has a schema +that will not change. The example below updates the `Product` Model with a schema written in **LoopBack Definition Language**, a well-documented flavor of JSON. ```js @@ -137,12 +160,8 @@ required `name` property. ### Data Sources and Connectors -LoopBack allows you to connect to many sources of data and services both in the -cloud and on-premise in your data center. These sources of data and services are -called DataSources. DataSources are accessed through a plugin called a Connector -in LoopBack. Plugins are highly customizable and extensible. Unlike other -mobile backend, LoopBack can leverage your existing data and organize them in -the form of models. +Now you see the power of LoopBack models. A model gets rich set of functions out +of the box with the contribution from Data Sources and Connectors. The concept of DataSource is introduced to encapsulate business logic to exchange data between models and various data sources. Data sources are @@ -150,10 +169,16 @@ typically databases that provide create, retrieve, update, and delete (CRUD) functions. LoopBack also generalize other backend services, such as REST APIs, SOAP Web Services, and Storage Services, as data sources. -Data sources are backed by connectors which implement the data exchange logic -using database drivers or other client APIs. In general, connectors are not used -directly by application code. The DataSource class provides APIs to configure -the underlying connector and exposes functions via DataSource or model classes. +LoopBack allows you to connect to many sources of data and services both in the +cloud and on-premise in your data center. DataSources are accessed through a +plugin called a Connector in LoopBack. Plugins are highly customizable and +extensible. Unlike other mobile backend, LoopBack can leverage your existing +data and organize them in the form of models. + +Connectors implement the data exchange logic using database drivers or other +client APIs. In general, connectors are not used directly by application code. +The DataSource class provides APIs to configure the underlying connector and +exposes functions via DataSource or model classes. #### LoopBack Connector Modules @@ -168,7 +193,7 @@ For more information, please read the [LoopBack DataSource and Connector Guide]( ### REST -Everything defined in LoopBack (e.g. Models) can be made available as a REST +Functions defined in LoopBack Models can be made available as a REST endpoint. You can see and experiment with _your_ REST api using the [LoopBack API Explorer](http://localhost:3000/explorer/). diff --git a/docs/loopback-concepts.png b/docs/loopback-concepts.png new file mode 100644 index 0000000000000000000000000000000000000000..4232b35ce535fc93766b7a4675ca1dd59f5fc667 GIT binary patch literal 66089 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 TISH=M4k0V4B+(#d68irD?DS5r literal 0 HcmV?d00001 From 28642407cd5d0991cd0b60d59de989e201aa770a Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Fri, 6 Sep 2013 15:53:36 -0700 Subject: [PATCH 2/2] Update assets mapping --- docs.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs.json b/docs.json index ccd82701..cbd44add 100644 --- a/docs.json +++ b/docs.json @@ -12,5 +12,8 @@ "docs/js.md", "docs/java.md", "docs/rest.md" - ] + ], + "assets": { + "/": "/docs" + } }