Este documento proporciona información sobre Entity Framework, un ORM para .NET que permite trabajar con datos relacionales usando objetos de dominio. Explica conceptos clave como EDM, LINQ, Entity SQL y provee consejos sobre rendimiento como usar caché, paginación y diferentes estrategias de herencia en EF.
El documento proporciona una introducción a Entity Framework. Explica que Entity Framework es un ORM que permite a los desarrolladores trabajar con datos relacionales usando objetos de dominio. Describe los componentes clave de Entity Framework como EDM, LINQ to Entities y Object Services. También cubre conceptos como ORM, POCO objects y LINQ y ofrece consideraciones para mejorar el rendimiento.
Este documento proporciona una introducción a Entity Framework, un ORM para .NET que permite a los desarrolladores trabajar con datos relacionales usando objetos de dominio. Explica los componentes clave de EF como EDM, LINQ y Entity SQL, y discute temas como el mapeo objeto-relacional, estilos de desarrollo, consideraciones de rendimiento y estrategias de herencia.
Este documento proporciona una introducción a Entity Framework. Explica que Entity Framework es un ORM que permite a los desarrolladores trabajar con datos de base de datos usando objetos de dominio. Describe los componentes clave de Entity Framework como EDM, modelos conceptuales y de almacenamiento, y mapeo. También cubre conceptos como LINQ, Entity SQL y acceso a datos con ADO.NET y LINQ. Finalmente, discute consideraciones de rendimiento como caché, consultas compiladas y estrategias de herencia.
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...SemanticWebBuilder
En el INFOTEC se ha privilegiado la Web Semántica como plataforma de desarrollo por más de 10 años, lo cual ha tenido como resultado la construcción de varios productos Open Source, como lo es el SemanticWebBuilder el cual está siendo utilizado en gran parte de los principales portales del gobierno mexicano. En esta presentación deseamos compartir nuestras experiencias y lecciones aprendidas en el uso de las técnicas y tecnologías asociadas a la Web Semántica en entornos productivos, buscando tener un número mayor de casos de éxito en esta tendencia de desarrollo.
El documento describe una aplicación móvil desarrollada con Sencha Touch para mejorar los procesos ITIL en la Universidad CEU Cardenal Herrera. La aplicación permite a los técnicos de TI gestionar incidencias de forma remota. Se analizaron diferentes tecnologías para el proyecto y se optó por una aplicación web móvil debido a su facilidad de distribución. La aplicación utiliza HTML5, AJAX y una arquitectura basada en servicios web existentes. Proporciona estadísticas de uso a través de Google Analytics.
Este documento presenta información sobre el desarrollo de aplicaciones web utilizando arquitecturas REST y MVC. Brevemente describe los objetivos de REST, sus principios clave como el uso de recursos y URIs, y ventajas como la escalabilidad. También compara REST con SOAP, y presenta ejemplos de implementaciones como Amazon y eBay. Finalmente, explica conceptos básicos de MVC como la separación de la lógica, la vista y el modelo, y cómo frameworks como Struts y Spring MVC aplican este patrón.
El documento describe un curso sobre desarrollo de aplicaciones web. El curso tiene como objetivos enseñar a diseñar y desarrollar aplicaciones web, diferenciar patrones de diseño, manejar gestores de contenido y utilizar buenas prácticas de desarrollo. El contenido incluye temas como PHP, seguridad, plantillas, AJAX, jQuery, sistemas de gestión de contenido y patrones de diseño. El curso consta de 8 encuentros presenciales con prácticas, un parcial, un examen final y trabajos pr
Este documento presenta información sobre el Submódulo II "Manipular una base de datos mediante interfaces gráficas" del módulo IV de la carrera de Técnico en Programador de Software. Incluye los objetivos de aprendizaje, competencias a desarrollar, y temas a cubrir como modelo relacional, lenguaje SQL, creación de bases de datos en MySQL, y tecnología web. También presenta instrucciones para estudiantes y docentes.
El documento proporciona una introducción a Entity Framework. Explica que Entity Framework es un ORM que permite a los desarrolladores trabajar con datos relacionales usando objetos de dominio. Describe los componentes clave de Entity Framework como EDM, LINQ to Entities y Object Services. También cubre conceptos como ORM, POCO objects y LINQ y ofrece consideraciones para mejorar el rendimiento.
Este documento proporciona una introducción a Entity Framework, un ORM para .NET que permite a los desarrolladores trabajar con datos relacionales usando objetos de dominio. Explica los componentes clave de EF como EDM, LINQ y Entity SQL, y discute temas como el mapeo objeto-relacional, estilos de desarrollo, consideraciones de rendimiento y estrategias de herencia.
Este documento proporciona una introducción a Entity Framework. Explica que Entity Framework es un ORM que permite a los desarrolladores trabajar con datos de base de datos usando objetos de dominio. Describe los componentes clave de Entity Framework como EDM, modelos conceptuales y de almacenamiento, y mapeo. También cubre conceptos como LINQ, Entity SQL y acceso a datos con ADO.NET y LINQ. Finalmente, discute consideraciones de rendimiento como caché, consultas compiladas y estrategias de herencia.
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...SemanticWebBuilder
En el INFOTEC se ha privilegiado la Web Semántica como plataforma de desarrollo por más de 10 años, lo cual ha tenido como resultado la construcción de varios productos Open Source, como lo es el SemanticWebBuilder el cual está siendo utilizado en gran parte de los principales portales del gobierno mexicano. En esta presentación deseamos compartir nuestras experiencias y lecciones aprendidas en el uso de las técnicas y tecnologías asociadas a la Web Semántica en entornos productivos, buscando tener un número mayor de casos de éxito en esta tendencia de desarrollo.
El documento describe una aplicación móvil desarrollada con Sencha Touch para mejorar los procesos ITIL en la Universidad CEU Cardenal Herrera. La aplicación permite a los técnicos de TI gestionar incidencias de forma remota. Se analizaron diferentes tecnologías para el proyecto y se optó por una aplicación web móvil debido a su facilidad de distribución. La aplicación utiliza HTML5, AJAX y una arquitectura basada en servicios web existentes. Proporciona estadísticas de uso a través de Google Analytics.
Este documento presenta información sobre el desarrollo de aplicaciones web utilizando arquitecturas REST y MVC. Brevemente describe los objetivos de REST, sus principios clave como el uso de recursos y URIs, y ventajas como la escalabilidad. También compara REST con SOAP, y presenta ejemplos de implementaciones como Amazon y eBay. Finalmente, explica conceptos básicos de MVC como la separación de la lógica, la vista y el modelo, y cómo frameworks como Struts y Spring MVC aplican este patrón.
El documento describe un curso sobre desarrollo de aplicaciones web. El curso tiene como objetivos enseñar a diseñar y desarrollar aplicaciones web, diferenciar patrones de diseño, manejar gestores de contenido y utilizar buenas prácticas de desarrollo. El contenido incluye temas como PHP, seguridad, plantillas, AJAX, jQuery, sistemas de gestión de contenido y patrones de diseño. El curso consta de 8 encuentros presenciales con prácticas, un parcial, un examen final y trabajos pr
Este documento presenta información sobre el Submódulo II "Manipular una base de datos mediante interfaces gráficas" del módulo IV de la carrera de Técnico en Programador de Software. Incluye los objetivos de aprendizaje, competencias a desarrollar, y temas a cubrir como modelo relacional, lenguaje SQL, creación de bases de datos en MySQL, y tecnología web. También presenta instrucciones para estudiantes y docentes.
Este documento presenta información sobre la preparación para un examen de fin de carrera en programación .NET. Cubre temas como Visual Studio, .NET Framework, Xamarin, Entity Framework, LINQ, consultas y herramientas de NuGet. También incluye información sobre reportes RDLC, .NET Multi-platform App UI (.NET MAUI) y su evolución desde Xamarin.Forms.
Qué SGBD (Sistema de Gestor de BD) y tecnologías utilizan: Facebook, Twitter,...Antoni Riveros
El documento describe los sistemas gestores de bases de datos (SGBD), incluyendo ejemplos como Oracle, DB2 y MySQL. Explica que un SGBD permite definir, construir y manipular una base de datos. Luego discute las tecnologías utilizadas por Twitter, Facebook y Google para manejar grandes volúmenes de datos, incluyendo el uso de MySQL por Twitter y Facebook y BigTable por Google.
HTML5 introduce nuevas etiquetas semánticas como <header>, <nav>, <article> y <section> para mejorar la estructura y accesibilidad de los documentos web. También añade nuevos tipos de entrada de formularios como date, email y color. HTML5 ofrece características avanzadas como almacenamiento local, gráficos 2D/3D, multimedia y geolocalización.
Este CV resume la experiencia laboral y educación de José Martínez. Martínez tiene una Licenciatura en Ciencias de la Computación y experiencia trabajando como consultor de negocios, ingeniero de software y probador para varias compañías en España, Países Bajos, Irlanda y el Reino Unido. Sus habilidades incluyen metodologías ágiles, Java, bases de datos Oracle y herramientas de pruebas automatizadas.
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
La recopilación y comparación de información sobre diversos Sistemas de Gestión de Bases de Datos (SGBD) como Oracle, MySQL, SQLite, MongoDB y Apache Cassandra permite entender sus características, capacidades, ventajas y desventajas. Esto resulta crucial para tomar decisiones informadas sobre cuál plataforma se adapta mejor a las necesidades y objetivos de un proyecto particular, considerando factores como el tipo de aplicación, volumen de datos, escalabilidad y requisitos de seguridad y administración.
Mejorar la toma de decisiones y reducir costes con el Logical Data Warehouse ...Denodo
Watch full webinar here: https://bit.ly/3nKX3Tv
¿Qué es un logical data warehouse o almacén de datos lógicos?
Según Gartner, es una nueva arquitectura de gestión de datos para análisis que combina las fortalezas de los depósitos de repositorio tradicionales con la gestión alternativa de datos y la estrategia de acceso.
En esta sesión, explicaremos por qué Gartner recomienda utilizar la virtualización de datos como una única capa semántica para conectarse a fuentes de datos múltiples y heterogéneas, proporcionar la misma vista de datos a todos los usuarios de la empresa y aplicar políticas de seguridad y gobernanza comunes y coherentes. Todo ello sin tener que mover o replicar datos. Participe a este webinar para saber más en detalle cómo el logical data warehouse le ayudará a mejorar la toma de decisiones y reducir costes.
En este webinar explicamos:
- ¿Qué es un logical data warehouse? ¿En qué se diferencia de los modelos tradicionales?
- Casos de uso más comunes de un logical data warehouse
- Rendimiento y beneficios
- ¿Y qué es un Logical Data Lake?
- Mejores prácticas de implementación y casos de éxito de clientes
- Preguntas y respuestas
Web framework ligeros y micros en java barcamp 2014Carlos Camacho
Presentación enfocada a mostrar las funcionalidades más importante de los micro framework Spark y Ratpack. Dando una inducción a los conceptos básicos en su utilización del protocolo HTTP y los servicios REST.
Impartida en la segunda edición en el Barcamp 2014, Pontificia Universidad Católica Madre y Maestra (PUCMM), Santiago de los Caballeros, República Dominicana.
Este documento introduce el patrón de arquitectura de software Modelo Vista Controlador (MVC). MVC separa la representación de datos, la interfaz de usuario y la lógica de control en tres componentes distintos. El Modelo representa los datos y la lógica del negocio, la Vista muestra la interfaz de usuario, y el Controlador maneja las interacciones entre el Modelo y la Vista. MVC permite cambios independientes en cada componente sin afectar a los demás y es utilizado por muchos frameworks modernos.
El documento describe un proyecto para implementar un sistema de registro de activos informáticos en el Nacional Monte de Piedad, una institución financiera mexicana con más de 280 sucursales. El sistema permitirá llevar un registro centralizado y controlado de los más de 8,000 equipos de la institución. Se evalúan tres alternativas (Excel, Access, OPAS) y se recomienda OPAS debido a que permite mayor capacidad de registros, usuarios y seguridad de la información.
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Socialmetrix
Juan Martín Pampliega presenta sobre la construcción de una infraestructura de Big Data escalable y rentable. Explica que evolucionaron su arquitectura para manejar un volumen creciente de datos, reducir tiempos de procesamiento, y mitigar errores. Adoptaron conceptos como la arquitectura Lambda y sistemas distribuidos. Implementaron Kafka, Spark y Cassandra para lograr procesamiento distribuido, robusto y escalable. Aprendieron que es importante probar los sistemas y monitorearlos, y que herramientas no deben usarse
El documento habla sobre Spring Boot, un framework de desarrollo de aplicaciones web de código abierto. Explica que Spring Boot permite desarrollar aplicaciones empresariales modularmente mediante microservicios y que cada módulo puede tener su propia base de datos. También describe algunas ventajas claves de Spring Boot como la inclusión de clases genéricas y repositorios para el manejo de datos.
Este documento describe los componentes y características de los sistemas de gestión de bases de datos. Explica que un SGBD permite introducir, organizar y recuperar información de forma eficiente y que existen diferentes modelos como el jerárquico, en red, relacional, multidimensional y orientado a objetos. También compara populares SGBD como PostgreSQL, MySQL, Microsoft SQL Server, Informix y Oracle.
Este documento presenta el patrón de arquitectura de software MVC (Modelo Vista Controlador). MVC separa la aplicación en tres componentes: el modelo, que contiene los datos y la lógica del negocio; la vista, que compone la interfaz de usuario; y el controlador, que actúa como intermediario entre el modelo y la vista. Algunos frameworks populares que usan MVC son Ruby on Rails, Django y AngularJS. El documento explica cada una de las tres partes de MVC y cómo interactúan entre sí.
En esta sesión se discutirán las bases de datos, incluyendo las diferencias entre bases de datos SQL y NoSQL. Se explorarán las bases de datos más populares como SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra, analizando sus características y ventajas. Finalmente, se revisarán los pasos para crear una base de datos en una ONG.
Especificación de Arquitectura de SoftwareSoftware Guru
El objetivo de la plática es mostrar con un ejemplo como especificar la arquitectura de un sistema.
Hoy en día hay varios libros de Arquitectura de software que nos muestran: Que debemos hacer, Que podemos usar pero pocos nos dan un ejemplo concreto.
Esta platica está dirigida a aquellos colegas que quieren iniciar en el rol de Arquitecto de Software, que tienen la experiencia y conocimientos pero tienen duda de como plasmar sus decisiones de diseño ó se preguntan si su diseño es suficiente y correcto.
En esta platica se desarrolla en 2 partes:
En la 1ª. se repasaran algunos conceptos relativos a la práctica de Arquitectura tales como objetivo, requerimientos no funcionales, riesgos, restricciones, patrones, vistas, etc.
En la 2ª. parte se mostrará como hacer una especificación de Arquitectura de un caso real pero acotado.
Al final espero que el participante se quede con una referencia que sirva para mejorar su práctica de Diseño de Arquitectura.
Este documento describe el patrón de arquitectura Modelo Vista Controlador (MVC) y cómo se puede utilizar para el desarrollo rápido de aplicaciones web. Explica que el modelo se encarga de los datos, la vista de la interfaz de usuario y el controlador de la lógica. También recomienda el uso del framework Kumbia y ActiveRecord para generar formularios y reducir el código necesario para acceder a los datos.
Cómo construir tu propia data platform. From zero to hero. GustavoMartin46
Esta presentación es el resultado de la ponencia presentada el día 28 de abril de 2023 en la Salmorejo Tech https://salmorejo.tech/2023/.
Con esta ponencia se buscaba explicar a una audiencia con conocimientos básicos de tecnología, las distintas herramientas que se pueden emplear para construir una plataforma de datos.
La ponencia comienza con una configuración sencilla, que prácticamente cualquier persona del mundo de la informática puede entender. Termina con una configuración compleja, donde sin entrar en muchos detalles, sí permite a la audiencia hacerse una idea de qué herramientas se requieren para implementar la solución.
El documento describe los conceptos fundamentales de la ingeniería de software. Explica que la ingeniería de software implica un enfoque sistemático y cuantificable para el desarrollo, operación y mantenimiento del software. Luego detalla los pasos clave en el desarrollo de un sistema de software, incluyendo el análisis de requisitos, diseño, programación, pruebas y mantenimiento. También cubre temas como los ciclos de vida del software, la reutilización de software y los modelos de madurez para mejorar los procesos
El documento introduce los conceptos básicos de los web services y .NET remoting. Explica las características y ventajas de ambos, incluyendo que los web services usan HTTP y XML para permitir la interoperabilidad entre lenguajes, mientras que .NET remoting permite la comunicación entre aplicaciones mediante canales y expone objetos .NET de forma remota. También incluye ejemplos simples de "Hola Mundo" para ambos en C#.
Este documento presenta una introducción al modelo de programación extrema (XP). Describe algunas de las prácticas clave de XP como la programación en parejas, la propiedad colectiva del código, la integración continua y las pruebas automatizadas. También discute brevemente algunas ventajas de XP como su capacidad de adaptarse a proyectos pequeños y grandes y su énfasis en la comunicación entre programadores, aunque reconoce algunas desventajas como la falta de un costo o tiempo definido.
Este documento presenta los fundamentos de la programación en C++. Explica características del lenguaje como su compatibilidad con C, soporte para programación orientada a objetos y eficiencia. También cubre temas como la instalación de compiladores, inclusión de bibliotecas, funciones principales, tipos de datos, entrada y salida de datos, operadores, estructuras de control como if/else, switch/case y bucles while, do-while y for.
Este documento presenta información sobre la preparación para un examen de fin de carrera en programación .NET. Cubre temas como Visual Studio, .NET Framework, Xamarin, Entity Framework, LINQ, consultas y herramientas de NuGet. También incluye información sobre reportes RDLC, .NET Multi-platform App UI (.NET MAUI) y su evolución desde Xamarin.Forms.
Qué SGBD (Sistema de Gestor de BD) y tecnologías utilizan: Facebook, Twitter,...Antoni Riveros
El documento describe los sistemas gestores de bases de datos (SGBD), incluyendo ejemplos como Oracle, DB2 y MySQL. Explica que un SGBD permite definir, construir y manipular una base de datos. Luego discute las tecnologías utilizadas por Twitter, Facebook y Google para manejar grandes volúmenes de datos, incluyendo el uso de MySQL por Twitter y Facebook y BigTable por Google.
HTML5 introduce nuevas etiquetas semánticas como <header>, <nav>, <article> y <section> para mejorar la estructura y accesibilidad de los documentos web. También añade nuevos tipos de entrada de formularios como date, email y color. HTML5 ofrece características avanzadas como almacenamiento local, gráficos 2D/3D, multimedia y geolocalización.
Este CV resume la experiencia laboral y educación de José Martínez. Martínez tiene una Licenciatura en Ciencias de la Computación y experiencia trabajando como consultor de negocios, ingeniero de software y probador para varias compañías en España, Países Bajos, Irlanda y el Reino Unido. Sus habilidades incluyen metodologías ágiles, Java, bases de datos Oracle y herramientas de pruebas automatizadas.
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
La recopilación y comparación de información sobre diversos Sistemas de Gestión de Bases de Datos (SGBD) como Oracle, MySQL, SQLite, MongoDB y Apache Cassandra permite entender sus características, capacidades, ventajas y desventajas. Esto resulta crucial para tomar decisiones informadas sobre cuál plataforma se adapta mejor a las necesidades y objetivos de un proyecto particular, considerando factores como el tipo de aplicación, volumen de datos, escalabilidad y requisitos de seguridad y administración.
Mejorar la toma de decisiones y reducir costes con el Logical Data Warehouse ...Denodo
Watch full webinar here: https://bit.ly/3nKX3Tv
¿Qué es un logical data warehouse o almacén de datos lógicos?
Según Gartner, es una nueva arquitectura de gestión de datos para análisis que combina las fortalezas de los depósitos de repositorio tradicionales con la gestión alternativa de datos y la estrategia de acceso.
En esta sesión, explicaremos por qué Gartner recomienda utilizar la virtualización de datos como una única capa semántica para conectarse a fuentes de datos múltiples y heterogéneas, proporcionar la misma vista de datos a todos los usuarios de la empresa y aplicar políticas de seguridad y gobernanza comunes y coherentes. Todo ello sin tener que mover o replicar datos. Participe a este webinar para saber más en detalle cómo el logical data warehouse le ayudará a mejorar la toma de decisiones y reducir costes.
En este webinar explicamos:
- ¿Qué es un logical data warehouse? ¿En qué se diferencia de los modelos tradicionales?
- Casos de uso más comunes de un logical data warehouse
- Rendimiento y beneficios
- ¿Y qué es un Logical Data Lake?
- Mejores prácticas de implementación y casos de éxito de clientes
- Preguntas y respuestas
Web framework ligeros y micros en java barcamp 2014Carlos Camacho
Presentación enfocada a mostrar las funcionalidades más importante de los micro framework Spark y Ratpack. Dando una inducción a los conceptos básicos en su utilización del protocolo HTTP y los servicios REST.
Impartida en la segunda edición en el Barcamp 2014, Pontificia Universidad Católica Madre y Maestra (PUCMM), Santiago de los Caballeros, República Dominicana.
Este documento introduce el patrón de arquitectura de software Modelo Vista Controlador (MVC). MVC separa la representación de datos, la interfaz de usuario y la lógica de control en tres componentes distintos. El Modelo representa los datos y la lógica del negocio, la Vista muestra la interfaz de usuario, y el Controlador maneja las interacciones entre el Modelo y la Vista. MVC permite cambios independientes en cada componente sin afectar a los demás y es utilizado por muchos frameworks modernos.
El documento describe un proyecto para implementar un sistema de registro de activos informáticos en el Nacional Monte de Piedad, una institución financiera mexicana con más de 280 sucursales. El sistema permitirá llevar un registro centralizado y controlado de los más de 8,000 equipos de la institución. Se evalúan tres alternativas (Excel, Access, OPAS) y se recomienda OPAS debido a que permite mayor capacidad de registros, usuarios y seguridad de la información.
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Socialmetrix
Juan Martín Pampliega presenta sobre la construcción de una infraestructura de Big Data escalable y rentable. Explica que evolucionaron su arquitectura para manejar un volumen creciente de datos, reducir tiempos de procesamiento, y mitigar errores. Adoptaron conceptos como la arquitectura Lambda y sistemas distribuidos. Implementaron Kafka, Spark y Cassandra para lograr procesamiento distribuido, robusto y escalable. Aprendieron que es importante probar los sistemas y monitorearlos, y que herramientas no deben usarse
El documento habla sobre Spring Boot, un framework de desarrollo de aplicaciones web de código abierto. Explica que Spring Boot permite desarrollar aplicaciones empresariales modularmente mediante microservicios y que cada módulo puede tener su propia base de datos. También describe algunas ventajas claves de Spring Boot como la inclusión de clases genéricas y repositorios para el manejo de datos.
Este documento describe los componentes y características de los sistemas de gestión de bases de datos. Explica que un SGBD permite introducir, organizar y recuperar información de forma eficiente y que existen diferentes modelos como el jerárquico, en red, relacional, multidimensional y orientado a objetos. También compara populares SGBD como PostgreSQL, MySQL, Microsoft SQL Server, Informix y Oracle.
Este documento presenta el patrón de arquitectura de software MVC (Modelo Vista Controlador). MVC separa la aplicación en tres componentes: el modelo, que contiene los datos y la lógica del negocio; la vista, que compone la interfaz de usuario; y el controlador, que actúa como intermediario entre el modelo y la vista. Algunos frameworks populares que usan MVC son Ruby on Rails, Django y AngularJS. El documento explica cada una de las tres partes de MVC y cómo interactúan entre sí.
En esta sesión se discutirán las bases de datos, incluyendo las diferencias entre bases de datos SQL y NoSQL. Se explorarán las bases de datos más populares como SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra, analizando sus características y ventajas. Finalmente, se revisarán los pasos para crear una base de datos en una ONG.
Especificación de Arquitectura de SoftwareSoftware Guru
El objetivo de la plática es mostrar con un ejemplo como especificar la arquitectura de un sistema.
Hoy en día hay varios libros de Arquitectura de software que nos muestran: Que debemos hacer, Que podemos usar pero pocos nos dan un ejemplo concreto.
Esta platica está dirigida a aquellos colegas que quieren iniciar en el rol de Arquitecto de Software, que tienen la experiencia y conocimientos pero tienen duda de como plasmar sus decisiones de diseño ó se preguntan si su diseño es suficiente y correcto.
En esta platica se desarrolla en 2 partes:
En la 1ª. se repasaran algunos conceptos relativos a la práctica de Arquitectura tales como objetivo, requerimientos no funcionales, riesgos, restricciones, patrones, vistas, etc.
En la 2ª. parte se mostrará como hacer una especificación de Arquitectura de un caso real pero acotado.
Al final espero que el participante se quede con una referencia que sirva para mejorar su práctica de Diseño de Arquitectura.
Este documento describe el patrón de arquitectura Modelo Vista Controlador (MVC) y cómo se puede utilizar para el desarrollo rápido de aplicaciones web. Explica que el modelo se encarga de los datos, la vista de la interfaz de usuario y el controlador de la lógica. También recomienda el uso del framework Kumbia y ActiveRecord para generar formularios y reducir el código necesario para acceder a los datos.
Cómo construir tu propia data platform. From zero to hero. GustavoMartin46
Esta presentación es el resultado de la ponencia presentada el día 28 de abril de 2023 en la Salmorejo Tech https://salmorejo.tech/2023/.
Con esta ponencia se buscaba explicar a una audiencia con conocimientos básicos de tecnología, las distintas herramientas que se pueden emplear para construir una plataforma de datos.
La ponencia comienza con una configuración sencilla, que prácticamente cualquier persona del mundo de la informática puede entender. Termina con una configuración compleja, donde sin entrar en muchos detalles, sí permite a la audiencia hacerse una idea de qué herramientas se requieren para implementar la solución.
El documento describe los conceptos fundamentales de la ingeniería de software. Explica que la ingeniería de software implica un enfoque sistemático y cuantificable para el desarrollo, operación y mantenimiento del software. Luego detalla los pasos clave en el desarrollo de un sistema de software, incluyendo el análisis de requisitos, diseño, programación, pruebas y mantenimiento. También cubre temas como los ciclos de vida del software, la reutilización de software y los modelos de madurez para mejorar los procesos
El documento introduce los conceptos básicos de los web services y .NET remoting. Explica las características y ventajas de ambos, incluyendo que los web services usan HTTP y XML para permitir la interoperabilidad entre lenguajes, mientras que .NET remoting permite la comunicación entre aplicaciones mediante canales y expone objetos .NET de forma remota. También incluye ejemplos simples de "Hola Mundo" para ambos en C#.
Este documento presenta una introducción al modelo de programación extrema (XP). Describe algunas de las prácticas clave de XP como la programación en parejas, la propiedad colectiva del código, la integración continua y las pruebas automatizadas. También discute brevemente algunas ventajas de XP como su capacidad de adaptarse a proyectos pequeños y grandes y su énfasis en la comunicación entre programadores, aunque reconoce algunas desventajas como la falta de un costo o tiempo definido.
Este documento presenta los fundamentos de la programación en C++. Explica características del lenguaje como su compatibilidad con C, soporte para programación orientada a objetos y eficiencia. También cubre temas como la instalación de compiladores, inclusión de bibliotecas, funciones principales, tipos de datos, entrada y salida de datos, operadores, estructuras de control como if/else, switch/case y bucles while, do-while y for.
Este documento presenta una introducción a los diferentes tipos de empresas basadas en tecnología y modelos de emprendimiento. Explica cuatro tipos principales de empresas tecnológicas (software, hardware, telecomunicaciones y servicios) y cinco modelos de emprendimiento (startups, franquicias, empresas sociales, comercio electrónico e innovación abierta). También proporciona recomendaciones para el éxito empresarial y el emprendimiento.
Este documento trata sobre programación estructurada. Explica la importancia de las funciones para mejorar la modularidad y reutilización de código. Detalla los tipos de funciones como las que devuelven o no un valor, reciben o no parámetros, y funciones con valores predeterminados para los parámetros. Finalmente, introduce conceptos como funciones sobrecargadas y funciones lambda.
Este documento presenta los conceptos de planificación estratégica y responsabilidad social empresarial para empresas de base tecnológica sostenibles. Explica que la planificación estratégica permite establecer objetivos, analizar la situación actual, desarrollar estrategias y supervisar su implementación. También define la responsabilidad social como el compromiso de las empresas para contribuir al desarrollo sostenible considerando el impacto en sus grupos de interés.
Este documento presenta una introducción a las estructuras de datos de arreglos y punteros en programación. Explica que los arreglos almacenan un conjunto de elementos del mismo tipo en posiciones contiguas de memoria, mientras que los punteros almacenan la dirección de memoria de otra variable. Detalla la sintaxis para declarar arreglos y punteros, y cómo acceder a los elementos de un arreglo utilizando índices o punteros. Finalmente, muestra cómo los punteros pueden usarse para trabajar con arreglos dinámicos cuyo tama
Este documento presenta información sobre algoritmos, diagramas de flujo de datos (DFD) y pseudocódigo. Explica que un algoritmo es un conjunto de instrucciones ordenadas para resolver un problema, y describe las características y pasos para elaborar algoritmos. También define DFD como diagramas que representan visualmente el flujo de datos en un sistema, e identifica los elementos básicos de un DFD. Por último, introduce el pseudocódigo como un lenguaje simplificado que combina lenguaje natural y estructuras de control para describir algoritmos.
El documento describe los requisitos y procedimientos para constituir una empresa en Ecuador, incluyendo obtener un Registro Único de Contribuyentes, elegir una forma jurídica, definir el objeto social, y registrarse en el Ministerio de Trabajo e Instituto Ecuatoriano de Seguridad Social. También analiza los costos asociados con la constitución de una empresa y las obligaciones de la empresa con el país, como cumplir con normativas, pagar impuestos y contribuciones.
Este documento presenta un resumen del Modelo Canvas, una herramienta para describir, analizar y diseñar modelos de negocio. Explica los nueve componentes clave del modelo divididos en cuatro áreas: segmentos de clientes, propuesta de valor, canales de distribución y relaciones con clientes, fuentes de ingresos, recursos clave y actividades clave. Proporciona ejemplos y aspectos a considerar para cada componente.
Este documento proporciona una introducción a Docker y Docker Compose. Explica qué es Docker, cómo funciona en comparación con las máquinas virtuales, sus ventajas para desarrolladores y administradores, y proporciona ejemplos de cómo descargar imágenes, ejecutar contenedores, instalar paquetes, guardar cambios, y más.
Este documento presenta información sobre la gestión administrativa de infraestructura de tecnologías de la información. Explica brevemente los marcos CobIT y TOGAF, que proveen estructuras para el gobierno y gestión de TI. También introduce conceptos como objetivos de gobierno, componentes de un sistema de gobierno, y factores de diseño que influyen en el diseño de un sistema de gobierno de TI dentro de una empresa.
Este documento trata sobre proyectos de infraestructura de tecnologías de la información. Explica los ambientes locales de infraestructura, incluyendo software y hardware, y ambientes de centros de datos. También describe los beneficios de los centros de datos como la continuidad del negocio, la seguridad de la información y la escalabilidad. Además, cubre conceptos clave como los niveles de disponibilidad de centros de datos conocidos como TIER y los conceptos clave del estándar TIA-942 para el diseño e instalación de cent
Este documento trata sobre proyectos de infraestructura de tecnologías de la información. Explica conceptos básicos de hardware como sistemas operativos, BIOS, procesadores, unidades de disco, RAID y buses de datos. También cubre conceptos de software e incluye una sección sobre aplicaciones de infraestructura donde propone grupos para estudiar middlewares por sistema. El objetivo general es formular adecuadamente proyectos de TI para garantizar el seguimiento y éxito de los proyectos.
Este documento presenta información sobre la gestión técnica de infraestructura de tecnologías de la información. Introduce Docker, una herramienta de código abierto que permite ejecutar aplicaciones en contenedores de forma portable y escalable. Explica las diferencias entre contenedores y máquinas virtuales, siendo los contenedores más ligeros, portables y eficientes al ejecutarse directamente sobre el kernel del sistema anfitrión.
Este documento presenta una introducción a los contenedores de Docker. Explica brevemente qué son los contenedores y cómo permiten empaquetar aplicaciones y su entorno de ejecución para moverlas entre ambientes sin perder funcionalidad. También resume la evolución de las tecnologías de virtualización que condujeron al desarrollo de contenedores y proporciona información básica sobre la arquitectura y comandos de Docker.
Este documento describe los diferentes modelos de infraestructura en la nube (cloud), incluyendo SaaS, PaaS e IaaS. Explica que SaaS ofrece software a través de una interfaz web, PaaS proporciona una plataforma para construir aplicaciones, e IaaS provee recursos de infraestructura virtual como almacenamiento y servidores. También discute las diferencias en el nivel de control y responsabilidad que tienen los usuarios en cada modelo.
Este documento resume los conceptos clave de ITIL v4 para la gestión de infraestructura de tecnologías de la información. ITIL v4 describe un sistema de valor de servicio que incluye seis actividades clave para crear valor para los usuarios finales. También describe cuatro dimensiones de la gestión de servicios, incluidas las organizaciones, la tecnología, los socios y los procesos. El documento explica brevemente las prácticas recomendadas por ITIL v4.
Este documento proporciona instrucciones sobre cómo insertar referencias y bibliografías en un documento de procesador de texto. Explica qué son las referencias, cómo insertar una cita seleccionando un estilo y agregando una nueva fuente, y cómo agregar detalles a una cita. También describe cómo generar una bibliografía seleccionando un formato después de haber citado fuentes en el documento.
Este documento proporciona instrucciones sobre cómo crear secciones en un procesador de texto. Explica que las secciones permiten aplicar formatos y configuraciones diferentes sin afectar al resto del documento, como páginas numeradas o encabezados distintos. Luego describe los 8 pasos para crear una sección, que incluyen seleccionar el tipo de salto, ver el cambio aplicado, mostrar el contenido con secciones y modificar o eliminar secciones. El objetivo es editar documentos utilizando correctamente las herramientas del procesador de
Este documento habla sobre los buscadores de Internet. Explica que los buscadores son sistemas que se encargan de buscar archivos digitales como páginas web, documentos y videos según las búsquedas de los usuarios. Describe que los principales buscadores determinan la importancia de un sitio web en función de su popularidad y número de visitas, usando algoritmos complejos para establecer los rankings. También menciona que incluirá trucos útiles para realizar búsquedas.
La energía radiante es una forma de energía que
se transmite en forma de ondas
electromagnéticas esta energía se propaga a
través del vacío y de ciertos medios materiales y
es fundamental en una variedad naturales y
tecnológicos
1. Facultad de Ciencias Informáticas
Desarrollo de Aplicaciones Web
Unidad 2 Programación web en el
servidor
PhD(c). Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
luis.aguas@utm.edu.ec
2. Objetivos de Desarrollo Sostenible
Meta
4.7 De aquí a 2030, asegurar que todos los alumnos adquieran
los conocimientos teóricos y prácticos necesarios para promover
el desarrollo sostenible, entre otras cosas mediante la educación
para el desarrollo sostenible y los estilos de vida sostenibles, los
derechos humanos, la igualdad de género, la promoción de una
cultura de paz y no violencia, la ciudadanía mundial y la
valoración de la diversidad cultural y la contribución de la cultura
al desarrollo sostenible
3. El dinero no es la clave del éxito; la libertad para
poder crear lo es - Nelson Mandela
4. Resultado de Aprendizaje
• Diseñar un producto de
software en el que se
apliquen principios de
diseño, para que sea
robusto, fácil de mantener
y modificar
Contenido
• Unidad 2 Programación web en
el servidor
• 2.2 Lenguajes para desarrollo
web en el servidor
• 2.2.1 Mapeo de objeto-
relacional (ORM)
5. Que es Entity Framework?
• Entity Framework (EF) es un ORM
(object-relational mapper) que
permite a los desarrolladores en
.NET trabajar con datos
relacionales usando objetos
específicos del dominio. Elimina la
necesidad de escribir la mayoría
de código de acceso a datos. Es
un mecanismo automatizado para
acceder y consultar datos en una
base de datos y trabajar con los
resultados.
6. Componentes de Entity Framework
• EDM (Entity Data Model)
• Conceptual Model
• Storage Model
• Mapping
• LINQ to Entities
• Entity SQL
• Object Service
• Entity Client Data Provider
• ADO.Net Data Provider
7. Que es un ORM? Object-Relational Mapping
• Mapeo objeto-relacional (más conocido por su nombre en inglés, Object-
Relational mapping, o sus siglas O/RM, ORM, y O/R mapping) es una
técnica de programación para convertir datos entre el sistema de tipos
utilizado en un lenguaje de programación orientado a objetos y la
utilización de una base de datos relacional, utilizando un motor de
persistencia.
• Nota: En la práctica esto crea una base de datos orientada a objetos virtual,
sobre la base de datos relacional. Esto posibilita el uso de las características
propias de la orientación a objetos (básicamente herencia y polimorfismo)
9. Que es un Entity Object?
• Por default el Entity Data
Model genera
EntityObjects que son
derivados de entidades
(tablas/vistas)
10. Que es un POCO Object?
• POCO (Plain Old CLR Object):
- Las clases POCO es una clase la cual no depende de ninguna clase base de un
Framework especifico.
11. Que es Linq?
• Definición: Languaje Integrated Query
• Linq simplemente es una expresión tipo Query en
nuestro código, similar a un Query de SQL en nuestra
base de datos.
• Es aplicable sobre colecciones:
• Listas
• Arreglos
• XML
• Tablas de base de datos
13. Acceso a datos con Linq:
• Fácil:
List<Customer> customers = from c in Customers
where c.FirstName == “Test”
select c;
• Rápido de codificar y legible:
List<Customer> customers = dbContext.Customers.Where(c =>
c.FirstName == “Test”).ToList();
14. Linq vs Native SQL
• Ventajas:
1.No hay cadenas mágicas como las que se pueden generar en
sentencias SQL (Prevención de Inyección).
2.Intellisense.
3.Un desarrollo mas rápido.
4.Autogeneración de objetos de dominio que pueden ser proyectos
reusables.
5.Lazy loading.(Cargado de objetos relacionados sobre demanda)
6.Lambda expressions y extension methods.
15. Linq vs Native SQL
• Desventajas:
1.Depuración (Debugging).
2.Consultas complejas traen como resultado problemas de
rendimiento.
3.Sobrecarga al crear consultas.
4.Los Índices de base de datos no son usados adecuadamente.
16. Estilos a seguir en Entity Framework
• Code First
• Model First
• Database first
17. Consideraciones para Performance
• Múltiples Entity Models (múltiples contextos).
• Desactivar el trackeo si no es necesario (Mejora el rendimiento):
SubwayDB context = new SubwayDB();
context.Configuration.AutoDetectChangesEnabled = false;
// Do bulk insert ....... // Change it back
context.Configuration.AutoDetectChangesEnabled = true;
• Usar SQL Projection:
var users = from u in context.UserAccounts where u.Active == true
select new { FirstName = u.FirstName, LastName = u.LastName, Email = u.Email };
18. Consideraciones para Performance
• Usar el tipo de coleccion apropiado:
IQueryable<UserAccount> IEnumerable<UserAccount>
- Filtra desde la base de datos - Filtra desde el lado del cliente
- Soporta Lazy loading - No soporta Lazy loading.
• Usar Queries compilados:
- Aplicar a los Queries comunmente utilizados para mejorar el rendimiento (Performance).
• Usar Paginados de información del lado del servidor:
int pageSize=10,startingPageIndex=2;
var users = context.UserAccounts.Take(pageSize).Skip(startingPageIndex * pageSize) .ToList();
19. Consideraciones para Performance
• Caching:
- Caching Interno
• Rápida ejecución estilo Micro-ORM estilo Sql Query en base de datos
y ExecuteStoreQuery (SP):
var query = ContextManager.CurrentContext.Database.SqlQuery<TransactionObjectList>( "EXEC sp_GetTransactionList @RoleID, @UserID, @RegionID, @Lookup,
@TransactionsStatus, @DateFrom, @DateTo, " + "@AmountFrom, @AmountTo, @DeliveryMethod, @AdminMenu, @StoreNumber, @HasDiscount, @CateringMenu, "
+ "@DevelopmentStores, @WithCustomerAbuse, @WithTotalPrice, @minGrandTotal, @maxGrandTotal, @EnteredToSubshop, " + "@ExcludeZeroBalance,
@StoreIsRemoved, @marketID, @Page,@PageSize,@sortdir,@sort", sqlparameters);
• Lazy Vs Eager loading (Cuando seleccionar Lazy loading)
20. Consideraciones para Performance
• Evitar el uso del método Contains
En Linq, el método Contains es usado para verificar la existencia de un valor. Este es
convertido a una sentencia “WHERE IN” en SQL, lo cual causa una degradación del
performance.
• Depuración y Optimización de Linq Query:
- Usar SQL Profiler
- Dividir la consulta a múltiples consultas (múltiples sentencias JOIN a tablas)
• Estrategias para manejo de Herencia en Entity Framework:
- Jerarquía por Tabla (TPH)
- Tabla por Tipo (TPT)
- Tabla por Clase concreta (TPC):
21. Consideraciones para Performance
• Jerarquía por Tabla (TPH)
- Permite polimorfismo por de-normalización de esquema
de SQL y utiliza una columna como tipo discriminador que
contiene esta información.
Discriminador = 3 Tipos
22. Consideraciones para Performance
• Tabla por Tipo (TPT)
- Representa una relación tipo “is a” (herencia), como una
relación tipo “has a” (Foreign key).
23. Consideraciones para Performance
• Tabla por Clase Concreta (TPC)
- Descarga las relaciones de polimorfismo y herencia
completamente desde el esquema SQL.
EDM (Entity Data Model): EDM consist three main parts- Conceptual model, Mapping and Storage model.
Conceptual Model: Conceptual model is your model classes and their relationships. This will be independent from your database table design.
Storage Model: Storage model is your database design model which includes tables, views, stored procedures and their relationships and keys.
Mapping: Mapping consist information about how your conceptual model is mapped to storage model.
LINQ to Entities: LINQ to Entities is query language used to write queries against the object model. It returns entities which are defined in the conceptual model. You can use your LINQ skills here.
Entity SQL: Entity SQL is again a query language same as LINQ to Entities. However it is little more difficult than L2E and also developer need to learn it separately.
Object Service: Object service is a main entry point for accessing data from database and to return it back. Object service is responsible for materialization which is process of converting data returned from entity client data provider (next layer) to an entity object structure.
Entity Client Data Provider: The main responsibility of this layer is to convert L2E or Entity SQL queries into SQL query which is understood by underlying database. It communicates with ADO.Net data provider which in turn sends or retrieves data from database.
ADO.Net Data Provider: This layer communicates with database using standard ADO.Net.
EntityObject: By default, the ADO.NET Entity Data Model tools generate EntityObject derived entities. If you check entities created in previous step, it is of this type. When you work with EntityObject derived types, the object context manages the relationships between your objects, tracks changes as they occur, and supports lazy loading in the most efficient manner. However, the EntityObject derived types have strong dependency on the Entity Framework. If you are working with architectures that require persistence ignorance (for example, test- driven development or domain-driven development) or you have existing domain classes, consider using POCO or POCO proxies.
POCO (Plain Old CLR Object): POCO class is the class which doesn’t depend on any framework specific base class. It is like any other normal .net class that is why it is called “Plain Old CLR Objects”. The Entity Framework 4.0 enables you to use existing .net classes together with the data model without making any modifications to the existing .net classes. These POCO entities (also known as persistence-ignorant objects) support most of the same LINQ queries as EntityObject derived entities .
Code First: In the Code First approach, you avoid working with visual model designer (EDMX) completely. You write your POCO classes first and then create database from these POCO classes. Developers who follow the path of Domain-Driven Design (DDD) principles prefer to begin by coding their classes first and then generating the database required to persist their data.
One important thing to understand is that there are two new types introduced for Code First approach, DbContext and DbSet. DbContext is a simplified alternative to ObjectContext and is the primary object for interacting with a database using a specific model. DbSet(Of TEntity) is a simplified alternative to ObjectSet(Of TEntity) and is used to perform CRUD operations against a specific type from the model in Code First approach.
Please visit EF Code-First Tutorial to learn code first in detail.
Model First: In Model First approach, you create Entities, relationships, and inheritance hierarchies directly on the design surface of EDMX. So in Model First approach, when you add ADO.NET Entity Data Model, you should select ‘Empty Model’ instead of ‘Generate from database’.