🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

PCS Resumen 28-3.pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Transcript

Introducción: La evolución de los sistemas de información ha impactado significativamente en las organizaciones, ofreciendo nuevas posibilidades y desafíos. En este resumen, exploraremos los conceptos clave relacionados con la arquitectura de sistemas de información, centrándonos en las diferencias...

Introducción: La evolución de los sistemas de información ha impactado significativamente en las organizaciones, ofreciendo nuevas posibilidades y desafíos. En este resumen, exploraremos los conceptos clave relacionados con la arquitectura de sistemas de información, centrándonos en las diferencias entre arquitecturas distribuidas y centralizadas, así como en la importancia de la información en la toma de decisiones empresariales. Arquitectura Distribuida vs. Centralizada: Arquitectura Distribuida: Se refiere a la conexión de múltiples computadoras a través de una red, lo que permite descentralizar tareas y mejorar la integración de diferentes áreas en un sistema de información. Proporciona mayor flexibilidad y potencia en el desarrollo de actividades. Arquitectura Centralizada: En contraste, este enfoque implica un sistema jerárquico y centralizado en un único computador, lo que puede presentar problemas de dependencia y dificultad de integración de nuevas áreas. Implementación de Arquitecturas en Empresas: Problemas Actuales: Empresas como Comercial Mayorista S. A. enfrentan desafíos debido a la falta de información en sus sistemas, lo que dificulta la elaboración de estrategias y toma de decisiones efectivas. Se evidencian problemas como la falta de controles adecuados y problemas en la administración de inventarios. Solución Propuesta: La implementación de una arquitectura distribuida en el sistema de información de la empresa puede resolver estos problemas al permitir una integración más completa de nuevas áreas, aprovechar la capacidad de procesamiento de los equipos en red y brindar mayor flexibilidad para futuras actualizaciones. Ventajas y Desventajas de Cada Arquitectura: Arquitectura Centralizada: Requiere un hardware altamente potente en el computador central, lo que puede generar problemas en caso de fallos del servidor y dependencia excesiva de las comunicaciones. Arquitectura Distribuida: Cada computadora tiene capacidad de procesamiento autónoma, lo que implica mayor independencia en las terminales y la posibilidad de continuar el trabajo temporalmente en caso de fallos. Facilita la integración de departamentos y mejora los tiempos de respuesta para los usuarios. Conclusiones: En resumen, la elección entre arquitecturas distribuidas y centralizadas en los sistemas de información de las empresas es crucial para garantizar un funcionamiento eficiente y una toma de decisiones informada. La arquitectura distribuida ofrece ventajas en términos de flexibilidad, integración y tiempos de respuesta, mientras que la centralizada puede presentar problemas de dependencia y dificultad de actualización. Es fundamental realizar un análisis exhaustivo de las necesidades de cada organización para determinar la arquitectura más adecuada en cada caso particular. Introducción a la Tecnología Cliente-Servidor La infraestructura de soporte para un sistema de información es crucial y se basa en arquitecturas como la centralizada y la distribuida. En este contexto, la tecnología cliente-servidor, que se basa en la arquitectura distribuida, es fundamental. Arquitectura Cliente-Servidor La arquitectura cliente-servidor implica la distribución de la capacidad de procesamiento del sistema entre varias computadoras conectadas a través de una red de comunicación de datos. En este modelo, los clientes realizan solicitudes al servidor, que procesa la información y envía respuestas. Componentes Esenciales de la Infraestructura Cliente-Servidor En la arquitectura cliente-servidor, los componentes clave son los clientes activos, los servidores pasivos y el middleware. Los clientes realizan solicitudes, los servidores procesan y responden, y el middleware facilita la comunicación entre ellos. Proceso Cliente-Servidor El proceso cliente-servidor se inicia con la solicitud del usuario a través de la interfaz de la aplicación cliente. Luego, la solicitud se envía al servidor, que la procesa y envía una respuesta al cliente. Finalmente, el cliente muestra los resultados al usuario. Cliente Liviano en la Arquitectura Cliente-Servidor Los clientes livianos, también conocidos como clientes flacos, son parte del proceso cliente-servidor. Estos clientes dependen del servidor para el procesamiento de datos y tareas como tomar datos, enviar al servidor y mostrar resultados. Funciones de los Servidores en la Arquitectura Cliente-Servidor Los servidores en la arquitectura cliente-servidor desempeñan diversas funciones, como servidores de correo, archivos y FTP. Cada tipo de servidor cumple un propósito específico en el procesamiento y almacenamiento de datos. Importancia de la Red en la Comunicación Cliente-Servidor La red de comunicación es fundamental en la arquitectura cliente-servidor, ya que permite la interacción fluida entre los clientes y los servidores. Una red eficiente garantiza una comunicación rápida y confiable para el intercambio de datos. Presencia de Middleware en el Sistema de Información En el sistema actual o propuesto en un plan de mejora, se reconocen dos tipos fundamentales de middleware: de comunicaciones y de base de datos. Estos middleware son esenciales para facilitar la comunicación y el acceso a los datos en el sistema. Conclusiones La arquitectura cliente-servidor es fundamental en el desarrollo de sistemas de información, ya que distribuye la carga de procesamiento entre clientes y servidores. La comunicación eficiente, el uso de middleware y la implementación de servidores especializados son aspectos clave para garantizar un sistema de información efectivo y de alto rendimiento. Una arquitectura informática es un entramado de componentes funcionales que permite integrar una amplia gama de productos y servicios informáticos dentro de una organización. La arquitectura de un sistema determina cómo se organizan los distintos componentes, interfaces y forma de interacción, pudiendo ser centralizada o distribuida. La arquitectura centralizada se caracteriza por ser jerárquica, centralizada y dividida por departamentos, con una única instalación de gran envergadura. En el caso de estudio presentado, se identifica un sistema de información centralizado con falta de integración con otras áreas de la empresa. La arquitectura distribuida distribuye el procesamiento de información en varias computadoras, cada una con capacidad de procesamiento autónomo y dependencia de una red de comunicaciones. Los sistemas distribuidos permiten tiempos de respuesta más rápidos para los usuarios al realizar procesamiento de forma independiente en cada equipo. Es importante realizar un análisis exhaustivo para determinar qué tipo de arquitectura es más adecuada para cada organización, pudiendo incluso combinar elementos de ambas arquitecturas para aprovechar ventajas de cada una. Introducción a la Tecnología Cliente-Servidor La infraestructura de soporte para un sistema de información se basa en arquitecturas como la centralizada y la distribuida. En este contexto, la tecnología cliente-servidor, que se basa en la arquitectura distribuida, es esencial para el procesamiento de datos y la comunicación en sistemas informáticos. Arquitectura Cliente-Servidor La arquitectura cliente-servidor implica la distribución de la capacidad de procesamiento del sistema entre varias computadoras conectadas a través de una red de comunicación de datos. Los clientes realizan solicitudes al servidor, que procesa la información y envía respuestas, permitiendo una interacción eficiente entre los usuarios y los recursos del sistema. Componentes Esenciales de la Infraestructura Cliente-Servidor En la arquitectura cliente-servidor, los componentes clave son los clientes activos, los servidores pasivos y el middleware. Los clientes son responsables de realizar solicitudes, los servidores procesan y responden a esas solicitudes, y el middleware actúa como una capa intermedia que facilita la comunicación entre clientes y servidores. Proceso Cliente-Servidor El proceso cliente-servidor se inicia con la solicitud del usuario a través de la interfaz de la aplicación cliente. Esta solicitud se envía al servidor, que la procesa y envía una respuesta al cliente. Finalmente, el cliente muestra los resultados al usuario, completando así el ciclo de interacción entre el cliente y el servidor. Cliente Liviano en la Arquitectura Cliente-Servidor Los clientes livianos, también conocidos como clientes flacos, son parte integral del proceso cliente-servidor. Estos clientes dependen del servidor para el procesamiento de datos y realizan tareas como tomar datos, enviarlos al servidor y mostrar los resultados al usuario. Su función es fundamental para la interacción eficiente en la arquitectura cliente-servidor. Funciones de los Servidores en la Arquitectura Cliente-Servidor Los servidores desempeñan diversas funciones en la arquitectura cliente-servidor, como servidores de correo, archivos y FTP. Cada tipo de servidor cumple un propósito específico en el procesamiento y almacenamiento de datos, contribuyendo a la eficiencia y disponibilidad de los recursos del sistema. Importancia de la Red en la Comunicación Cliente-Servidor La red de comunicación juega un papel crucial en la arquitectura cliente-servidor, ya que facilita la interacción fluida entre los clientes y los servidores. Una red eficiente garantiza una comunicación rápida y confiable, permitiendo el intercambio de datos de manera oportuna y segura en el sistema. Presencia de Middleware en el Sistema de Información En el sistema actual o propuesto en un plan de mejora, se reconocen dos tipos fundamentales de middleware: de comunicaciones y de base de datos. Estos middleware son esenciales para facilitar la comunicación y el acceso a los datos en el sistema, mejorando la interoperabilidad y la eficiencia en el procesamiento de información. Conclusiones La arquitectura cliente-servidor es un pilar fundamental en el desarrollo de sistemas de información, ya que distribuye la carga de procesamiento entre clientes y servidores, permitiendo una interacción eficiente y escalable. La implementación adecuada de servidores especializados, el uso de middleware y una red de comunicación robusta son aspectos clave para garantizar un sistema de información efectivo y de alto rendimiento en entornos informáticos modernos. El proceso cliente-servidor inicia con la solicitud del usuario a través de la aplicación cliente y culmina con la respuesta del servidor. Los servidores deben ser máquinas de gran capacidad de procesamiento, mientras que los clientes pueden ser computadoras de menor capacidad. La red es fundamental para la comunicación entre los componentes del proceso cliente-servidor. Los clientes necesitan saber qué servidores están disponibles y los clientes y servidores son procesos distintos. Los servidores son responsables de realizar tareas solicitadas por los clientes, como gestionar el tráfico en la red y brindar servicios como acceso a archivos compartidos o correo electrónico. Existen distintos tipos de servidores como servidores de impresiones, servidores de correo, servidores de archivos y servidores FTP, cada uno con funciones específicas. Un cliente híbrido combina características de clientes livianos y pesados, no puede almacenar datos pero puede procesarlos y depende del middleware para interactuar con otros sistemas. Introducción al Modelo Cliente/Servidor El modelo cliente/servidor es una arquitectura ampliamente utilizada en el desarrollo de sistemas de información. Se basa en la división de tareas entre un cliente, que solicita servicios, y un servidor, que proporciona esos servicios. En este resumen, exploraremos los diferentes enfoques y consideraciones clave relacionadas con los modelos cliente/servidor. Clasificación de Modelos Cliente/Servidor En esta sección, se aborda la clasificación de los modelos cliente/servidor en función de las características de sus componentes. Se destacan aspectos como la distribución de capas funcionales entre distintos procesadores y la importancia de la consistencia de los datos. Se menciona la arquitectura de tres capas como una solución que divide la lógica de presentación, negocio y datos. Arquitectura de Tres Capas La arquitectura de tres capas es un enfoque que distribuye la lógica de presentación, negocio y datos en diferentes componentes. En este modelo, el cliente se encarga de la presentación, los servidores de aplicación gestionan la lógica de negocio y los servidores de bases de datos almacenan los datos. Se destaca la ventaja de esta arquitectura para resolver problemas presentes en implementaciones de dos capas. Planos a Nivel de Hardware En esta sección, se explora la representación física de los modelos cliente/servidor a través de un enfoque de dos planos y tres planos. El modelo de dos planos permite una actualización centralizada del procesamiento de la aplicación, mientras que el modelo de tres planos distribuye los niveles funcionales de presentación, negocio y gestión de datos en diferentes procesadores. Implementación Sugerida Se sugiere una implementación basada en tres capas funcionales para mejorar el sistema de información. Esta propuesta incluye la distribución de la lógica de aplicación y la gestión de datos en servidores dedicados, permitiendo una mayor flexibilidad y escalabilidad. Se destaca la importancia de no depender de un único servidor central para procesos y almacenamiento de datos. Conclusiones En conclusión, los modelos cliente/servidor ofrecen una estructura eficiente para el desarrollo de sistemas de información. La distribución de tareas entre clientes y servidores, la clasificación en diferentes capas y la implementación de arquitecturas de dos y tres planos son aspectos clave a considerar. La arquitectura de tres capas se presenta como una solución efectiva para mejorar la escalabilidad y la eficiencia de los sistemas. El modelo cliente-servidor de tres capas puede extenderse a una variante multicapa para acceder a múltiples bases de datos, utilizando servidores de integración. Se sugiere una implementación basada en tres capas funcionales para el diseño de sistemas de información, evitando depender de un único servidor central. En el modelo Fat Client, la mayor parte del procesamiento se realiza en el cliente, mientras que en el Thin Client, el procesamiento pesado corre en el servidor. En una base de datos remota, la lógica de la aplicación está del lado del cliente y el servidor solo se encarga del almacenamiento. En una base de datos distribuida, la gestión de la base de datos se realiza entre cliente y varios servidores de forma compartida. Se sugiere un sistema basado en un proceso distribuido para mejorar el rendimiento del sistema y permitir una fácil actualización de reglas. La arquitectura de tres capas permite distribuir la lógica de negocio entre varios servidores, reducir el tráfico de red y mejorar la respuesta a los clientes. Arquitectura del Software: Definición: Organización fundamental del sistema, incluyendo componentes, relaciones y principios de diseño. Tipos: Puede ser centralizada o distribuida. Tecnologías Cliente-Servidor: Concepto: Modela sistemas de información como servicios proporcionados por servidores a clientes. Sistemas Distribuidos: Definición: Distribuyen el procesamiento de información entre varias computadoras. Funcionamiento: Componentes trabajan sincronizados para visualizar el sistema como una única aplicación. Transparencia: Oculta la complejidad física, permitiendo acceso sin conocer ubicación de componentes. Características: Escalabilidad, interacción externa y tolerancia a fallos. Razones de Distribución: Funcionales, dominio de aplicación y balanceo de carga. Desafíos: Seguridad, mantenimiento y complejidad. Conclusiones: Compartir recursos es esencial en sistemas distribuidos para mejorar el rendimiento y la flexibilidad. La transparencia y la concurrencia son aspectos clave para el funcionamiento eficiente de estos sistemas. En sistemas distribuidos, se comparten recursos como memoria, capacidad de almacenamiento y procesadores a través de la red. Los sistemas distribuidos son abiertos, lo que permite la combinación de hardware y software de diferentes orígenes y la extensión del sistema. La manejanilidad en sistemas distribuidos requiere un mayor esfuerzo para gestionar y mantener el sistema debido a la diversidad de hardware y software. La impredecibilidad en sistemas distribuidos provoca respuestas variables dependiendo de la carga del sistema y de la red. La transparencia en sistemas distribuidos oculta la complejidad del sistema a usuarios y programadores, mostrando el sistema como una unidad. La escalabilidad en sistemas distribuidos permite incrementar la capacidad agregando nuevos recursos sin necesidad de cambios significativos en el software. La tolerancia a fallos en sistemas distribuidos es importante para evitar pérdidas o errores de consistencia, permitiendo la adaptación a expansiones futuras. Las desventajas de los sistemas distribuidos incluyen la complejidad, afectada por el ancho de banda y la velocidad de los procesadores de red, y la seguridad, ya que pueden ser vulnerables a intentos de interceptación de datos. Conceptos Clave: Problemas de la Empresa SEGUX: La empresa de seguros SEGUX enfrenta problemas como demoras en el tratamiento de casos, deficiencias en cobertura y pagos, y falta de resolución de problemas de clientes. Necesidad de Integración de Actores: Destaca la importancia de implementar un sistema que integre a actores internos y externos en la gestión de la organización para mejorar la eficiencia operativa. Aplicaciones Web: Las aplicaciones web permiten la comunicación activa de los usuarios, colaboración y compartir información de forma interactiva. Evolucionaron de páginas estáticas a dinámicas. Navegadores Web: Los navegadores web permiten visualizar documentos en la Web, interpretando distintos tipos de archivos y sitios web para su visualización. Facilitan la interacción con páginas web y documentos multimedia. Proceso de Solicitud de Páginas Web: El proceso implica pasos desde la conexión entre cliente y servidor hasta la respuesta del servidor al cliente, optimizando el ancho de banda y cerrando la conexión al finalizar la actividad del cliente. Resumen General: La empresa SEGUX enfrenta problemas operativos que requieren una reestructuración. Se destaca la importancia de integrar actores internos y externos en la gestión. Las aplicaciones web permiten la interactividad y colaboración de los usuarios. Los navegadores web facilitan la visualización de documentos en la Web. El proceso de solicitud de páginas web implica pasos desde la conexión hasta la respuesta del servidor. Una aplicación web es aquella a la que los usuarios pueden acceder a través de un servidor web utilizando un navegador, lo que permite independencia del sistema operativo del cliente y actualizaciones sencillas. Las aplicaciones web se componen de páginas web que permiten la comunicación activa de los usuarios, colaboración y compartición de información de manera interactiva. La evolución de las aplicaciones web ha pasado de ser colecciones estáticas a páginas con comportamiento dinámico, utilizando métodos como CGI para la interacción entre servidor y cliente. La comunicación entre el navegador web y el servidor web se realiza a través del protocolo HTTP, con soporte de estándares HTML y XHTML. Un servidor web es un software que procesa aplicaciones del lado del servidor, atendiendo peticiones de los clientes y enviando respuestas, utilizando el protocolo HTTP. La empresa analizada enfrenta problemas como demoras en el tratamiento de casos, deficiencias administrativas y falta de integración con actores externos, lo que afecta su desempeño general. La empresa plantea la necesidad de una reestructuración profunda para redefinir procesos actuales y definir características para un nuevo sistema de información que mejore la eficiencia operativa y resuelva los problemas actuales. Introducción a Entornos Web: En esta sección se introducen los conceptos de Internet, Extranet e Intranet, destacando la importancia de definir el entorno de una aplicación web. Internet: Internet ha tenido un impacto significativo en diversos ámbitos como la educación, la industria y las nuevas tecnologías. Ofrece una amplia gama de servicios como comercio electrónico, educación, redes sociales, transferencia de archivos y buscadores. Evolución de la World Wide Web: La Web ha evolucionado desde la estática Web 1.0 hasta la participativa Web 2.0, donde los usuarios tienen un papel activo en la generación de contenido. Se menciona la importancia de los gestores de contenidos en la Web 2.0. Intranet: Es una red privada que permite compartir recursos internos dentro de una organización. Proporciona seguridad, privacidad y colaboración con actores internos de la empresa. Extranet: Permite compartir parte de las funciones y datos de una organización con actores externos, manteniendo niveles de seguridad y perfiles de operación definidos. Puede ser utilizada como una intranet de colaboración con otras compañías. Web 3.0: Se menciona la Web 3.0 que ofrece búsquedas inteligentes, personalización y evolución en redes sociales y navegación geoespacial. Este resumen abarca los conceptos clave presentados en el texto, desde la definición de entornos web hasta la evolución de la World Wide Web y las características de Internet, Intranet, Extranet y la Web 3.0. La Web 4.0 se caracteriza por ofrecer un comportamiento más inteligente y predictivo, basado en Deep Learning y Machine Learning, permitiendo procesar información de manera similar al cerebro humano. Empresas como Google, Microsoft y Facebook están desarrollando sistemas avanzados para la Web 4.0, incluyendo bots de interacción y mejoras en los buscadores para buscar soluciones basadas en la información del usuario. La Web 1.0 se define por ser estática, centralizada y de solo lectura, donde los usuarios no podían interactuar con los contenidos, y los navegadores evolucionaron desde texto a visuales con HTML. La Web 2.0 se destaca por ser dinámica e interactiva, fomentando la colaboración y el intercambio de información entre los usuarios a través de redes sociales, blogs y wikis. Internet es una red descentralizada de comunicación interconectada a nivel mundial, basada en protocolos TCP/IP que garantizan la conexión entre dispositivos, provocando un impacto significativo en diversos ámbitos. Los entornos web incluyen la Intranet (restringida a la organización), Extranet (compartida con actores externos) y la evolución de la World Wide Web, determinando el alcance y la ejecución de aplicaciones web. La Web 3.0 está relacionada con la web semántica, que busca una mayor inteligencia en la búsqueda y organización de información en la red. Arquitecturas de Implementación de Aplicaciones Web: Consideraciones Importantes: Separación de funcionalidades para escalabilidad y rendimiento. Definir arquitectura para soluciones óptimas. Arquitectura con Todo en un Servidor: Todas las funciones en un único servidor. Servicio HTTP, lógica de negocio y base de datos en un mismo equipo. Tecnologías como ASP y PHP permiten esta implementación. Arquitectura con Servicios Separados: Funcionalidades básicas del servidor web en servidores específicos. Servicios HTTP, de aplicaciones y base de datos separados. Utiliza tecnología JSP. Servidor de Aplicaciones: Gestiona lógica de negocio y acceso a datos. Beneficios: centralización, disminución de complejidad y flexibilidad. Ejemplo: JSP. Caché Server Pages (CSP): Tecnología basada en JavaServer Page. Facilita implementación de servidores de aplicaciones separados. Conclusiones: Importancia de definir arquitectura adecuada para implementación de sistemas de información. Diferentes arquitecturas ofrecen ventajas específicas en términos de rendimiento y flexibilidad. Para seleccionar la arquitectura adecuada, es importante considerar el documento de especificaciones del sistema, tomando en cuenta factores como el tipo de aplicación, cantidad de accesos concurrentes, usuarios, seguridad y lógica de negocios. Existe la opción de una arquitectura con todas las funcionalidades en un solo servidor, donde el servicio HTTP, lógica de negocio, lógica de datos y base de datos residen en el mismo equipo, utilizando tecnologías como ASP y PHP. Se recomienda elegir una arquitectura con servidores específicos para cada funcionalidad, lo que brinda mayor rendimiento y escalabilidad al sistema, especialmente considerando un alto nivel de uso y concurrencia. En el caso de estudio mencionado, se destaca la necesidad de integrar distintos actores (empleados, clientes, proveedores), lo que sugiere un sistema con gran concurrencia y volumen de datos. Las tecnologías utilizadas para implementaciones en servidores específicos incluyen ASP para páginas web dinámicas y PHP para desarrollo web general. Existen distintas tecnologías para generación de páginas web, cada una aplicable a diferentes tipos de arquitecturas según sus condiciones de funcionamiento. En las aplicaciones web, se destacan dos componentes fundamentales: el cliente (navegador web) y el servidor web, pudiendo obtener distintas arquitecturas según la implementación de las funcionalidades del servidor. Metodología de Desarrollo de Sitios Web: Análisis de Requisitos: Etapa para establecer requisitos funcionales y construir diagramas de casos de uso. Diseño Conceptual: Detalla el modelo conceptual del dominio de la aplicación basado en los requisitos. Diseño Navegacional: Modela el espacio de navegación y la estructura de navegación, definiendo cómo se navega. Se obtienen diagramas de clase que representan estos modelos. Diseño de Presentación: Representa las vistas de interfaz del usuario mediante modelos de interacción UML. Aspectos Generales de Metodología de Desarrollo: Define pasos necesarios para construir una aplicación de forma ordenada. Comparte pasos comunes en metodologías de desarrollo. Implementación: Fase de implementación del diseño considerando el entorno de ejecución de la aplicación. Consideraciones de Diseño: Navegabilidad, contenido claro y conciso, y elementos para mejorar la experiencia del usuario. Páginas Efectivas: Proveer información útil y concisa en páginas separadas. Considerar la correcta definición de interfaces para permitir pedidos. Sitio Rápido y Ágil: Importancia de la rapidez y practicidad en sitios de negocio para atraer usuarios. Presentación Acorde al Objetivo: Definir claramente la navegabilidad y realizar pruebas exhaustivas para asegurar el buen funcionamiento. Mantenimiento y Actualización: Mantener actualizadas las reglas de negocio y asegurar el funcionamiento en diferentes navegadores. Resumen General: La metodología de desarrollo de sitios web abarca desde el análisis de requisitos hasta la implementación, pasando por el diseño conceptual, navegacional y de presentación. Se enfatiza en la importancia de considerar aspectos como la navegabilidad, contenido claro, rapidez del sitio y la presentación acorde al objetivo. El mantenimiento y actualización son cruciales para mantener actualizadas las reglas de negocio y asegurar la compatibilidad con diversos navegadores. La metodología OOHDM (Object Oriented Hypermedia Design Method) consta de cuatro etapas: diseño conceptual, diseño navegacional, diseño de interfaz abstracta, y definición de arquitectura. En la etapa de diseño conceptual se capturan los conceptos del dominio de la aplicación a través de diagramas. El diseño navegacional implica la construcción de objetos a partir de objetos conceptuales para facilitar la navegación y acceso a la información. La definición de arquitectura considera aspectos como la implementación tecnológica, alojamiento de servidores y ancho de banda. La metodología UML-Based Web utiliza técnicas de orientación a objetos para especificar aplicaciones hipermedia. Se destacan el uso de una notación estándar basada en UML y la definición de pasos para construir modelos. En la etapa de análisis de requisitos se establecen los requisitos funcionales y se construyen diagramas de casos de uso. Se enfatiza la importancia de la apariencia agradable, facilidad de uso y navegabilidad en el diseño de sitios web. Se recomienda utilizar elementos como menús de navegación, contenido claro y conciso, accesibilidad multiplataforma, y ofrecer opciones de idiomas para mejorar la experiencia del usuario. Se han desarrollado diferentes generaciones de tecnología móvil, siendo la 4G una plataforma de datos con mejoras significativas en las velocidades de carga y descarga. La 5G busca ofrecer velocidades aún más altas para permitir una conexión permanente y navegación fluida para los usuarios. Existen varios sistemas operativos para móviles, destacando iOS y Android, pero también se encuentran Blackberry, Symbian, Plasma Mobile, Ubuntu Touch, Windows Phone y KaiOS. HarmonyOS es un sistema operativo de Huawei que busca integrar aplicaciones propias y tecnología para aplicaciones industriales e IoT, compatible con Android. KDE Plasma para móviles es un sistema operativo alternativo a Android que soporta aplicaciones de Ubuntu Touch y se espera sea compatible con apps de Android. Ubuntu Touch es un sistema optimizado para dispositivos móviles con navegadores web que cumplen requisitos como sincronización, privacidad, motor de búsqueda y rapidez. Existen diferentes navegadores web para dispositivos móviles como Google Chrome, Firefox y Edge, cada uno con características de privacidad, sincronización y personalización. Experiencia de Usuario (UX): La Experiencia de Usuario (UX) se refiere a lo que percibe un usuario al interactuar con un producto o servicio, como una aplicación móvil. Es fundamental entender las necesidades de los usuarios y alinearlas con los objetivos del negocio para lograr una buena UX y que la aplicación sea utilizada con éxito. Interfaz de Usuario (UI): La Interfaz de Usuario (UI) es el elemento que permite a un usuario interactuar de manera efectiva con un sistema, como una aplicación. Es esencial alinear las necesidades del usuario con los objetivos y las limitaciones técnicas para lograr la satisfacción del cliente en el uso de la aplicación. Aplicación Web Móvil: Una aplicación web móvil es un tipo de aplicación que funciona desde un navegador web y debe ofrecer las mismas funcionalidades que una PC de escritorio. Permite a las empresas establecer un canal de comunicación directo con los clientes, brindando información actualizada y facilitando trámites sencillos. Desarrollo de Aplicaciones Móviles: Al desarrollar aplicaciones móviles, es crucial considerar si se necesita una app nativa o una web móvil, dependiendo de los destinatarios, objetivos y funcionalidades requeridas. Es importante realizar un análisis para determinar cuál opción es la más adecuada para satisfacer las necesidades de los usuarios y de la empresa. Seguridad y Privacidad en Aplicaciones Móviles: Es esencial verificar la seguridad y privacidad de las aplicaciones móviles antes de descargarlas para proteger los datos privados de los usuarios. Controlar la privacidad a través de la verificación de las aplicaciones descargadas e instaladas es fundamental para garantizar la seguridad de la información. Desarrollar aplicaciones móviles requiere cumplir con políticas de privacidad para evitar problemas de seguridad. Las aplicaciones móviles compiten con las tradicionales de escritorio y web, ofreciendo acceso a múltiples servicios como correo electrónico y música. Las apps móviles son portables, rápidas y no siempre requieren conexión a Internet, brindando una experiencia atractiva para el usuario. Permiten facilitar transacciones, acceder a contenido web y almacenar datos personales de forma segura, ahorrando tiempo en el proceso. Las empresas pueden potenciar sus productos, promocionarse y estar disponibles las 24 horas del día a través de aplicaciones móviles. Las apps aumentan la productividad empresarial, facilitan la comunicación interna y sirven como canales directos de comunicación con los usuarios. Se debe considerar si desarrollar una aplicación móvil o una web móvil dependiendo de los objetivos planteados, con ventajas y usos específicos para cada caso. Ventajas de las aplicaciones HTML5: Menor inversión inicial al no repetir código. Fácil contratación de profesionales especializados. Calidad comparable a las aplicaciones nativas. Facilidad para realizar cambios y funcionar offline. Soluciones online: Ejecución en el servidor. Utilización de herramientas del dispositivo. Manejo de memoria y sincronización con equipos de escritorio. Desventajas de las soluciones online: Desarrollo manual para cada sistema operativo. Instalación manual y limitaciones en la cantidad de información. Tipos de aplicaciones móviles: Aplicaciones nativas: Mayor interacción con hardware, actualización manual y costos elevados. Aplicaciones web: Diseño responsivo y acceso a través de un navegador. Aplicaciones híbridas: Combinación de características nativas y web, menor inversión pero menor rendimiento que las nativas. Aplicaciones Nativas: Las aplicaciones nativas son específicas para una plataforma, ofrecen alta interacción con el hardware pero requieren actualizaciones manuales y tienen costos elevados. Aplicaciones Web: Las aplicaciones web son accesibles a través de un navegador, con diseño responsivo para adaptarse a diferentes dispositivos, independientes de la plataforma. Aplicaciones Híbridas: Las aplicaciones híbridas combinan características de las nativas y web, con menor inversión inicial pero un rendimiento inferior a las aplicaciones nativas. Soluciones Stand-alone: Son aplicaciones independientes que funcionan sin conexión a internet o un servidor central, requieren un paquete ejecutable para cada sistema operativo. Soluciones Smart Client: Las aplicaciones smart client son ejecutables que se instalan en dispositivos y pueden interactuar con un servidor, permitiendo trabajar conectado y desconectado, con capacidad para grandes cantidades de datos. Soluciones Online: Las aplicaciones online se ejecutan en un servidor, utilizan herramientas del dispositivo, manejan la memoria y admiten sincronización con equipos de escritorio, pero requieren desarrollo manual para cada sistema operativo y limitaciones en la cantidad de información. Este resumen abarca los conceptos clave sobre los tipos de aplicaciones móviles, sus ventajas, desventajas y características distintivas para comprender las opciones disponibles en el desarrollo de aplicaciones para dispositivos móviles. Las aplicaciones móviles pueden ser nativas, web o híbridas, y la elección depende de factores como el objetivo, las necesidades a cubrir y el público destinatario. Las aplicaciones nativas son específicas para cada plataforma, se desarrollan en lenguajes propios y permiten un funcionamiento eficiente sin programas externos. Ventajas de las aplicaciones nativas incluyen calidad gráfica para juegos, acceso directo al hardware y mejor interacción con el dispositivo, pero con desventajas como costos y tiempo de desarrollo. Las aplicaciones web móvil son accesibles a través de un navegador web, con ventajas de menor costo y desarrollo sencillo gracias al diseño responsivo. Desventajas de las aplicaciones web incluyen limitaciones de ejecución y desarrollo para diferentes sistemas operativos y hardware. Las soluciones online ejecutan la aplicación en un servidor, permitiendo mayor compatibilidad y manejo de información, pero con limitaciones en acceso a nivel bajo del dispositivo y necesidad de conexión permanente. Las soluciones smart client combinan características de las soluciones standalone y online, permitiendo trabajar conectado o desconectado, con capacidades de bajo nivel y buffers de conexión. Pruebas Automatizadas para Aplicaciones Móviles: Se pueden realizar tres tipos de pruebas. Grabación y reproducción. Scripts de prueba escritos a mano. Experiencia de Usuario: Importancia de la arquitectura de la información. Accesibilidad, usabilidad y navegabilidad clave. Dejar de lado estos conceptos puede llevar al fracaso de la aplicación. Diseño de Aplicaciones Móviles: Metodología de desarrollo de software. Considerar metodologías ágiles. Distribución y actualización de la aplicación. Usabilidad y Accesibilidad: Facilidad de uso y accesibilidad para el usuario. Recomendaciones para mejorar la usabilidad de una aplicación móvil. Arquitectura de la Información: Organización, estructuración y etiquetado de elementos. Ayudar al usuario a encontrar información y completar tareas. Analítica de Aplicaciones Móviles: Importancia de analizar y verificar resultados de implementación. Distribución y actualización de la aplicación. Planificación de una Aplicación: Consideraciones para la planificación de una aplicación móvil. Pruebas Automatizadas para Aplicaciones Móviles: Se describen tres tipos de pruebas: grabación y reproducción, scripts de prueba escritos a mano y pruebas de humo automatizadas que son fundamentales para garantizar la calidad y funcionalidad de las aplicaciones móviles. Experiencia de Usuario: Destaca la importancia de la arquitectura de la información, la accesibilidad, usabilidad y navegabilidad para el éxito de una aplicación móvil. Se enfatiza en la necesidad de considerar estos aspectos para evitar el fracaso del producto. Diseño de Aplicaciones Móviles: Se menciona la metodología de desarrollo de software, la importancia de considerar metodologías ágiles y la distribución y actualización de la aplicación como aspectos clave en el diseño de aplicaciones móviles efectivas. Usabilidad y Accesibilidad: Se aborda la importancia de la usabilidad y accesibilidad en las aplicaciones móviles, proporcionando recomendaciones para mejorar la experiencia del usuario, como mensajes de error descriptivos y arquitectura de información jerárquica. Arquitectura de la Información: Se destaca la organización, estructuración y etiquetado de elementos como clave para ayudar al usuario a encontrar información y completar tareas en una aplicación móvil, resaltando la importancia de una buena arquitectura de la información. Analítica de Aplicaciones Móviles: Se menciona la importancia de analizar y verificar los resultados de la implementación de una aplicación móvil, así como la distribución y actualización continua del producto para garantizar su éxito. Planificación de una Aplicación: Se presentan consideraciones importantes para la planificación de una aplicación móvil, incluyendo la definición clara de objetivos, requerimientos, alcance del proyecto, tecnología adecuada y plan de ejecución para lograr el éxito en su implementación. El desarrollo de nuevas tecnologías y dispositivos móviles permite a las organizaciones crear aplicaciones para mantenerse conectadas con los usuarios. La usabilidad de una aplicación móvil se refiere a la facilidad con la que un usuario puede aprender a usarla y obtener resultados deseados de manera simple. Para mejorar la usabilidad de una app móvil, se deben considerar aspectos como el diseño adaptado a pantallas pequeñas, evitar la escritura excesiva y priorizar diseños de una sola columna. La accesibilidad de una aplicación se relaciona con la simplicidad con la que un usuario puede utilizarla en cualquier contexto. Para garantizar la accesibilidad de una app, se deben seguir pautas como reducir el tamaño de la aplicación, utilizar grillas en el diseño y simplificar los pasos para alcanzar un resultado. La navegabilidad en una aplicación móvil se refiere a lo fácil que es para un usuario moverse entre páginas y elementos. Al desarrollar una aplicación móvil, es crucial definir la plataforma de ejecución, considerar versiones de sistemas operativos y elegir entre aplicaciones nativas, híbridas o multiplataforma. Estructura de una página web: HTML define la estructura con etiquetas como header, section, footer. Herramientas necesarias: Se necesitan softwares y lenguajes para el desarrollo de aplicaciones móviles. Importancia de HTML y CSS: Requerimientos para el desarrollo web: Accesibilidad desde dispositivos móviles, gestión de reservas y cursos. APIs en desarrollo web: HTML es estándar para visualización web, CSS da estilo a los elementos. APIs integradas y de terceros para tareas complejas. JavaScript en desarrollo web: Complementa HTML y CSS, proporciona interactividad y dinamismo. Estructura de una Página Web: Definición: HTML define la estructura con etiquetas como header, section, footer. Resumen: HTML es fundamental para organizar el contenido de una página web en secciones como encabezados, secciones y pies de página. Herramientas Necesarias para Desarrollo Web: Elementos Requeridos: Softwares y lenguajes necesarios para el desarrollo de aplicaciones móviles. Resumen: Es necesario contar con herramientas específicas para crear y diseñar sitios web y aplicaciones móviles. Importancia de HTML y CSS: Función de HTML: Estándar para visualización web. Función de CSS: Estilo visual de la página, colores, fuentes, etc. Relación entre HTML y CSS: CSS define la apariencia de los elementos HTML en la pantalla. Resumen: HTML estructura la página, CSS le da estilo y apariencia visual. Requerimientos para el Desarrollo Web: Aspectos a Considerar: Accesibilidad desde dispositivos móviles, gestión de reservas y cursos. Resumen: Para desarrollar una página web exitosa, se deben tener en cuenta la accesibilidad y funcionalidades específicas. APIs en Desarrollo Web: Utilidad de las APIs: Integradas y de terceros para tareas complejas. Resumen: Las APIs son herramientas clave para acceder a funcionalidades avanzadas y servicios externos en el desarrollo web. JavaScript en Desarrollo Web: Rol de JavaScript: Complementa HTML y CSS, proporciona interactividad y dinamismo. Resumen: JavaScript es crucial para añadir interactividad y dinamismo a las páginas web, complementando la estructura y estilo proporcionados por HTML y CSS. Con este examen, se evaluará el conocimiento sobre la estructura básica de una página web, las herramientas necesarias, la importancia de HTML y CSS, los requerimientos para el desarrollo, el uso de APIs y el papel de JavaScript en el desarrollo web. Etiquetas HTML como nav, header, section, y footer son fundamentales para la estructura de una página web. Es crucial desarrollar páginas web con lenguaje HTML5 para garantizar accesibilidad desde diferentes dispositivos manteniendo la calidad de experiencia de usuario. HTML5 elimina etiquetas obsoletas de HTML 4 y presenta nuevas características como APIs de JavaScript. CSS se encarga de dar estilo y apariencia visual a los elementos HTML en una página web. Se pueden añadir estilos CSS en un archivo separado recomendado, mediante la etiqueta style en el head, o directamente en línea en el HTML. Las etiquetas en HTML son cruciales para estructurar y dar formato al contenido de una página web. JavaScript se utiliza tanto como lenguaje del lado del cliente como del servidor, con herramientas como Node.js para este último. Editores de código: o Multi Layout, soporte para varios lenguajes y syntax highlight configurable. o Búsqueda dinámica y auto completado. o Soporte de snippets, plugins y marcado de llaves. Herramientas de desarrollo: o Entornos de desarrollo: o Dreamweaver para diseño web, Eclipse con editor de texto y pruebas unitarias. Bloc de notas: o ATOM, Sublime Text y Visual Studio Code son opciones destacadas. Editor básico para archivos de texto sencillos y HTML. Software de desarrollo: o Visual Studio Code optimizado para aplicaciones web y Eclipse con diversas funcionalidades. Para más información, se puede acceder a los enlaces proporcionados. 1. Sublime Text: Sublime Text es un editor de texto y código fuente con características como minimapa, multi selección, soporte de snippets y plugins, pestañas, resaltado de paréntesis e indentación. Ofrece funcionalidades avanzadas para facilitar la codificación. 2. Bloc de Notas: El Bloc de Notas es un editor básico de Windows para archivos de texto sencillos, como HTML. Aunque simple, es útil por su facilidad de uso y rapidez en la edición de archivos simples. 3. Otras Opciones: Existen alternativas como NotePad++, Brackets y Netbeans, que también son herramientas de desarrollo populares. La elección depende de las necesidades del proyecto y del soporte que ofrecen. 4. Software de Desarrollo: Se mencionan herramientas como ATOM, Sublime Text y Visual Studio Code, cada una con sus características específicas para el desarrollo de aplicaciones web y móviles. También se destaca la importancia de seleccionar una herramienta adecuada según las necesidades del proyecto. 5. Características de Sublime Text: Sublime Text ofrece características como multi layout, soporte nativo para varios lenguajes, syntax highlight configurable, búsqueda dinámica, auto completado, marcado de llaves, snippets y plugins. Estas funcionalidades mejoran la productividad del desarrollador. 6. Conclusión: Es esencial contar con herramientas adecuadas para el desarrollo de aplicaciones, como Sublime Text, que brinda funcionalidades avanzadas y facilita la codificación. La elección de la herramienta correcta puede impactar significativamente en la productividad y eficiencia del desarrollo de software. Este resumen abarca los conceptos clave presentados en el texto, desde las características de Sublime Text hasta la importancia de seleccionar la herramienta adecuada para el desarrollo de proyectos. Adobe DreamWeaver es un software para diseño web, adquirido por Adobe Systems, que soporta estándares web y tecnologías como CSS y JavaScript. Dreamweaver es un entorno de desarrollo web que permite ver el contenido mientras se codifica, con funciones como resaltado de sintaxis y administración de sitios. Eclipse es un software de programación multiplataforma de código abierto, respaldado por la Fundación Eclipse, con características como autocompletado inteligente y editor multiplataforma. Visual Studio Code es un editor de código fuente multiplataforma con soporte para depuración, control de Git y otras funciones importantes. Existen otras opciones de herramientas de desarrollo como NotePad++, Brackets y Netbeans, que se pueden elegir según las necesidades del proyecto. Proceso de instalación Apache Cordova: Es necesario tener Node.JS instalado. Se detallan los pasos de instalación. Instalación de prerrequisitos para la construcción de la aplicación: Se requiere instalar los SDKs para cada plataforma. Se puede verificar los requerimientos con el comando. Parte del código generado: Muestra un ejemplo de código HTML y JavaScript. Se puede ejecutar la aplicación en el navegador. Desarrollo multi-plataforma con Apache Cordova: Permite desarrollar una sola aplicación para múltiples plataformas. Se menciona la herramienta PhoneGap como versión de Adobe de Apache Cordova. Proceso de Instalación de Apache Cordova Se requiere tener Node.JS instalado. Los pasos de instalación se detallan en el documento. Instalación de Prerrequisitos para la Construcción de la Aplicación Es necesario instalar los SDKs para cada plataforma. Se puede verificar los requerimientos con el comando. Parte del Código Generado Se muestra un ejemplo de código HTML y JavaScript. La aplicación se puede ejecutar en el navegador. Desarrollo Multi-Plataforma con Apache Cordova Permite desarrollar una sola aplicación para múltiples plataformas. Se menciona la herramienta PhoneGap como una versión de Adobe de Apache Cordova. Apache Cordova es un entorno de desarrollo de aplicaciones móviles que permite construir apps híbridas utilizando HTML5, CSS3 y JavaScript, sin necesidad de usar las APIs específicas de cada plataforma como Android e iOS. PhoneGap es la versión de Adobe de Apache Cordova. Apache Cordova utiliza HTML5 y CSS3 para la presentación de la aplicación, y JavaScript para el desarrollo de la lógica, permitiendo acceso al hardware del dispositivo como el GPS y la cámara. Para crear una aplicación con Cordova se debe iniciar creando un proyecto Cordova, seleccionar un directorio de trabajo, crear la estructura de directorio, acceder al directorio del proyecto y agregar las plataformas deseadas como iOS y Android. El desarrollo de aplicaciones móviles implica el uso de diferentes lenguajes de programación y IDEs según la plataforma (Java para Android, Objective C para iOS), lo que puede resultar inconveniente al tener que desarrollar múltiples versiones de una misma app. Apache Cordova es una solución multiplataforma que permite desarrollar aplicaciones móviles usando HTML5, CSS3 y JavaScript, lo que facilita la creación de aplicaciones para diferentes plataformas con un mismo código. Para probar las aplicaciones creadas con Cordova, se pueden utilizar emuladores como el de Android, y se puede realizar la prueba de funcionamiento mediante el comando correspondiente. Se destaca la importancia de utilizar Bootstrap para incorporar elementos complejos como formularios en una página web. Se enfatiza en priorizar el contenido en la página web, siguiendo la estrategia "Mobile first". Se menciona la redistribución de contenidos en una grilla de tres columnas utilizando el diseño de la página. Se hace referencia a la integración de Bootstrap en la página a través de código y la necesidad de incorporar jQuery, Popper.js y JavaScript de Bootstrap. Se menciona la implementación de soluciones a través del desarrollo de aplicaciones utilizando HTML5, CSS3, JavaScript y frameworks existentes. Desarrollo de Aplicaciones Web y Móviles El desarrollo de aplicaciones web y móviles presenta desafíos para profesionales de sistemas y diseñadores, que deben implementar soluciones adecuadas para cumplir objetivos y brindar una experiencia de usuario exitosa en un tiempo reducido. Desarrollo de Aplicaciones para Dispositivos Móviles El proceso de desarrollo de aplicaciones móviles implica determinar la solución a implementar según objetivos, requerimientos y alcance del proyecto, además de elegir la tecnología adecuada y planificar la ejecución. Trabajo con Diferentes Resoluciones de Pantalla Es fundamental comprender cómo trabajar con diferentes resoluciones de pantalla al desarrollar una aplicación, normalizando tamaños para garantizar una experiencia consistente. Implementación de Bootstrap La utilización de Bootstrap permite aplicar diseño responsivo en una página web, facilitando el reacomodamiento de elementos ante cambios en las dimensiones de visualización. Integración de Elementos en la Página Web Se destaca la importancia de integrar elementos complejos como formularios en una página web, priorizando el contenido y siguiendo la estrategia "Mobile first". Distribución de Contenidos en Grilla Para distribuir contenidos en grilla, se debe seguir un procedimiento que incluye acceder al sitio de Bootstrap, seleccionar un ejemplo de grilla de tres columnas y ajustarlo según las necesidades de diseño. En resumen, el proceso de desarrollo de una aplicación implica comprender las necesidades del proyecto, trabajar con diferentes resoluciones de pantalla, integrar elementos complejos de forma responsiva y distribuir contenidos de manera estructurada en una página web. Se muestra un ejemplo de desarrollo web utilizando JQueryMobile, un framework que facilita el desarrollo rápido de aplicaciones para dispositivos móviles en HTML5. La estructura de contenidos se define a través del atributo data-role en HTML5, permitiendo la creación de interfaces compatibles con dispositivos móviles. Se destacan dos frameworks populares para el desarrollo de aplicaciones móviles: Bootstrap y JQueryMobile. Bootstrap es un framework CSS de código abierto que facilita la maquetación rápida de páginas web y la incorporación de elementos complejos como formularios. JQueryMobile es un sistema de interfaz de usuario basado en HTML5, diseñado para crear sitios web y aplicaciones responsivos para dispositivos móviles y de escritorio. Al utilizar Bootstrap, se puede aplicar diseño responsivo para que la página se adapte a diferentes tamaños de pantalla. El proceso de desarrollo de aplicaciones móviles implica determinar los objetivos del proyecto, los requerimientos, la tecnología adecuada y el plan de ejecución.

Tags

information systems architecture computer systems
Use Quizgecko on...
Browser
Browser