Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MEAN Stack

228 views

Published on

Es un framework o conjunto de subsistemas de software para el desarrollo de aplicaciones, y páginas web dinámicas, que están basadas, cada una de estas en el popular lenguaje de programación conocido como JavaScript. Gracias a esta característica el conjunto se integra exitosamente en una plataforma auto-suficiente.
Cada subsistema del Mean stack es de código abierto y de uso gratuito.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

MEAN Stack

  1. 1. Universidad Tecnológica de Panamá Facultad de Ingeniería de Sistemas Computacionales Maestría en Seguridad de la Información Seguridad en Base de Datos Presentación #1: MongoDb MongoDB Presentado por: Moreno, José Muñoz, Andrea Rodriguez, Carlos Prof. Xiegdel Miranda
  2. 2. 0 MEAN Stacks 1 ¿Que son? 2 Componentes 3 Framework JavaScript 4 Ventajas y Desventajas Clasificar amenazas 6 Terminologías 7 Instalación MongoDB 8 Guía Rápida 9 Demo Contenido
  3. 3. MEAN Stacks
  4. 4. Es un framework o conjunto de subsistemas de software para el desarrollo de aplicaciones, y páginas web dinámicas, que están basadas, cada una de estas en el popular lenguaje de programación conocido como JavaScript. Gracias a esta característica el conjunto se integra exitosamente en una plataforma auto-suficiente. Cada subsistema del Mean stack es de código abierto y de uso gratuito. ¿Qué son?
  5. 5.  MongoDB: base de datos no relacional. El stack no te obliga, en absoluto, a usar MongoDB.  Express JS: middleware extraordinariamente sencillo y potente para la generación de aplicaciones web.  AngularJS: aproximación declarativa al desarrollo de interfaces de usuario extraordinariamente potente. Te permite implementar MVC (o MVVC, depende de los gustos) en el lado del cliente web, de manera que la lógica de presentación.  NodeJS: framework de servidor con un universo de módulos increíble y en expansión que te permite escribir en javascript aplicaciones de servidor siguiendo un modelo de programación por eventos. NodeJS, como framework, se puede usar para muchos escenarios: uno de ellos (y ni mucho menos el único, aunque se suele confundir) es el desarrollo de aplicaciones web. Componentes
  6. 6.  Te permite escribir una aplicación web de principio a fin usando javascript como único lenguaje, si bien las librerías que se usan en el front-end son distintas, lógicamente, de las que se usan en el lado del back-end con NodeJS.  AngularJS, bien usado, te libera de la necesidad de manipular directamente el DOM del navegador, permitiéndote escribir de manera declarativa gran parte de la funcionalidad de la interfaz de usuario, pero, sobre todo, desacoplando la lógica del cliente siguiendo el patrón modelo-vista-controlador y por ello permitiéndote escribir tests.  Existen frameworks de tests elegantes tanto para el front-end como para el back-end. Ventajas
  7. 7.  El stack te permite poder escribir fácilmente aplicaciones SPA (single page application) en las que el cliente web mantiene gran parte de la lógica de aplicación y el lado del servidor implementa la API necesaria para darle soporte, ahorrando así continuos requests http completos de todo el documento html y sus artefactos software.  Dispones de un alto grado de control de todas las cosas que son de más bajo nivel (gestión de cookies, cabeceras, routing, etc.) pero al mismo tiempo están suficientemente abstraídas para que su uso sea trivial. Ventajas
  8. 8.  La curva de aprendizaje es un poco lenta  Poca documentación debido a su poco tiempo de disponibilidad  Angular es a veces muy verboso y complicado y puede ser una mucho para aplicaciones y sitios web simples.  Mongo no es muy confiable ni estable como las bases de datos relacionales y requiere de un administrador de base de datos con experiencia para la producción de aplicaciones. Desventajas
  9. 9. Sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto. Guarda estructuras de datos en documentos similares a JSON con un esquema dinámico (utiliza una especificación llamada BSON) haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida. Desarrollado en octubre de 2007 por la compañía 10gen y contando con implantaciones en empresas como MTV Network, Craiglist o Foursquare. Es compatible con los sistemas operativos Windows, OS X y Linux. MongoDB
  10. 10. Consultas AD HOC Soporta búsquedas por campos, consultas de rangos y expresiones regulares. Pueden devolver un campo específico del documento o una función JavaScript definida por el usuario. Indexación Cualquier campo en un documento MongoDB puede ser indexado, al igual que es posible hacer índices secundarios. Replicación Soporta el tipo de replicación primario-secundario y son denominados replica set. Los primarios se pueden usar para lectura y escritura mientras que los secundarios replican los datos del primario y solo se usa para lectura o copia de seguridad. Características
  11. 11. Balanceo de Carga Tiene la capacidad de ejecutarse en múltiples servidores, balanceando la carga y replicando los datos para poder mantener el sistema funcionando en caso que exista un fallo de hardware. Almacenamiento de Archivos MongoDB puede ser utilizado como un sistema de archivos, tomando la ventaja para el balanceo de carga y la replicación de datos utilizando múltiples servidores para el almacenamiento de archivos. Esta función se llama GridFS y es mas bien una implementación de los drivers por lo que viene incluida en los drivers oficiales que la compañía desarrolla. Características
  12. 12. Database MongoDB todavía puede contener varias bases de datos de nombres diferentes dentro de un paquete de instalación, al igual que MySQL. Pero dentro de las bases de datos hay colleciones, no tablas. Collections Puede ser considerado como una tabla excepto que no hay columnas alineadas. Cada entrada (fila) puede utilizar esquemas dinámicos que varían. Terminología
  13. 13. Document Cada entrada o fila dentro de una colección es llamada como documento. No existen documentos como .txt o .html. Ellos son los bloques de datos JSON almacenados en archivos mapeados en memoria que se comportan como entradas separadas en sus colecciones. Terminología
  14. 14. Instalación
  15. 15. Instalación
  16. 16. Instalación
  17. 17. Instalación
  18. 18. Instalación
  19. 19. Instalación
  20. 20. Instalación
  21. 21. Instalación
  22. 22. Instalación
  23. 23. Instalación
  24. 24. Instalación
  25. 25. Instalación
  26. 26. Instalación
  27. 27. Instalación
  28. 28. Instalación
  29. 29. Instalación
  30. 30. Instalación
  31. 31. Instalación
  32. 32. Instalación
  33. 33. Instalación
  34. 34. Instalación
  35. 35. Instalación
  36. 36. Instalación
  37. 37. Instalación
  38. 38. Instalación
  39. 39. Instalación
  40. 40. Instalación
  41. 41. Instalación
  42. 42. Instalación
  43. 43. Instalación
  44. 44. Instalación
  45. 45. Instalación
  46. 46. Instalación
  47. 47. Hoja de trampa
  48. 48. Hoja de trampa
  49. 49. Hoja de trampa
  50. 50. 1 - Instalación de Mongo en ubuntu con el stack mean https://www.howtoforge.com/tutorial/how-to-install-mean.json-ubuntu-15-04/ 2 - Información o equivalencias entre base de datos relacionadas y las no sql http://www.hongkiat.com/blog/webdev-with-mongodb-part1/ 3 - Hoja de Trampa Mongo https://www.cheatography.com/ovi-mihai/cheat-sheets/mongodb/pdf/ https://blog.codecentric.de/files/2012/12/MongoDB-CheatSheet-v1_0.pdf 4 - Guia Rapida de Mongo https://www.tutorialspoint.com/mongodb/mongodb_quick_guide.htm https://code.tutsplus.com/tutorials/getting-started-with-mongodb-part-1--net-22879 Bibliografía
  51. 51. Gracias!

×