close

API en la rápida

Un rápido vistazo a JSON del servidor, Parse.com, AnyPresence JustAPIs, DreamFactory y StrongLoop LoopBack.

En Universal Mind prácticamente todas las web o aplicación móvil, construimos consume algún tipo de principios activos con el fin de proporcionar información a los usuarios. Aquí hay 3 casos en los que las API de rápido levantar ayudan con nuestro proceso de desarrollo:

  • Prototipado - Con muchos de nuestros clientes, que a menudo se involucran en "prototipos Vision" antes de construir la solución entera. Estos son los prototipos que a menudo necesitan algunos servicios de nivel básico implementadas con el fin de funcionar trabajando.
  • Servicios Mock - En otros casos, los requisitos de programación de proyectos tienen a veces nos la construcción de la web y aplicaciones móviles antes de que los servicios de la API "reales" están listos para la integración. En este caso, necesitamos un conjunto de servicios de "falsas" para imitar los servicios de producción que eventualmente estarán disponibles.
  • Soluciones simples - Algunos pequeños proyectos pueden tener necesidades de API que son bastante simples y necesitan ser construida rápidamente con una mínima inversión.

En los 3 casos, el objetivo es defender una capa API de forma rápida y centrar la mayor parte del tiempo en la construcción de las aplicaciones web o cliente móvil. En el pasado, estas capas de API menudo se codificaron la mano que puede resultar en el tiempo del proyecto se desvíe hacia la codificación de la capa de API en lugar de la solución del lado del cliente que estamos tratando de construir.

Con el tiempo, una serie de soluciones han surgido que permiten el rápido desarrollo de APIs para el consumo de aplicaciones web y móviles. La mayoría de todas estas herramientas proporcionan a para realizar las operaciones típicas contra algún tipo de almacén de datos. El propósito de este artículo es presentar varias soluciones que hemos utilizado en el pasado. Algunos son adecuados para un papel en la construcción rápida de una capa API para apoyar el desarrollo de aplicaciones de cliente y no son lo suficientemente robusta como para soportar una aplicación de producción. Otros requieren un poco más de inversión inicial, pero en última instancia, pueden formar la base de una solución de producción.

JSON del servidor

Esto tiene que ser la manera más rápida para obtener una API en marcha y funcionando. Vas a tener sus primeros servicios en funcionamiento en menos de 1 minuto. Esta es una herramienta gratuita, impulsado por nodo, y es. servidor JSON hace exactamente lo que implica el título. Sirve documentos JSON y le permite crear, leer, actualizar y eliminar ellos (operaciones CRUD) con los verbos HTTP de REST esperados de POST, GET, PUT y DELETE. No es necesario para crear un esquema de base de antemano. Basta con hacer un HTTP POST a un punto final como va a crear documentos de la colección "clientes". Cada documento puede tener un ID y se puede hacer referencia a los documentos individuales por su identificación. Así podemos leer el número de cliente 5 con sólo hacer un GET o actualizar ese cliente haciendo un PUT al mismo punto final. Las direcciones URL también permiten que se les suministre los parámetros de consulta para controlar lo que se devuelven los documentos y ahora están ordenados. Por ejemplo, la siguiente consulta podría devolver los 10 primeros clientes en el estado de Nueva York con el mayor saldo pendiente:

En la mayoría de los casos usted sólo tiene que utilizar JSON Server como un medio para crear una API REST rápida para trabajar con colecciones de documentos. Sin embargo, JSON del servidor puede funcionar como nodo y trabajar con otro middleware Express. Esto le permite añadir más de enrutamiento, la validación y la capacidad de modificar las respuestas de regresar de JSON del servidor.

Con JSON-servidor, los datos en sí se almacena en un archivo JSON simple llamado db.json que se puede llenar a sí mismo simplemente editando el archivo. Puede también escribiendo algo de código para cargar con datos aleatorios. He usado esta característica, junto con generar 1000 de los registros de "empleado" para un proyecto de prueba. JSON del servidor es alimentado por la cual es una sencilla base de datos en memoria Javascript. Como tal JSON-Server no está diseñado para hacer frente a grandes cantidades de datos o muchos usuarios al mismo tiempo. JSON-servidor no está diseñado para su uso en producción. No es el problema de escala mencionado anteriormente y no tiene mucho en el camino de características de seguridad para proteger los datos. Me he limitado mi uso de esta herramienta para defender los servicios rápidos para prototipos o simplemente actúa como servidor back-end mientras yo estoy aprendiendo nuevas herramientas de desarrollo del lado del cliente. Dependiendo de sus necesidades sino que también podría funcionar bien para aplicaciones de bajo volumen incluidos los que se ejecuta como una aplicación embebida. Para los propósitos de demostración / prototipos JSON del servidor debe probablemente encaja de herramientas de cualquier desarrollador del lado del cliente. Para ayudarle a empezar, la gente de Egghead.io también tienen una para que usted pueda ver. Parse.com NOTA: Este artículo fue escrito antes del 01/28/16 en que el servicio se suspenderá a partir del 28 de enero de 2017. He decidido mantener el contenido de este artículo porque Parse tiene abierto el origen y por lo tanto la contenido que figura a continuación todavía se puede aprovechar para utilizar el servidor Parse como medio para acoger una API. Sin embargo, ya no se puede confiar en Analizar para alojar su contenido para el largo plazo. Tendrá que ejecutar el servidor del intérprete en la Heroku, Amazon AWS, IBM bluemix, u otro proveedor de su elección. Parse.com es a menudo considerado como un BAAS (Backend as a Service) proveedor para muchas aplicaciones web y móviles. Con una solución de Parse, su aplicación siempre se encuentra alojado en Parse.com. Hasta la disponibilidad de Parse servidor, no fue posible ejecutar análisis sintáctico en sus propios servidores o en un proveedor de nube diferente. Muchos desarrolladores se centraron en la construcción de soluciones de forma rápiday que no desean asumir la carga adicional de la gestión del alojamiento a su vez su aplicación a un BAAS como Parse. Estos proveedores BAAS también son a menudo una gran manera de ponerse de pie una API rápidamente. Analizar almacena sus datos en MongoDB, pero abstrae los detalles de su aplicación Mongo. Como tal que nunca interactuar con MongoDB directamente. En su lugar, se utiliza el tablero de instrumentos Analizar para definir una serie de "clases" que actúan como colecciones en MongoDB. Analizar también proporciona un navegador de datos que le permite interactuar con los datos que han sido almacenados. Una vez que se han establecido las colecciones se puede utilizar el Analizar para interactuar con la colección. La API REST le permite realizar las operaciones típicas CRUD contra la clase que ha definido en Parse.com. Además, la API REST permite que usted provea parámetros adicionales de cadena de consulta para consultar, limitar y cambiar el orden de los resultados devueltos. Por ejemplo, si queríamos devolver los 10 empleados añadidas más recientemente en el estado de Nueva York un HTTP GET podría emitirsecomo esto - Además de la API REST, Parse también tiene varios que cubre iOS, Android, Javascript. Sin embargo, si usted está buscando para utilizar analizar simplemente como una plataforma para almacenar temporalmente los datos a la espera de una API de plena producción esté disponible usted puede ser mejor de pegarse con la API REST como los SDK Parse son específicos para analizar y no lo harán ser utilizable contra otros puntos finales. A menudo, usted quiere añadir un poco de lógica personalizada para la capa de API. Parse apoya esta en una de dos maneras. Puede escribir "Código de la nube" que suministran "desencadenantes" que son llamadas cuando se producen eventos específicos en sus clases. Analizar ofrece la posibilidad de llamar a su código antes y después de guardar y eliminar operaciones. El disparador "afterSave" se dispara cuando un proceso de almacenamiento se emitió contra una clase. Para registrar su código para ser llamado cuando algo se guarda haces algo como esto: Parse.Cloud.afterSave ( "Todo", la función (petición) {  var = toDoTitle request.object.get ( "título");  console.log ( "acaba de actualizar:" toDoTitle); });Analizar también es compatible con las funciones del código de la nube que pueden ser invocados a través de la API REST. Esto le permite realizar múltiples operaciones Parse con una solicitud HTTP POST. En su HTTP POST, se puede pasar un objeto JSON para una función del código de la nube que luego puede validar la solicitud y realizar múltiples operaciones Parse.com. Además de crear triggers y funciones que se ejecuten en Parse.com, también puede ponerse de pie una página web dinámica completa sobre Analizar el uso del marco Nodo Express. Sin embargo, en este punto se estará escribiendo una buena cantidad de código y la noción de "rápido" se pueden perder. Aún así, es bueno tener la opción de ampliar en una aplicación de nodo completo si lo justifiquen los requisitos. Sólo ten en cuenta que si usted es un desarrollador de la aplicación Nodo Analizar actual sigue utilizando Express 3 y no es compatible con los módulos de la NGP. Express 3 está ahora oficialmente obsoleta y la mayoría de los desarrolladores prefieren utilizar expreso 4. Teniendo en cuenta estas limitaciones, la mayoría de los desarrolladores de nodo es probable que desee para alojar sus aplicaciones en otros lugares y Parseha establecido una para este fin. Analizar ha sido una buena elección para soluciones de tamaño pequeño y medio en el que no desea ser anfitrión de la API de sí mismo y en donde los datos pueden ser alojados dentro del entorno Parse.com. Analizar ha ofrecido una bastante generoso capa gratuita de servicio que permanecerá en vigor hasta la fecha de cierre de 29/01/2017. Esto incluye 20 GB de almacenamiento y soporte para 30 solicitudes / por segundo. los volúmenes de transacción más elevados y niveles de almacenamiento de datos se pueden citar el uso de su. En una entrada de blog hace poco tiempo nos mostró una solución IO en favor de que utiliza Analizar para almacenar los valores de medición de temperatura y enviar notificaciones push. Analizar funcionó muy bien para este proyecto, pero algunos proyectos que pueden requerir la API se encuentra alojado en otro lugar o acceder a datos que no está en Parse.com. O tal vez usted está almacenando datos que deben cumplir con los requisitos de seguridad específicos que Parse.com no está certificado para. El recientemente lanzado ahora será necesario que alojar el servidor y una base de datos MongoDB asociadotú mismo. La viabilidad a largo plazo de la Parse servidor aún se desconoce como Facebook acaba de lanzar ese código a la comunidad y que tomará tiempo para ver si una comunidad se mueve hacia adelante con esta solución de código abierto. Mientras tanto, hay otras soluciones a tener en cuenta, así ... JustAPIs Esta es una solución de AnyPresence que también suministra una gama completa de productos mucho más allá del espacio de API. La solución proporciona un proceso de puerta de enlace API de ejecución a nivel local que se puede configurar para llegar a los extremos remotos o devolver los datos estáticos. JustAPIs puede trabajar con los puntos finales que apoyan MongoDB, PostgreSQL, Microsoft SQL Server, y MySQL. También puede trabajar con los servicios REST y SOAP. JustAPIs no es una solución en la nube, aunque se puede alojar el producto en varios proveedores de nube. Para el desarrollo, se puede descargar una solución de envasado completa que se ejecuta en Linux, OS X o Windows. Cuando se ejecuta como un servidor de desarrollo, las configuraciones de la API se almacenan en una base de datos SQLite incrustado. Para la produccióndespliegues, varios servidores pueden compartir una configuración mediante el almacenamiento de la configuración en una base de datos PostgreSQL. El producto está libre para su uso en una capacidad de desarrollo limitado, pero las implementaciones de producción requiere una licencia de pago. Los términos de la licencia libre no son tan generosos como las otras ofertas mencionadas en este artículo. JustAPIs ofrece un enfoque algo diferente a la construcción de APIs para acceder a cosas como una base de datos. Se proporciona una herramienta de administración basada en navegador que permite definir los puntos finales de API y luego escribe pequeñas cantidades de Javascript para validar las solicitudes entrantes y redirigirlos a "extremos remotos". Estos extremos remotos pueden ser un motor de base de datos o puede ser otro servicio REST HTTP. JustAPIs proporciona la capacidad para orquestar múltiples solicitudes de back-end de una sola solicitud de API de entrada también. Esta característica le permite crear una API más eficiente para los usuarios móviles mediante la reducción del número de red solicita una aplicación cliente tendrá que hacer con el fin de llevar a cabo una determinadaoperación. La siguiente captura de pantalla muestra la definición de un punto final de la API que recupera los registros de clientes desde una instancia de MongoDB. El código que proporcione debe definir en primer lugar la solicitud al extremo remoto. El siguiente ejemplo muestra cómo podemos tratar a un parámetro de cadena de consulta opcional para especificar qué estado nos gustaría obtener los clientes de. var id = request.vars.id; var query = {}; si ( "estado" en request.query) {    log ( "Usted solicitó:" request.query [ "estado"]);    query = {Estado: request.query [ "estado"]}; } mongo.request = new AP.Mongo.Request (); mongo.request.find ( "clientes", consulta);  Observe cómo el código anterior crea la consulta y lo envía fuera al extremo remoto configurado para ser cumplido. JustAPIs contiene varios objetos que le permiten trabajar con bases de datos SQL y NoSQL. Cuando se recibe una respuesta desde ese punto final de su segundo fragmento de código Javascript se llama - log ( 'Respuesta recibida'); response.statusCode = 200; response.body = JSON.stringify (mongo.response.data);En este caso, estamos tomando los datos recibidos de MongoDB y simplemente devolver toda la respuesta al cliente. Sin embargo, se puede hacer de post-procesamiento adicional de la respuesta si se desea. Un punto clave con estos ejemplos de código es que se debe escribir código para que las consultas que se ejecutarán. Es necesario establecer un código como este para cada operación que desea realizar la base de datos back-end. Si usted tiene un gran número de diferentes tablas y operaciones para apoyar contra esas tablas que puede tomar algún tiempo para definir todos los puntos finales. Hablando de código, mientras que se puede suministrar fragmentos de código Javascript como hemos visto más arriba, toda la edición de código se realiza dentro del entorno basado en navegador. Por lo que yo puedo decir que no es posible utilizar otros editores de la NGP, o cualquier transpilers Javascript con esta solución. La depuración se limita esencialmente a la utilización de declaraciones de registro. Estas limitaciones son vale la pena teniendo en cuenta si considera que sus necesidades futuras requerirán máscódigo personalizado. Sin embargo, si sus necesidades son bastante sencillos, que está buscando una herramienta que puede servir como una capa de orquestación de principios activos y de querer estar en funcionamiento rápidamente JustAPIs podría ser la solución correcta. Tenga en cuenta Anypresence ofrece más funciones más allá de JustAPIs como parte de su cartera de productos completa, incluyendo herramientas de la API de gestión de clientes, desarrolladores SDK, y una oferta BAAS. DreamFactory DreamFactory toma un enfoque diferente para la construcción de una API para acceder a una base de datos. Se crea automáticamente una API para las tablas de base de datos o colecciones te registras en su utillaje. No hay necesidad de escribir fragmentos de código para cada tabla o una colección que desea exponer a través de una API REST. DreamFactory puede ejecutar de forma local o en un proveedor de alojamiento de su elección. El producto es gratis, pero el apoyo y una versión de "empresa" están disponibles a un costo adicional. DreamFactory es compatible con una sorprendentemente amplia gama de servicios de bases de datos back-end incluyendo MongoDB, CouchDB, Amazon Dynamo DB, AzureTabla de almacenamiento, PostgreSQL, MySQL, SQLite, Oracle, MS SQL Server, IBM DB2, SQL y SAP en cualquier lugar. También proporciona API REST para la nube proveedores de almacenamiento de archivos como Amazon S3, Azure Blob de almacenamiento, y Rackspace Cloud File. También tiene la posibilidad de realizar llamadas a otras API REST que admita llamadas a los servicios web SOAP también. Para empezar, se puede desde el sitio DreamFactory. Observe que hay dos Cloud y los instaladores locales. DreamFactory acogerá también de forma gratuita sus servicios en su sitio, pero con esta opción, la capacidad de crear secuencias de comandos personalizadas para aumentar su API no está disponible. Una vez instalado el producto puede lanzar la aplicación desde el navegador ya y proceder a la pestaña servicios. Aquí es donde se pueden definir las conexiones a bases de datos back-end. Uso del panel de servicio, es fácil de conectar a un servidor existente. DreamFactory también paquetes MySQL y MongoDB con la instalación del producto por lo que ni siquiera tiene que levantarse un servidor de base de datos independiente. Una vez que el servicio tieneDreamFactory sido definido utiliza automáticamente Swagger para generar documentación de la API para el nuevo servicio. Los documentos generados se verán así Al hacer clic en una fila, se le presentará con una forma que le permite especificar varias opciones por lo que la colección que desea obtener datos de, especifique los filtros, los límites, y ordenar los resultados. Después de completar el formulario, usted puede golpear el botón "Pruébalo" y la consulta se mostrará en su navegador junto con la API REST completa llamas que se necesita es cuestión de obtener el mismo resultado de su aplicación. Tenga en cuenta la estructura de la dirección URL que se utiliza para interactuar con la colección MongoDB (tabla). Todas las colecciones se accede a través de una referencia _table en el camino con todo el filtro, por orden, y las opciones de límites especificados como parámetros de cadena de consulta. Para crear una nueva entrada al cliente nos emitir un HTTP POST con este cuerpo {   "recurso":[      {         "Id": "ABC12",         "Fname": "John",         "Lname": "Johnson","E-mail": "john@acme.com",         "Estado": "NY"      }   ] }  Si el documento se ha añadido a la colección MongoDB obtendrá una respuesta HTTP 200 con una respuesta JSON que se ve algo como esto {   "recurso": [  {  "_id": "56991ce82454c96b46d63af1"  }  ] }  Además de apoyar las operaciones normales CRUD en tablas SQL y NoSQL colecciones, la API generada es compatible con la capacidad de consultar el esquema de base de datos e incluso alterar el esquema para crear nuevas tablas o cambiar los existentes. Todo el acceso a la API se controla a través de roles para que pueda limitar lo que las operaciones de cada usuario autenticado puede realizar contra el backend. Al igual que con la solución JustAPIs usted tiene la capacidad de escribir algo de pre y post lógica de procesamiento que envuelven sus solicitudes de API. El uso de este, puede realizar una validación o manipular la respuesta antes de enviarla de nuevo a la aplicación solicitante. Estos scripts están escritos en Javascript y se gestionan a través de la interfaz del navegador de administración. Comocon JustAPIs, debe utilizar el editor basado en navegador para mantener las secuencias de comandos. No hay posibilidad de usar la NGP, transpilers, oa nivel de fuente depuradores. En el lado positivo, los buques con DreamFactory (un superconjunto de) y también se puede suministrar archivos adicionales JS que se puede require () en su aplicación. DreamFactory proporciona la capacidad de escribir puntos finales de servicios personalizados que pueden ser utilizados para las llamadas de servicio, pero el Javascript para este también es manejada en la interfaz del navegador de administración y parece el más adecuado para pequeños scripts. DreamFactory es una forma muy rápida de obtener una API en marcha y funcionando en un origen de datos existente. Su apoyo script proporciona cierta capacidad para realizar la validación del lado del servidor y la orquestación, sin embargo, el soporte para la edición y el módulo de gestión actual Javascript no está en el nivel que la mayoría de los desarrolladores de JavaScript del lado del servidor que se esperan. Como tal DreamFactory es una buena opción para los desarrolladores que quieren destacar rápidamente una API para las fuentes de datos, pero no requieren una gran cantidad decódigo personalizado para sus puntos finales de API. StrongLoop LoopBack lleva más de un enfoque centrado en el código de la construcción de las API. Su objetivo es acelerar el desarrollo de aplicaciones de nodos que actúan como una API para bases de datos. Una aplicación LoopBack es una aplicación de nodo y puede correr donde quiera que esté en condiciones de desplegar aplicaciones de nodo. Gran parte de su trabajo de desarrollo con LoopBack estarán en código Javascript y la creación de los archivos de configuración de JSON en lugar del enfoque IDE basado en navegador utilizado por las otras herramientas. StrongLoop proporciona una herramienta de línea de comandos, llamado SLC, que se puede utilizar para generar el andamiaje para su aplicación. La generación de código se realiza mediante el generador de código popular usado para proyectos de andamios con muchos marcos de Javascript. LoopBack está disponible de forma gratuita para su implementación tanto en entornos de desarrollo y producción. StrongLoop tiene productos adicionales disponibles para su compra a través de un modelo de suscripción que ofrecen conectores de vigilancia, de perfiles y de fuentes de datos adicionales. porejemplo, las conexiones a Oracle, SQL Server, SOAP, ATG, y SharePoint están disponibles sólo a través de una suscripción de pago. Las conexiones a fuentes de datos como MongoDB, PostgreSQL y MySQL son gratuitos. También hay varios disponibles para apoyar cosas como CouchDB, ArangoDB, y SQLite. StrongLoop es tan fácil como entrar en una nueva gestión pública comando NPM instalar strongloop -g. Ahora ya está listo para utilizar el generador de aplicaciones para crear una nueva aplicación a través del bucle de retorno SLC comando. Esto inicia un generador de aplicaciones que le pedirá una serie de preguntas y luego crea la aplicación LoopBack en el directorio de su elección. Como se ha mencionado antes, LoopBack es un marco para la exposición de las fuentes de datos back-end a través de una aplicación de nodo. LoopBack expone cada mesa, o una colección, en el origen de datos back-end como un "modelo". LoopBack debe estar configurado para exponer específicamente cada backend tabla de origen de datos como un modelo. El modelo define los campos de la fuente de datos subyacente que están expuestas a través de laAPI. Una forma de hacerlo es a través de la herramienta de generador de modelos que también forma parte de la interfaz de línea de comandos de bucle SLC SLC: modelo. Este comando le pedirá una serie de preguntas para nombrar el modelo y especifique cada una de las propiedades (campos) de ese modelo. Éstos corresponden a los nombres de las columnas de los campos de la tabla de origen de datos back-end. Se dará cuenta de que una vez que el modelo haya completado el directorio / common / modelos contendrá un archivo JSON y JS para cada modelo se crea. Ellos son lo suficientemente simple para editar en cualquier editor de texto. Si lo prefiere, simplemente puede crear y actualizar los archivos por sí mismo en lugar de utilizar las herramientas de línea de comandos. StrongLoop también ofrece una herramienta llamada ARC que proporciona una interfaz de usuario basada en navegador que le permite editar los esquemas para sus modelos, además de la gestión de procesos StrongLoop, donde se presentan las métricas, etc. Aquí hay una captura de pantalla del módulo de compositor de la modificación del modelo para un ejemplo de aplicación Otro manera de construir modelos es a través de un proceso llamadodescubrimiento. Arco proporciona una para la construcción de modelos a partir de los esquemas que se encuentran en bases de datos SQL tradicionales como MySQL, PostgreSQL o. Esta herramienta de descubrimiento no funciona para bases de datos NoSQL como MongoDB porque las bases de datos NoSQL colecciones en general no tienen un esquema fijo. en general, he encontrado que lo mejor es simplemente construir el modelo de sí mismo basado en su comprensión de la estructura del documento que figura en la colección que desea basar el modelo sobre el. Si se encuentra en una situación donde no existen las tablas de la base todavía LoopBack pueden ayudar también. Un proceso llamado "la migración automática" creará las tablas o colecciones en el back-end para que coincida con sus definiciones de modelos. Una vez que los modelos han sido definidos y sus fuentes de datos se han configurado ya está listo para probar la API REST que proporciona LoopBack. Debido a que su aplicación es una aplicación de nodo puede simplemente inicia desde la línea de comandos usando nodo. Esto iniciará no sólo la API REST, sino también una aplicación explorador API que le permitirá interactuarcon los métodos que están expuestos en sus modelos. Bucle cerrado utiliza fanfarronería para generar la documentación de la API de interfaz de usuario. Se parece mucho a la documentación de la API que se genera por DreamFactory excepto que esta documentación es específica para cada modelo (tabla) que haya definido. Puede acceder a la API en el explorador: Al igual que con DreamFactory hay un botón "Try It Out" que nos permite llamar a la API y la vista de la respuesta. La siguiente captura de pantalla muestra el contenido de la colección nuestros clientes MongoDB. Los resultados se pueden filtrar, ordenar, y limitadas a un número específico de filas también. La sintaxis de la API REST para esto es un poco inusual y más complejo y / o frases puede ser un poco tedioso para especificar directamente a través de la API REST. He aquí una simple consulta que devuelve los clientes en el estado de Nueva York ordenados por el apellido. DESC y del filtro [límite] = 10 Una de las características más me gusta de LoopBack es que se puede aumentar fácilmente los modelos para exponer métodos remotos adicionales en el modelo. Esto permite la creación de la costumbremétodos que pueden simplificar los parámetros de las personas que llaman a su API tienen que pasar el fin de recuperar los resultados que desean. Para ayudar a escribir su LoopBack métodos remoto proporciona un objeto de la API de nodo para cada uno de sus modelos. Esta API proporciona una manera conveniente para llamar a la fuente de datos subyacente y resultados volver. El fragmento de código JS a continuación muestra cómo la API de nodo se puede utilizar para consultar un modelo para los clientes en un estado determinado, ordenar el conjunto de resultados por el apellido, y devolver los 10 primeros resultados. getByState función (estado, cb) {    devolución del cliente      .encontrar({        donde: {Estado: Estado},        orden: 'lname DESC',        límite: 10      });  }  LoopBack requiere además que se registre cada método a distancia se crea para que sepa cómo encaminar la ruta de solicitud entrante a su función de Javascript. Eso se hace mediante la llamada remoteMethod () de la siguiente manera Customer.remoteMethod (    'GetByState', {      http: {        ruta: '/ getByState /: Estado »,        verbo: "conseguir"      },      Acepta: {arg: "Estado",        Tipo: 'cadena',        http: {          fuente: "camino"        }      },      devoluciones: [        {          arg: "resultado",          Tipo: "objeto"        }      ]    }    );  El código anterior se registra un camino de / getByState /: estado en el "Estado:" es un parámetro que se pasará a la función. Esto estaría expuesto como criterio de valoración como los métodos remotos puede servir como una manera para que pueda orquestar varias llamadas a la API en una sola. También es posible añadir "ganchos", que se disparará antes y después de que se lee un modelo, creado o actualizado. Esto permite llevar a cabo la validación contra del modelo antes de ser salvados y también aumentan los valores devueltos por el modelo. Además de los ganchos del marco LoopBack se basa en el marco muy popular. Como tal, los conceptos de expreso se pueden aplicar aquí también. Uno de ellos es el concepto de middleware que le permite insertar funciones que se ejecutan durante el ciclo de vida de una petición y se pueden utilizar para la autenticación,validación, registro y control de errores. Una de las cosas buenas de estar basado en Express es que su aplicación LoopBack no sólo tiene que servir a las respuestas a través de la ruta / api. Usted es libre de aprovechar su aplicación para devolver una interfaz de usuario web, así como lo haría con cualquier otra aplicación Express. Sin embargo, ahora que usted ha definido sus modelos en LoopBack puede aprovechar el poder de la API Nodo sus modelos exponen a partir del código del lado del servidor web generación. LoopBack también proporciona un directorio del cliente en cualquier HTML estático, CSS y JS se pueden colocar. Estos serán servidos al usuario cuando llegan al servidor directamente gusta. Además, el router para Express está expuesta para que pueda definir rutas adicionales si desea que el lado del servidor para procesar las solicitudes específicas más allá de la trayectoria incorporada / api. Desde LoopBack es una aplicación Nodo todas las herramientas de depuración estándar para trabajar con aplicaciones de nodo se aplican aquí también. StrongLoop ya mantiene el popularnode-inspector de depurador a nivel de fuente para aplicaciones de nodo en. Tienen que en la interfaz de línea de comandos, así StrongLoop a través del comando "depuración SLC". Para hacer más fácil el desarrollo del lado del cliente, StrongLoop proporciona SDK de cliente para varias tecnologías del lado del cliente. Éstas se centran en la abstracción de las llamadas en función RESTO subyacente a través de HTTP lejos del desarrollador del lado del cliente y les permite pensar en términos de modelo de objetos similares a los expuestos en la definición de la API REST. Los SDK actualmente soportados incluyen: iOS Android angular Xamarin Más ejemplos del uso de LoopBack se pueden encontrar en su. Estos muestran rápidamente cómo se definen los modelos, las relaciones pueden ser expresadas entre los modelos y consultas ad hoc van desde la API de nodo y los diversos SDK del cliente. Seguridad en LoopBack se gestiona a través de los usuarios, los permisos y papeles al igual que con los otros productos que hemos visto. LoopBack proporciona su propio modelo de usuario con instalaciones para apoyar las contraseñas olvidadas, etc. También es posibleintegrar a otros a través de la popular middleware de autenticación para el nodo. LoopBack ofrece una gran cantidad de capacidad, pero requiere un poco más de la inversión inicial de su parte. Sin embargo, el resultado final es una API flexible que puede crecer con sus necesidades a una solución de producción completa. StrongLoop ha sido recientemente adquirida por IBM y está recibiendo una mayor inversión en la mejora del producto. Yo esperaba ver un crecimiento significativo en LoopBack durante 2016. Resumen: En este artículo, hemos visto soluciones de API abarcan desde una simple herramienta de línea de comandos vuelta de la llave como JSON-servidor a un servidor de aplicaciones con todas las funciones como bucle de retorno. La elección de la herramienta a utilizar es realmente depende de sus necesidades. Para demostraciones muy rápidos y prototipos, JSON-servidor puede ser totalmente adecuada, pero no es una solución que realmente se puede aprovechar para una aplicación de producción. Parse.com ha sido una buena solución en el pasado si usted está muy bien que alberga su aplicación con Parse y están bien con el código de forma y los datos se gestiona en Analizar. Sin embargo, dadaEl anuncio de cierre reciente de análisis sintáctico muestra que el potencial de algún riesgo permanece en la elección de cualquier proveedor basado en la nube. La elección entre JustAPIs y DreamFactory es más de lo que se espera de la herramienta API. JustAPIs no se trata tanto de forma automática la construcción de una capa de acceso a datos para usted, ya que se trata de orquestar y resumen de los servicios a distancia subyacentes de los usuarios de la API. DreamFactory adopta el enfoque de establecer rápidamente una API REST para todas las tablas en el origen de datos. A pesar de una pequeña cantidad de la inversión adicional en el tiempo de configuración, LoopBack es probable que sea elegido por los desarrolladores que ya están familiarizados con el Nodo. Esto les permite aprovechar los conocimientos que ya tienen y se pueden personalizar para adaptarse a casi cualquier requisito de aplicación también en la producción. Hay una cosa a tener en cuenta al utilizar estas herramientas. Las abstracciones CRUD rápidamente construido sobre mesas individuales exponen estas herramientas a través de su API REST pueden no ser la mejor manera de recuperar o actualizar datos paramuchas situaciones. A menudo nos encontramos con la necesidad de realizar las transacciones que implican la lectura de datos de varias tablas y, a continuación, en última instancia la actualización de 1 o más tablas. Escribir la lógica del lado del cliente para llevar a cabo todas estas operaciones a través de una API REST que sólo es compatible con las operaciones CRUD sola tabla tiene varias desventajas. Entre ellas se encuentran: La duplicación de la lógica: Si usted tiene más de una aplicación cliente - IOS decir, nativo de Android y aplicaciones web que tienen que duplicar la lógica de operación de que todas las implementaciones de aplicaciones. Esto se suma a tiempo de desarrollo como el proceso tiene que ser repetido por diferentes desarrolladores de expertos en una tecnología del lado del cliente particular. La consistencia de aplicación: Se debe tener cuidado para asegurar ningún cambio de código para una determinada transacción se apliquen consistentemente a través de sus diversas aplicaciones de cliente y que esos cambios están desplegados en un plazo similar también. Múltiples implementaciones significa que tenga al control de calidad de esta funcionalidad en cada plataforma de cliente para asegurar laconsistencia. El tráfico de red: Hacer todas esas llamadas a través de HTTP puede realmente las cosas más despacio. Esto es particularmente en las redes celulares donde la latencia es probable que sea bastante alto. Para prototipos de visión y demostraciones de las consideraciones anteriores pueden no ser un factor importante, pero los hemos encontrado que es un problema importante en las aplicaciones de producción. Su elección de herramientas API para cualquier solución de producción debe tener en cuenta estas cuestiones. También es importante tener en cuenta que hay plataformas de administración de la empresa API como Apigee y MuleSoft que son principalmente centrado en escenarios de producción a gran escala. Estos proporcionan mucha más capacidad en torno a la seguridad, los ratios de uso, desarrollador API de aprovisionamiento clave, etc. Probablemente no es el tipo de cosas que hay para un prototipo rápida, pero bien vale la pena considerar para una solución de producción. Una cosa es segura; usted tiene un montón de opciones de tecnología en el camino a la selección de una herramienta. Viajes seguros.

Previous Post     Next Post


TAGS


CATEGORIES

.