Ir al contenido principal

1.4 Nuevas tecnologías y aplicaciones de los sistemas de bases de datos

¿Que es un framework?
entorno de trabajo o marco de trabajo es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

Frameworks más populares de Python


Django
Django es un framework Python de pila abierta de código abierto gratuito. Intenta incluir todas las funciones necesarias de forma predeterminada en lugar de ofrecerlas como bibliotecas separadas.


Algunas de las características ejemplares de Django son su autenticación , enrutamiento de URL, motor de plantilla , mapeador de objetos relacional (ORM) y migraciones de esquema de base de datos (Django v.1.7 +).

Django usa su ORM para asignar objetos a tablas de base de datos. El mismo código funciona con diferentes bases de datos y no es difícil transferir de una base de datos a otra. Las principales bases de datos con las que Django trabaja son PostgreSQL , MySQL  , SQLite y Oracle , pero los controladores de terceros le permiten usar otros también.

Aquí en SteelKiwi, usamos Django como nuestro marco principal para el desarrollo de back-end. Si desea ver las increíbles aplicaciones que ya hemos desarrollado con Django, visite nuestra página de Proyectos.

Pirámide

Estrellas de GitHub: 2,640 | Horquillas GitHub: 782
Pyramid es un marco de aplicación web basado en Python de código abierto. Su objetivo principal es hacer todo lo posible con la mínima complejidad.
La característica más sorprendente de Pyramid es su capacidad para trabajar bien con aplicaciones grandes y pequeñas. Algunas de las grandes características de Pyramid incluyen:
  • Aplicaciones de un solo archivo
  • Generación de URL
  • Configuración extensible
  • Especificaciones de plantillas y recursosintegrales
  • Autenticación y autorización flexibles.
  • Pruebas , soporte y documentación de datos completa.
  • Ver predicados y muchas vistas por ruta
  • Decoradores de funciones
  • Predicados
  • Renderizadores

TurboGears


Estrellas de GitHub: 230 | Horquillas GitHub: 56
TurboGears es un marco de aplicaciones web de pila completa de código abierto y basado en datos.
Le permite desarrollar rápidamente aplicaciones web extensibles basadas en datos. TurboGears viene con plantillas fáciles de usar y un ORM potente y flexible.
Algunas de las características distintivas de TurboGears incluyen:
  • Soporte multi-base de datos
  • Arquitectura de estilo MVC
  • Soporte para SQLObject y SQLAlchemy
  • Kid y Genshi incluidos en los idiomas de plantillas preferidos
  • Validación con FormEncode
  • Pilones como servidor web
  • ToscaWidgets, una biblioteca de aplicaciones que simplifica la coordinación del diseño del frontend y el desarrollo del servidor.
  • Plantillas de PasteScript
  • Servidores frontales basados ​​en WSGI (servidor HTTP de pegado , servidor WSGI / HTTP de CherryPy, etc.)
  • Herramientas de linea de comando
  • Integración de la biblioteca MochiKit JavaScript
  • Todas las funcionalidades implementadas como decoradores de funciones.

Web2py

Estrellas de GitHub: 1,536 | Horquillas GitHub: 742
Web2py es un framework Python de pila completa escalable y de código abierto. Sin embargo, antes de seguir leyendo, debes saber que Web2py no admite Python 3.
Sin embargo, lo bueno de Web2py es que viene con su propio IDE basado en la web que, entre otras cosas, incluye un editor de código, un depurador y una implementación con un solo clic.
Otras características valiosas de Web2py incluyen:
  • No hay requisitos de instalación y configuración.
  • Capacidad para ejecutarse en Windows, Mac, Linux / Unix, Google App Engine , Amazon EC2 y cualquier alojamiento web que admita Python 2.5–2.7 o Java + Python
  • Legibilidad de múltiples protocolos.
  • Seguridad de datos que previene vulnerabilidades tales como secuencias de comandos entre sitios, fallas de inyección y ejecución de archivos maliciosos
  • Empleo exitoso de prácticas de ingeniería de software, haciendo que el código sea fácil de leer y mantener
  • Seguimiento de errores, registro de errores y emisión de entradas
  • Control de acceso basado en roles
  • Apoyo a la internacionalización.
  • Compatibilidad con versiones anteriores que garantiza un avance orientado al usuario sin la necesidad de perder lazos con versiones anteriores

Microframados

Matraz

Sitio web oficial | GitHub | PyPI | Increíble
Estrellas Github: 32,959 | Horquillas GitHub: 10,254
Flask es un framework Python disponible bajo la licencia BSD. Fue inspirado en el marco de Sinatra Ruby. Flask depende del kit de herramientas WSGI de Werkzeug y de la plantilla de Jinja2 .
La idea principal detrás de Flask es ayudar a construir una base de aplicación web sólida. A partir de ahí, puedes usar cualquier extensión que necesites.
El diseño ligero y modular de Flask lo hace fácilmente adaptable a las necesidades de los desarrolladores. Incluye una serie de características útiles listas para usar:
  • Una función de servidor de desarrollo y una depuración rápida
  • Soporte integrado para pruebas unitarias.
  • Envío de solicitud RESTful
  • Jinja2 templando
  • Soporte seguro de cookies (sesiones del lado del cliente)
  • Cumplimiento de WSGI 1.0
  • Basado en Unicode
  • Posibilidad de enchufar cualquier ORM.
  • Manejo de solicitudes HTTP

Botella

Sitio web oficial | GitHub | PyPI
Estrellas de GitHub: 5,198 | Horquillas GitHub: 1,065
La botella es un microframework. Originalmente pensado para crear API, Bottle implementa todo en un único archivo fuente . No tiene dependencias aparte de la biblioteca estándar de Python. La codificación con la botella te acerca al metal que la codificación con cualquier marco de pila completa.
Sus características predeterminadas incluyen enrutamiento, plantillas, utilidades y una abstracción básica sobre el estándar WSGI .
  • Enrutamiento: admite solicitudes de asignación de llamadas de función, lo que le permite lograr URL limpias y dinámicas
  • Plantillas: un motor de plantillas rápido y Pythonic listo para usar , junto con soporte completo para mako , jinja2 y guepardo
  • Utilidades: acceso cómodo a datos de formularios, carga de archivos, cookies, encabezados y otros metadatos relacionados con HTTP
  • Servidor: un servidor de desarrollo HTTP incorporado que admite fapws3 , bjoern , GAEСherryPy y cualquier otro servidor HTTP compatible con WSGI
Bottle es una solución perfecta para la creación de prototipos, el aprendizaje de la organización de marcos web y la creación de aplicaciones personales simples.

CherryPy

Sitio web oficial | GitHub | PyPI
Estrellas de GitHub: 595 | Horquillas GitHub: 161
CherryPy es un framework web minimalista de código abierto. Hace que la creación de aplicaciones web de Python no sea diferente a la construcción de cualquier otro programa orientado a objetos.
De hecho, una aplicación web con tecnología CherryPy es una aplicación Python independiente que integra su propio servidor web de múltiples subprocesos. Las aplicaciones CherryPy se ejecutan en cualquier sistema operativo que admita Python (Windows, macOS, Linux, etc.). Se pueden implementar en cualquier lugar donde pueda ejecutar una aplicación Python normal. No necesita las aplicaciones de Apache para CherryPy, pero puede ejecutar una aplicación de CherryPy detrás de Apache tan bien como puede ejecutar detrás de Lighttpd o IIS .
CherryPy no es un marco muy limitante, ya que le permite utilizar cualquier tipo de tecnología para plantillas, acceso a datos, etc. Sin embargo, aún es capaz de gestionar sesiones, estadísticas, cookies, carga de archivos y todo lo que un framework web puede hacer.

Algunas de las características predeterminadas de CherryPy incluyen:

  • Un servidor web agrupado de subprocesos WSGI compatible con HTTP / 1.1
  • Simplicidad de ejecutar múltiples servidores HTTP a la vez
  • Un potente sistema de configuración.
  • Un sistema de plugin flexible.
  • Herramientas listas para usar para almacenamiento en caché , codificación , sesiones , autenticación , contenido estático , etc.
  • Soporte incorporado para perfiles , coberturapruebas
  • Capacidad de ejecutarse en Python 2.7+ , Python 3.1+ , PyPy , Jython y Android

Marcos asíncronos.

Sanic

Sitio web oficial | GitHub | PyPI
Estrellas de GitHub: 8,488 | Horquillas GitHub: 776
Sanic es un marco web de Python creado en uvloop y creado específicamente para respuestas HTTP rápidas mediante el manejo asíncrono de solicitudes.
Se ejecuta en Python 3.5+. Sanic admite controladores de solicitud asíncronos, lo que lo hace compatible con las funciones async / await de Python 3.5. Esto mejora su velocidad, ofreciendo capacidades de no bloqueo.
En una prueba de referencia con un proceso y 100 conexiones, Sanic pudo manejar 33,342 solicitudes por segundo.

Tornado

Sitio web oficial | GitHub | PyPI
Estrellas de GitHub: 15,126 | Horquillas GitHub: 4,432
Tornado es un framework web Python y una biblioteca de redes asíncronas. Utiliza una red de E / S no bloqueante y resuelve el problema de C10k (lo que significa que, si se configura correctamente, puede manejar más de 10,000 conexiones simultáneas).
Esto lo convierte en una excelente herramienta para crear aplicaciones que requieren un alto rendimiento y decenas de miles de usuarios concurrentes.
Las principales características de Tornado son:
  • Soporte incorporado para autenticación de usuario
  • Servicios en tiempo real
  • Rendimiento de alta calidad
  • Lenguaje de plantillas web basado en Python
  • Cliente HTTP sin bloqueo
  • Implementación de esquemas de autenticación y autorización de terceros ( Google OpenID / OAuth , Facebook Login, Yahoo BBAuth , FriendFeed OpenID / OAuth, Twitter OAuth )
  • Soporte para traducción y localización.

Otro

Guión

Sitio web oficial | GitHub | PyPI | Increíble
Estrellas de GitHub: 3,903 | Horquillas GitHub: 360
Dash es un marco de Python de código abierto utilizado para crear aplicaciones web analíticas. Es especialmente bueno para los científicos de datos de Python que no están muy familiarizados con el desarrollo web.
Las aplicaciones de Dash son servidores web que ejecutan Flask y se comunican con paquetes JSON a través de solicitudes HTTP. Su frontend renderiza componentes con React.js.
Las aplicaciones desarrolladas con Dash se representan en el navegador web y se pueden implementar en servidores. Esto también significa que las aplicaciones de Dash son inherentemente multiplataforma y listas para dispositivos móviles.
Los desarrolladores de Dash tienen acceso a la instancia subyacente de Flask y a todas sus propiedades configurables. Para ampliar las capacidades de las aplicaciones de Dash, los desarrolladores también pueden usar el amplio conjunto de complementos de Flask.

Elegir un marco web de Python

El marco correcto podría ser todo lo que necesita para desarrollar un proyecto exitoso. 

Comentarios

Entradas más populares de este blog

1.3. Consideraciones para elegir un buen DBMS

Para escoger un buen DBMS se necesitan tomar en cuenta algunas consideraciones ya que en el mercado existen muchos manejadores de bases de datos. Para elegir tomaremos: Números de Usuarios,Número de Transacciones.,Cantidad de Datos para almacenar.,Consistencia de la información Experiencia Propia o Externa. También podemos hacernos las siguientes preguntas: Está comprobado que SGBD diseñados en OpenSource (Código abierto) corren mucho más rápido en entornos operativos basados en UNIX que sobre Windows, así que aquí debería de tenerse en cuenta el sistema operativo, si no se ha tomado la decisión entonces elegir el sistema operativo del servidor dependiendo del SGBD, en foros como los de PosgreSQL, por ejemplo, la gente que ha realizado pruebas de este SGBD indican que se tiene un 25% de optimización corriendo sobre LINUX que sobre Windows. Si no se tiene un sistema operativo en el servidor sería recomendable elegirlo en base al SGBD y esto también tendría consideraciones como la operat...

2.1.1 Estructura de memoria y procesos de la instancia

2.1.1 Estructura de memoria y procesos de la instancia DBMS Definición Es un sistema robusto que es capaz de emplear algoritmos de almacenamiento y recuperación de información para poder implementar un modelo de datos de manera física garantizando que todas las transacciones que se realizan con respecto a dichos datos sean "ácidas" (Atomicity, Consistency, Isolation, Duration). Para que un DBMS pueda funcionar, primero se debe hacer una instancia de este. Esta instancia está compuesta principalmente de tres componentes: · Archivos · Estructuras de memoria. · Estructuras de procesos. Cada una de estas estructuras se puede dividir a su vez en diferentes puntos. Archivos · Control (ctl): almacenan información acerca de la estructura de archivos de la base. · Rollback (rbs): cuando se modifica el valor de alguna tupla en una transacción, los valores nuevos y anteriores se almacenan en un archivo, de modo que si ocurre algún error, se pued...

1.1.2 RELACIÓN DEL DBA CON OTRAS ÁREAS DE LOS SISTEMAS

1.1.2 RELACIÓN DEL DBA CON OTRAS ÁREAS DE LOS SISTEMAS La función del DBA requiere personal para cubrir las siguientes actividades: Planeación de la BD, incluida la definición de estándares, procedimientos y ejecución. Recolección de requerimientos y diseño conceptual de la base de datos. Diseño lógico de BD y diseño de transacciones. Diseño físico y ejecución de la BD. Pruebas y depuración de la BD. Operación y mantenimiento de BD, incluida su instalación, conversión y migración.