Ventajas de SaaS para usuarios y desarrolladores

Clasificado en Informática

Escrito el en español con un tamaño de 15,91 KB

1. Ventajas para el usuario y desarrollador con SaaS

1. Sin instalación

  • Hardware correcto

  • Marca, velocidad, potencia?

    Versión de SO

  • servicio de almacenamiento de datos, backups

  • pérdida de HW si falla dispositivo

    2. Sin pérdida de información

  • Hace posible la colaboración

  • Grandes volúmenes de datos y frecuentemente actualizados

centralizar

5. Software centralizado

  • frente a variedad de HW y SO (plataforma) el dev elige óptimo

  • testing a grupos de usuarios 6. Control sobre actualizaciones

  • actualizaciones sin efectos colaterales

  • API sujeto a contratos

  • sin intervención de usuario

2. Construcción de aplicaciones web de forma abstracta

1. Definir rutas

El servidor web escucha peticiones y determina qué rutas son conocidas y se procesarán y cuáles no.

2. Configurar la acción para cada ruta

Consiste básicamente en decir al ordenador qué debe hacer para cada ruta/petición

2.1. Habitualmente implica acceso a una base de datos

2.2. Generar una respuesta HTML utilizando plantillas (templates)

Rails ofrece un desarrollo guiado: indica los siguientes pasos seguir o soluciones para la corrección de errores si los hubiera

1. Definir rutas a recursos (API) para su acceso desde navegador (HTTP)

2. Definir acciones de controlador para programar tratamiento de las peticiones

3. Definir vistas para presentar respuestas a las peticiones

3. Discute los conocimientos del diseñador/desarrollador web debe conocer

En el mundo del diseñador web, este debe construir una interfaz para la interacción del usuario con las plataformas de Internet a través de HTML(5), CSS(3) y Javascript.

Desarrollador Web: Debe conocer cómo funciona el Servidor de web, donde se reciben las peticiones y pregunta a la capa lógica para luego dispensar de vuelta las peticiones. Debe también saber cómo funciona la capa lógica porque es donde se escribe el código para programar la aplicación, quien conecta la capa de presentación con la de persistencia (middleware) y que en ella se alojan los controladores, las plantillas y los modelos.

Modelos – Controladores – Vistas

  • Modelo – Contiene toda la información para que sepamos cómo se va a almacenar y operar. Almacenar, cambiar y operar entidades y conecta con la capa de persistencia. El modelo es todo aquello encapsulado en un elemento que guarda la información y la posibilidad de manipulación de los objetos (tablas). El modelo contiene la forma para poder introducir datos a la base de datos. Sobre cada modelo que se define se pueden realizar las acciones CRUD

  • Controlador – Qué acciones se permiten realizar al usuario.

  • Vista – Interacción y visibilidad. Un modelo puede tener varias vistas, pero cada vista se corresponde con una acción/controlador. En Vistas es donde se diseña la interfaz de usuario de la aplicación. Aquí tendría el diseñador web su lugar de trabajo. La generación o composición de la vista en Rails utiliza el concepto de layout para tratar el contenido estático y el de views para generar el contenido dinámico insertándolo en los layouts donde aparece el comando yield.

    o

El sistema de plantillas que ofrece Rails. Una vez configuradas las rutas, los controladores y las acciones asociadas, es necesario construir

una respuesta

.

Rails ofrece un sistema de plantillas muy completo que hace

muy simple este proceso. Cada acción del controlador conduce a un fichero

de vista (view) asociado a cada entidad. Así, si estamos trabajando con cualquier

entidad, existirá habitualmente una vista (view) para cada una de las acciones

declaradas en el controlador. Rails permite que nos concentremos únicamente

en la respuesta de cada acción si trabajamos en el contenido que ofrece cada

vista.

Las tecnologías que debe conocer el desarrollador web: El Servidor web (capa de presentación) se definen las rutas y en el servidor de aplicaciones (capa lógica) se definen las acciones para el acceso a las BBDD y la generación de plantillas de HTML y CSS u otro lenguaje de programación. En la capa de persistencia debe conocer Active Record para operar con los objetos y las BBDD.

El programador hace programas como Photoshop. El desarrollador resuelve problemas para cumplir objetivos. Este se ocupa del HTML y el Javascript para mejorar la interacción del usuario

4. Define la capa lógica y de persistencia

Capa lógica o Servidor de aplicaciones: Aquí se introduce el código para que tu aplicación haga lo que tú quieres que haga. También realiza la función de poner en contacto a la capa de presentación o servidor web con la capa de persistencia o BBDD, por ello se llama Middleware.

Es responsabilidad del Middleware los modelos, los controladores y las vistas. Esta capa también es la que accede y extrae la información alojada en la capa de persistencia. Las migraciones permiten independizarte de la base de datos elegida. Rails se encarga de traducir tu modelo de datos a la estructura requerida por cada base de datos concreta.

Capa de Persistencia o BBDD:

  • En informática, la persistencia se refiere a la propiedad de los datos para que estos

    sobrevivan de alguna manera.

  • En programación, la persistencia es la acción de preservar la información de un objeto de forma permanente (guardado), pero a su vez también se refiere a poder recuperar la información del mismo (leerlo) para que pueda ser nuevamente utilizado.

    De forma sencilla, puede entenderse que los datos tienen una duración efímera; desde el momento en que estos cambian de valor se considera que no hay persistencia de los mismos.

5. Diferencias entre plataforma Github y Heroku

Vamos a introducir las diferencias que existen entre el entorno de desarrollo y el entorno

de explotación o de producción de la aplicación. Por un lado veremos cuál es

la infraestructura necesaria y las opciones para desplegar la aplicación y por otro lado cómo un

entorno de desarrollo como Rails nos ayuda también en esta tarea.

Github: Es un control de versión para la fase de desarrollo de la aplicación. La operaciones habituales del control de versión son identificar los cambios que se realizan en el proyecto para poder gestionarlos y ponerlos a disposición de los demás colaboradores. Para coordinar el continuo desarrollo del proyecto.

El repositorio remoto también se usa como control de versión para gestionar los diversos cambios que hagan los diferentes miembros del equipo de desarrollo. Esta herramienta es muy útil porque

así los demás componentes del equipo se pueden beneficiar de los cambios que haya hecho otro miembro del equipo, sin que se dupliquen competencias. Te puedes beneficiar de un repositorio remoto, pero no de un local.

Diferencias entre los repositorios local y remotos de GitHub: En el remoto permite la colaboración entre desarrolladores. En el local únicamente la creación de copias de seguridad para avanzar o volver atrás en el desarrollo

Heroku: es un Plataform as a Service (Paas) para la fase de producción y despliegue de la aplicación. en el despliegue de la aplicación en la plataforma de Heroku. Es el paso de desarrollo a producción en Rails no exige cambiar el código de la aplicación, simplemente cambiar la configuración de los componentes (gemas) que se utilizarán en ambas etapas. No hay que instalar nada. La infraestructura la pone él. Heroku ajusta la estructura en función de la demanda.

En la producción la arquitectura es diferente. Necesitamos un proveedor de servicios: Heroku es una herramienta y una plataforma para desplegar aplicaciones.
En producción no se puede utilizar sqlite3, utilizamos Postgres.

6. Diferencia entre modelo tradicional y tecnología Ajax

AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas. Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. No se destruye el árbol Dom del navegador por completo, lo que hace es que con cada petición en segundo plano se añaden nodos al DOM. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y usabilidad en las aplicaciones.

Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se solicitan al servidor y se cargan en segundo plano sin interferir con la visualización ni el comportamiento de la página, aunque existe la posibilidad de configurar las peticiones como síncronas de tal forma que la interactividad de la página se detiene hasta la espera de la respuesta por parte del servidor.

JavaScript es un lenguaje de programación (scripting language) en el que normalmente se efectúan las funciones de llamada de Ajax. Este lenguaje modifica modifica el árbol dom para evitar saltos, que la pantalla se ponga en blanco. Es decir, permite modificar el comportamiento por defecto de HTML.

El motor AJAX permite que la interacción del usuario con la aplicación suceda asincrónicamente (independientemente de la comunicación con el servidor). Así el usuario nunca estará mirando una ventana en blanco del navegador y un icono de reloj de arena esperando a que el servidor haga algo.

Modelo tradicional: Con cada petición al servidor se destruye y se vuelve a construir el árbol DOM, restando interactividad a la aplicación. Resta interactividad y experiencia de usuario.

7. Qué es Jquery

jQuery es una biblioteca de JavaScript, que se carga como una hoja de estilos, una diferente para cada navegador. Es un traductor de de Javascript para cada navegador. Permite simplificar la manera de interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web.

Entradas relacionadas: