1.- Panorama general de las aplicaciones distribuidas
+18
Aviles Ochoa Elith
Toribio Teran Duarte
Cesar Salgado Sandoval
cervando
Sandy Toribio Salvador
lupitha_g
filirc13
Ray29
BERENICE HDZ. DIAZ
Jesus Valerio
gamaliel montiel
finees gaona
IVAN JUAREZ NUÑEZ
Manuel Jimenez Aburto
Jose Victor UB
juan carlos cruz mendoza
KAREN DINORA ANTUNEZG
Admin
22 participantes
Página 4 de 4.
Página 4 de 4. • 1, 2, 3, 4
respuestas 2 y 3 del foro
alumno JACOB OROZCO HERNANDEZ
2) INVESTIGAR LA EVOLUCIÓN DE LAS TECNOLOGÍAS PARA EL DESARROLLO DE APLICACIONES DISTRIBUIDAS (DE INTERFAZ DE USUARIO, DE APLICACIÓN, DE BASE DE DATOS, DE COMUNICACIÓN DE DATOS, DE CONEXIÓN ENTRE CAPAS). ELABORE UN RESUMEN CON CARACTERÍSTICAS O UNA TABLA COMPARATIVA PARA COMPARTIR EN ESTE FORO.
es muy sobresaliente y muy notorio, el saber que nuevas tecnologías tienen gran auje en las áreas de trabajo, con el fin de que existan mejores oportunidades, desde las aplicaciones monolíticas hasta las de n capas
• LA CAPA DE APLICACIÓN es la encargada de la revisión de los aspectos de calidad, en general se encarga de la revisión del mantenimiento general, y lo que un servicio de calidad requiere.
• LA EVOLUCIÓN DE LAS BASES DE DATOS ha sido muy importante ya que ha implementado diferentes métodos y formas de almacenamiento y ha dejado atrás el almacenamiento de un solo registro en la cual la perdida de información era muy frecuente
LA EVOLUCIÓN DE LA INTEFAZ de usuario no es muy antigua ya que anteriormente no existía una interacción del usuario con la maquina, además de que esta interfaz utiliza características como representaciones graficas para poder presentar la información.
3.- INVESTIGAR LOS ESCENARIOS DE UTILIZACIÓN DE LAS APLICACIONES DISTRIBUIDAS, ASI COMO DIFERENTES PROBLEMAS COMUNES EN EL DESARROLLO Y USO DE APLICACIONES DISTRIBUIDAS. ELABORAR UN RESUMEN CON CARACTERISTICAS O UNA TABLA COMPARATIVA PARA COMPARTIR EN ESTE FORO.
Algunos escenarios que utilizan aplicaciones distribuidas son los siguientes:
CREACIÓN DE BLOGS - WORDPRESS
wordpress es un sistema de gestión de contenido enfocado a la creación de blogs (sitios web periódicamente actualizados). desarrollado en php y mysql, bajo licencia gpl y código modificable, tiene como fundador a matt mullenweg. wordpress fue creado a partir del desaparecido b2/cafelog y se ha convertido junto a movable type en el cms más popular de la blogosfera. las causas de su enorme crecimiento son, entre otras, su licencia, su facilidad de uso y sus características como gestor de contenidos
.
CREADOR DE WIKIS - MEDIAWIKI.
Mediawiki es un software para wikis libre programado en el lenguaje php. es el software usado por wikipedia y otros proyectos de la fundación wikimedia (wikcionario, wikilibros, etc). ha tenido una gran expansión desde el año 2005, existiendo un gran número de wikisbasados en este software que no mantienen relación con dicha fundación, aunque sí comparten la idea de la generación de contenidos de manera colaborativa. se encuentra bajo la licencia de software gnu general public license.
Media wiki puede ser instalado en los servidores web apache e internet information servicesy puede usar como motor de base de datos mysql o postgresql.
También se llama mediawiki al espacio de nombres (ver más abajo) donde se hallan los mensajes de su interfaz listos para su traducción a la lengua local de cada wiki.
EDUCACIÓN A DISTANCIA - MODDLE.
moodle es un ambiente educativo virtual, sistema de gestión de cursos, dedistribución libre, que ayuda a los educadores a crear comunidades de aprendizaje en línea. este tipo de plataformas tecnológicas también se conoce como lms (learning management system).
moodle fue creado por martin dougiamas, quien fue administrador de webct en launiversidad tecnológica de curtin. basó su diseño en las ideas del constructivismoen pedagogía que afirman que el conocimiento se construye en la mente del estudiante en lugar de ser transmitido sin cambios a partir de libros o enseñanzas y en el aprendizaje colaborativo.
ADMINISTRAR BD EN WEB - PHPMYADMIN.
phpmyadmin es una herramienta escrita enphp con la intención de manejar la administración de mysql a través de páginas web, utilizando internet. actualmente puede crear y eliminar bases de datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos, ejecutar cualquier sentencia sql, administrar claves en campos, administrar privilegios, exportar datos en varios formatos y está disponible en 62 idiomas. se encuentra disponible bajo la licencia gpl.
hacemos mención de los problemas que existen en el diseño de las aplicaciones distribuidas:
La compatibilidad de los Tipos de Datos: Distintos sistemas operativos tienen diferentes tipos de datos que no son siempre compatibles entre sí.
Fallas del Servidor: Debido a que los componentes pueden ser remotos, una falla de cualquiera de ellos puede hacer que toda la aplicación falle.
Fallas del Cliente: El servidor debe saber cómo responder a las fallas del cliente.
Reintento de llamadas: Si por ejemplo, se hace una llamada a un método en un servidor
para generar una orden de compra muy grande, y el servidor responde pero se pierde la respuesta por fallas de red, no es muy eficiente volver a enviar la orden de compra.
Seguridad: En aplicaciones distribuidas los problemas de seguridad se multiplican. Por ejemplo, se debe considerar como: Autenticar a los usuarios Autorizarlos a acceder a los recursos, encriptar la información que viaja por la red, evitar ataques de denegación de servicio.
ATENTAMENTE: JACOB OROZCO HERNANDEZ
VIII A LIC INFORMATICA.
jacob o.- Invitado
REPLICA A TORIBI TERAN
compañero me parece perfecto como diste la explicacion de la pregunta numero 4, esta muy bien complementada, talves te falto,, pero seria muy poco, es entendible la explicacion y clasificacion de los puntos que resaltaste.. felicidades amigo..
atentamente: JACOB OROZCO HERNANNDEZ
VIII A LIC INFORMATICA
atentamente: JACOB OROZCO HERNANNDEZ
VIII A LIC INFORMATICA
jacob o.- Invitado
REPLICA A JACOB OROZCO HERNANDEZ
Compañero jacob me parece muy bien la forma en como contaste las 2 preguntas creo q fuiste claro y preciso en lo que contestaste respecto a la evolucion de las tecnologias para el desarrollo de aplicaciones distribuidas y respecto a los escenarios de donde se utilizan dichas aplicaciones tambien coincido con tu respuesta.
NOMBRE DEL ALUMNO: JOSE ANTONIO ORTIZ VENEGAS
CARRERA: LIC. EN INFORMATICA
VIII SEMESTRE GRUPO A
NOMBRE DEL ALUMNO: JOSE ANTONIO ORTIZ VENEGAS
CARRERA: LIC. EN INFORMATICA
VIII SEMESTRE GRUPO A
jose antonio ortiz venega- Mensajes : 7
Fecha de inscripción : 29/08/2012
Respuesta A Los Reactivos De Wendy Elizabeth Lucas Macedonio.
2) Investigar la Evolución de las tecnologías para el desarrollo de aplicaciones distribuidas (De interfaz de usuario, De aplicación, De base de datos, De comunicación de datos, De conexión entre capas). Elabore un resumen con caracteristicas o una tabla comparativa para compartir en este Foro.
La evolución de las tecnologías en el desarrollo de aplicaciones es muy notoria ya que con el paso del tiempo se han ido actualizando mejores y nuevas tecnologías para revolucionar la manera de trabajo desde las aplicaciones monolíticas hasta las de N capas. La evolución de las tecnologías cliente/servidor sumada a las nuevas tecnologías como, web services, XML, la comunicación en sincronía por medio de mensajes, el uso de application servers , son algunos de los conocimientos que permiten llevar a cabo el desarrollo de aplicaciones modernas y actualizadas.
En Interfaz de usuario:
La aplicación muestra y visualiza información a los usuarios y acepta entradas o respuestas del usuario para utilizarlas por su programa. Mediante la interfaz de usuario no desarrolla ningún procesamiento de negocios o reglas de validación de negocios o alguna otra forma de aplicación.
En aplicación:
Cuando se adquiere un diseño distribuido de aplicaciones ya sea organizacionales como empresariales, aumenta el modo de utilización, reduce la cantidad de recursos y los costos utilizados en el desarrollo y mantenimiento.
Este nuevo enfoque de diseño pone en manos de los desarrolladores no solo la funcionalidad que demandan las aplicaciones, sino también la seguridad, rapidez y eficasia.
En bases de datos:
La evolución de las bases de datos distribuidas se debe por mayor razones a organizaciones las cuales han demandado que mayores capacidades sean incorporadas a las bases de datos, tales como la integración de información desde distintos sitios donde se encuentre la empresa distribuida hacia algún sitio. Lo cual brinda un mayor desarrollo de las tecnologías de comunicación ya que han permitido enlazar datos con aplicaciones que se encuentran en sitios distintos y remotos, esto facilita el manejo de información y amplitud en todo su entorno.
En comunicación de datos:
La elaboración de aplicaciones distribuidas a surgido como la estructura y el metodo mas fiable para la construcción de aplicaciones multiplataforma en la mayor parte de las empresas. Este cambio radical en los modelos de computación, desde los sistemas monolíticos basados en mainframe y los tradicionales sistemas cliente-servidor, hacia sistemas distribuidos multiplataforma altamente modularles, representa el desarrollo rápido y avance de la investigación en el mundo del desarrollo de aplicaciones.
3) Investigar los Escenarios de utilización de las aplicaciones distribuidas, asi como diferentes Problemas comunes en el desarrollo y uso de aplicaciones distribuidas. Elaborar un resumen con caracteristicas o una tabla comparativa para compartir en este Foro.
Los escenarios de utilización de aplicaciones distribuidos son muy comunes en la población los escenarios tales como los remote login, correo electrónico, navegación web, telefonía IP, y la compartición de archivos p2p.
Algunos escenarios donde se utilizan las aplicaciones distribuidas son:
MODDLE:
Es un ambiente educativo virtual, sistema de gestión de cursos de distribución libre. Ayuda a los educadores a crear comunidades de aprendizaje en línea. A este tipo de plataformas tecnológicas también se conoce como LMS.
WORDPRESS:
Es un sistema de gestión de contenido utilizado para crear blogs.
CREADOR DE WIKIS – MEDIAWIKI:
Mediawiki es un software para wikis libre, programado en el lenguaje PHP.
Es el software utilizado por Wikipedia y otros proyectos de la misma (wikcionario, wikilibros, etc.). Mediawiki puede ser instalado en los servidores web apache e internet information services y como base de datos utiliza Mysql o Postgresql.
ADMINISTRADOR DE BASE DE DATOS WEB – PHPMYADMIN:
Phpmyadmin es una herramienta escrita en PHP con la intención de manejar la administración de Mysql a través de las páginas Web, utilizando internet. Actualmente se puede crear y eliminar bases de datos, crear, eliminar y alterar tablas, borrar editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos y tablas en diversos formatos.
El desarrollo de aplicaciones distribuidas requirió de nuevas técnicas de diseño y de generación de modelos. También trajo nuevos problemas. Existen 2 tipos distintos de arquitecturas que se utilizaron antes de .NET para hacer aplicaciones distribuidas: Llamadas a Procedimiento Remoto (RPC) Arquitecturas basadas en mensajes
Se verán los problemas técnicos que este tipo de arquitecturas tiene y finalmente como los Estándares Web son utilizados para hacer la nueva generación de aplicaciones distribuidas
Hay una serie de problemas comunes en el diseño de las aplicaciones distribuidas:
La compatibilidad de los Tipos de Datos: Distintos sistemas operativos tienen diferentes tipos de datos que no son siempre compatibles entre sí.
Fallas del Servidor: Debido a que los componentes pueden ser remotos, una falla de cualquiera de ellos puede hacer que toda la aplicación falle .
Fallas del Cliente: El servidor debe saber como responder a las fallas del cliente.
Reintento de llamadas: Si por ejemplo, se hace una llamada a un método en un servidor para generar una orden de compra muy grande, y el servidor responde pero se pierde la respuesta por fallas de red, no es muy eficiente volver a enviar la orden de compra.
Seguridad: En aplicaciones distribuidas los problemas de seguridad se multiplican. Por ejemplo, se debe considerar como: Autenticar a los usuarios Autorizarlos a acceder a los recursos Encriptar la información que viaja por la red Evitar ataques de denegación de servicio
Sincronización de la hora: Hay operaciones que dependen de la fecha y la hora. Por ejemplo, no es lógico en una aplicación procesar un envío de mercadería antes de haber recibido la orden de compra. Si el cliente y el servidor tienen fechas distintas, se debe generar un mecanismo de sincronización de hora para evitar este problema.
La arquitectura basada en RPC Qué es RPC: RPC son llamadas a procedimientos o funciones en sistemas remotos, es decir en máquinas distintas a la máquina local. Transparencia de localización: El desarrollador utiliza los componentes sin necesidad de saber su ubicación física. Con RPC tanto en el cliente como en la máquina donde reside el componente hay subsistemas que se ocupan de la comunicación y el intercambio de datos.
Att: Wendy Elizabeth Lucas Macedonio
Licenciatura En Informatica
Grupo: B Semestre: VIII
La evolución de las tecnologías en el desarrollo de aplicaciones es muy notoria ya que con el paso del tiempo se han ido actualizando mejores y nuevas tecnologías para revolucionar la manera de trabajo desde las aplicaciones monolíticas hasta las de N capas. La evolución de las tecnologías cliente/servidor sumada a las nuevas tecnologías como, web services, XML, la comunicación en sincronía por medio de mensajes, el uso de application servers , son algunos de los conocimientos que permiten llevar a cabo el desarrollo de aplicaciones modernas y actualizadas.
En Interfaz de usuario:
La aplicación muestra y visualiza información a los usuarios y acepta entradas o respuestas del usuario para utilizarlas por su programa. Mediante la interfaz de usuario no desarrolla ningún procesamiento de negocios o reglas de validación de negocios o alguna otra forma de aplicación.
En aplicación:
Cuando se adquiere un diseño distribuido de aplicaciones ya sea organizacionales como empresariales, aumenta el modo de utilización, reduce la cantidad de recursos y los costos utilizados en el desarrollo y mantenimiento.
Este nuevo enfoque de diseño pone en manos de los desarrolladores no solo la funcionalidad que demandan las aplicaciones, sino también la seguridad, rapidez y eficasia.
En bases de datos:
La evolución de las bases de datos distribuidas se debe por mayor razones a organizaciones las cuales han demandado que mayores capacidades sean incorporadas a las bases de datos, tales como la integración de información desde distintos sitios donde se encuentre la empresa distribuida hacia algún sitio. Lo cual brinda un mayor desarrollo de las tecnologías de comunicación ya que han permitido enlazar datos con aplicaciones que se encuentran en sitios distintos y remotos, esto facilita el manejo de información y amplitud en todo su entorno.
En comunicación de datos:
La elaboración de aplicaciones distribuidas a surgido como la estructura y el metodo mas fiable para la construcción de aplicaciones multiplataforma en la mayor parte de las empresas. Este cambio radical en los modelos de computación, desde los sistemas monolíticos basados en mainframe y los tradicionales sistemas cliente-servidor, hacia sistemas distribuidos multiplataforma altamente modularles, representa el desarrollo rápido y avance de la investigación en el mundo del desarrollo de aplicaciones.
3) Investigar los Escenarios de utilización de las aplicaciones distribuidas, asi como diferentes Problemas comunes en el desarrollo y uso de aplicaciones distribuidas. Elaborar un resumen con caracteristicas o una tabla comparativa para compartir en este Foro.
Los escenarios de utilización de aplicaciones distribuidos son muy comunes en la población los escenarios tales como los remote login, correo electrónico, navegación web, telefonía IP, y la compartición de archivos p2p.
Algunos escenarios donde se utilizan las aplicaciones distribuidas son:
MODDLE:
Es un ambiente educativo virtual, sistema de gestión de cursos de distribución libre. Ayuda a los educadores a crear comunidades de aprendizaje en línea. A este tipo de plataformas tecnológicas también se conoce como LMS.
WORDPRESS:
Es un sistema de gestión de contenido utilizado para crear blogs.
CREADOR DE WIKIS – MEDIAWIKI:
Mediawiki es un software para wikis libre, programado en el lenguaje PHP.
Es el software utilizado por Wikipedia y otros proyectos de la misma (wikcionario, wikilibros, etc.). Mediawiki puede ser instalado en los servidores web apache e internet information services y como base de datos utiliza Mysql o Postgresql.
ADMINISTRADOR DE BASE DE DATOS WEB – PHPMYADMIN:
Phpmyadmin es una herramienta escrita en PHP con la intención de manejar la administración de Mysql a través de las páginas Web, utilizando internet. Actualmente se puede crear y eliminar bases de datos, crear, eliminar y alterar tablas, borrar editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos y tablas en diversos formatos.
Problemas comunes en el desarrollo Y uso de Aplicaciones Distribuidas:
El desarrollo de aplicaciones distribuidas requirió de nuevas técnicas de diseño y de generación de modelos. También trajo nuevos problemas. Existen 2 tipos distintos de arquitecturas que se utilizaron antes de .NET para hacer aplicaciones distribuidas: Llamadas a Procedimiento Remoto (RPC) Arquitecturas basadas en mensajes
Se verán los problemas técnicos que este tipo de arquitecturas tiene y finalmente como los Estándares Web son utilizados para hacer la nueva generación de aplicaciones distribuidas
Hay una serie de problemas comunes en el diseño de las aplicaciones distribuidas:
La compatibilidad de los Tipos de Datos: Distintos sistemas operativos tienen diferentes tipos de datos que no son siempre compatibles entre sí.
Fallas del Servidor: Debido a que los componentes pueden ser remotos, una falla de cualquiera de ellos puede hacer que toda la aplicación falle .
Fallas del Cliente: El servidor debe saber como responder a las fallas del cliente.
Reintento de llamadas: Si por ejemplo, se hace una llamada a un método en un servidor para generar una orden de compra muy grande, y el servidor responde pero se pierde la respuesta por fallas de red, no es muy eficiente volver a enviar la orden de compra.
Seguridad: En aplicaciones distribuidas los problemas de seguridad se multiplican. Por ejemplo, se debe considerar como: Autenticar a los usuarios Autorizarlos a acceder a los recursos Encriptar la información que viaja por la red Evitar ataques de denegación de servicio
Sincronización de la hora: Hay operaciones que dependen de la fecha y la hora. Por ejemplo, no es lógico en una aplicación procesar un envío de mercadería antes de haber recibido la orden de compra. Si el cliente y el servidor tienen fechas distintas, se debe generar un mecanismo de sincronización de hora para evitar este problema.
La arquitectura basada en RPC Qué es RPC: RPC son llamadas a procedimientos o funciones en sistemas remotos, es decir en máquinas distintas a la máquina local. Transparencia de localización: El desarrollador utiliza los componentes sin necesidad de saber su ubicación física. Con RPC tanto en el cliente como en la máquina donde reside el componente hay subsistemas que se ocupan de la comunicación y el intercambio de datos.
Att: Wendy Elizabeth Lucas Macedonio
Licenciatura En Informatica
Grupo: B Semestre: VIII
Wndy- Invitado
Respuesta A Los Reactivos De Ovier Silva Hernandez
1.- Investigar la Evolución de las aplicaciones informáticas (Aplicaciones monolíticas, Aplicaciones cliente/servidor, Aplicaciones de 2,3 y n capas; y Aplicaciones distribuidas). Elabore un resumen con características o una tabla comparativa para compartir en este Foro.
La evolución de las aplicaciones informáticas se dio debido a los siguientes factores:
1. Trabajo a distancia.
2. Compartir información.
3. Accesibilidad.
4. Seguridad en la protección de la información (tener la base de datos particionada en dos o más nodos).
5. Independencia lugares.
En la actualidad cualquier aplicación cuenta generalmente con tres partes diferenciadas:
- Una interfaz de usuario: Elemento con el que interacciona el usuario de la aplicación,
ejecutando acciones, introduciendo u obteniendo información.
- Lógica o Reglas de negocio: Son las que procesan la información para generar los
resultados que persiguen, siendo el elemento fundamental que diferencia unas
aplicaciones de otras.
- Gestión de datos: Se ocupa del almacenamiento y recuperación de la información.
APLICACIONES MONOLÍTICAS:
Son aquellas en las que el software se estructura en grupos funcionales muy acoplados, involucrando los aspectos referidos a la presentación, procesamiento y almacenamiento de la información. En este rubro están considerados las distintas aplicaciones para escritorio: sistemas operativos, ofimática, juegos monousuario, etc.
APLICACIONES DE 2, 3 Y N CAPAS
Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
APLICACIONES DE 2 CAPAS.
La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar.
Las capas que esta arquitectura presenta son las siguientes:
Nivel de aplicación: Este nivel es en el que se encuentra toda la interfaz del sistema y es la que el usuario puede disponer para realizar su actividad con el sistema.
Nivel de la base de datos: Este nivel de la Base de Datos también llamado el Repositorio de Datos, es la capa en donde se almacena toda la información ingresada en el sistema y que se deposita en forma permanente.
APLICACIONES DE TRES CAPAS
Aplicación de tres capas.
Nivel de Aplicación: La diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que trabajar con la semántica propia de aplicación, sin tener que preocuparse de cómo esta implementado este ni de su estructura física.
Nivel de Dominio de la aplicación: En cambio este nivel se encarga de toda la estructura física y el dominio de aplicación.
Algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora únicamente se cambia la regla en el servidor de aplicación y esta actuará en todos los clientes, cosa que ni sucedía con la arquitectura en dos capas que si alguna regla se la cambia, se tenía que ir a cada cliente a realizar el cambio.
Nivel de Repositorio: Sigue siendo la capa en donde se almacenan los datos y toda la información.
Las herramientas para el desarrollo de tres capas son:
Visual Basic en lo que se refiere a la capa de Aplicación
SQL Server en lo que se refiere al repositorio de datos.
MTS en lo que se refiere al nivel del dominio de Aplicación.
APLICACIONES DE N CAPAS:
En una aplicación distribuida en n-capas los diferentes procesos están distribuidos en diferentes capas no sólo lógicas, sino también físicas. Los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. Cada equipo posee una configuración distinta y está optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.
APLICACIONES DISTRIBUIDAS
El diseño de aplicaciones modernas involucra la división de una aplicación en múltiples capas; la interfaz de usuario, la capa media de objetos de negocios, y la capa de acceso a datos. Puede ser útil identificar los tipos de procesamiento que podemos esperar que una aplicación realice. Muchas aplicaciones pueden, al menos, hacer lo siguiente:
• Cálculos u otros procesos de negocios.
• Ejecución de reglas de negocios.
• Validación de datos relacionados al negocio.
• Manipulación de datos.
• Ejecución de las reglas de datos relacional.
• Interactuar con aplicaciones externas o servicios.
• Interactuar con otros usuarios.
APLICACIONES CLIENTE/SERVIDOR:
Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
3.- Investigar los Escenarios de utilización de las aplicaciones distribuidas, así como diferentes Problemas comunes en el desarrollo y uso de aplicaciones distribuidas. Elaborar un resumen con caracteristicas o una tabla comparativa para compartir en este Foro.
Algunas de las aplicaciones distribuidas más conocidas son remote login, correo electrónico, navegación Web, streaming, telefonía IP y compartición de ficheros (P2P).
Algunos escenarios que utilizan aplicaciones distribuidas son:
PHP
Eduacaión a distancia - moddle.
Creación de blogs - Wordpress.
Creador de wikis - MediaWiki.
Administrar BD en web - PHPMyAdmin.
· ASP
E-commerce-eCAM.
E-commerce - ProdMentor.
MODDLE:
Es un ambiente educativo virtual, sistema de gestión de cursos de distribución libre. Ayuda a los educadores a crear comunidades de aprendizaje en línea. A este tipo de plataformas tecnológicas también se conoce como LMS.
WORDPRESS:
Es un sistema de gestión de contenido utilizado para crear blogs.
ADMINISTRADOR DE BASE DE DATOS WEB – PHPMYADMIN:
Phpmyadmin es una herramienta escrita en PHP con la intención de manejar la administración de Mysql a través de las páginas Web, utilizando internet. Actualmente se puede crear y eliminar bases de datos, crear, eliminar y alterar tablas, borrar editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos y tablas en diversos formatos.
Problemas comunes en el desarrollo Y uso de Aplicaciones Distribuidas:
El desarrollo de aplicaciones distribuidas requirió de nuevas técnicas de diseño y de generación de modelos. También trajo nuevos problemas. Existen 2 tipos distintos de arquitecturas que se utilizaron antes de .NET para hacer aplicaciones distribuidas: Llamadas a Procedimiento Remoto (RPC) Arquitecturas basadas en mensajes
A continuación se mencionaran los problemas técnicos que este tipo de arquitecturas tiene y finalmente como los Estándares Web son utilizados para hacer la nueva generación de aplicaciones distribuidas
Hay una serie de problemas comunes en el diseño de las aplicaciones distribuidas:
La compatibilidad de los Tipos de Datos: Distintos sistemas operativos tienen diferentes tipos de datos que no son siempre compatibles entre sí.
Fallas del Servidor: Debido a que los componentes pueden ser remotos, una falla de cualquiera de ellos puede hacer que toda la aplicación falle .
Fallas del Cliente: El servidor debe saber como responder a las fallas del cliente.
Reintento de llamadas: Si por ejemplo, se hace una llamada a un método en un servidor para generar una orden de compra muy grande, y el servidor responde pero se pierde la respuesta por fallas de red, no es muy eficiente volver a enviar la orden de compra.
Seguridad: En aplicaciones distribuidas los problemas de seguridad se multiplican. Por ejemplo, se debe considerar como: Autenticar a los usuarios Autorizarlos a acceder a los recursos Encriptar la información que viaja por la red Evitar ataques de denegación de servicio
Sincronización de la hora: Hay operaciones que dependen de la fecha y la hora. Por ejemplo, no es lógico en una aplicación procesar un envío de mercadería antes de haber recibido la orden de compra. Si el cliente y el servidor tienen fechas distintas, se debe generar un mecanismo de sincronización de hora para evitar este problema.
La arquitectura basada en RPC Qué es RPC: RPC son llamadas a procedimientos o funciones en sistemas remotos, es decir en máquinas distintas a la máquina local. Transparencia de localización: El desarrollador utiliza los componentes sin necesidad de saber su ubicación física. Con RPC tanto en el cliente como en la máquina donde reside el componente hay subsistemas que se ocupan de la comunicación y el intercambio de datos.
Llamadas Sincrónicas: En RPC las llamadas a los procedimientos son sincrónicas. Esto quiere decir que cuando una aplicación hace una llamada a un procedimiento RPC debe esperar que el servidor le responda para poder continuar con el procesamiento. Esto presenta problemas en un entorno distribuido, mucho más si pensamos en distribuir los componentes en Internet.
Las llamadas sincrónicas con RPC tienen desventajas: Uso de múltiples componentes: Si su aplicación distribuida depende de muchos componentes que se llaman entre sí, esto hace que la aplicación sea más susceptible a fallas. Balanceo de Carga y Tolerancia a fallos: Es el problema de como las aplicaciones descubren la información necesaria para poder conectarse otros servidores en el caso de que el que esta utilizando falle. O de como balancean el procesamiento entre varios servidores Esto no es posible con RPC.
Priorización: Con RPC es muy difícil detectar que servidores están con mucha carga de trabajo y derivar la llamada RPC a otro servidor menos ocupado.
Picos de carga de Trabajo: RPC no puede manejar los picos de carga de trabajo que puede tener un servidor si tiene llamadas RPC de muchos clientes.
La arquitectura basada en Mensajes Otra arquitectura para desarrollar aplicaciones distribuidas es la basada en mensajes.
Esta tecnología es asincrónica. Lo que significa que el cliente puede seguir con el procesamiento mientras espera la respuesta del servidor. Utiliza mensajes en vez de llamadas a funciones.
Att: Ovier Silva Hernandez
Licenciatura En Informatica
Semstr: VIII Grupo: "B".
La evolución de las aplicaciones informáticas se dio debido a los siguientes factores:
1. Trabajo a distancia.
2. Compartir información.
3. Accesibilidad.
4. Seguridad en la protección de la información (tener la base de datos particionada en dos o más nodos).
5. Independencia lugares.
En la actualidad cualquier aplicación cuenta generalmente con tres partes diferenciadas:
- Una interfaz de usuario: Elemento con el que interacciona el usuario de la aplicación,
ejecutando acciones, introduciendo u obteniendo información.
- Lógica o Reglas de negocio: Son las que procesan la información para generar los
resultados que persiguen, siendo el elemento fundamental que diferencia unas
aplicaciones de otras.
- Gestión de datos: Se ocupa del almacenamiento y recuperación de la información.
APLICACIONES MONOLÍTICAS:
Son aquellas en las que el software se estructura en grupos funcionales muy acoplados, involucrando los aspectos referidos a la presentación, procesamiento y almacenamiento de la información. En este rubro están considerados las distintas aplicaciones para escritorio: sistemas operativos, ofimática, juegos monousuario, etc.
APLICACIONES DE 2, 3 Y N CAPAS
Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
APLICACIONES DE 2 CAPAS.
La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar.
Las capas que esta arquitectura presenta son las siguientes:
Nivel de aplicación: Este nivel es en el que se encuentra toda la interfaz del sistema y es la que el usuario puede disponer para realizar su actividad con el sistema.
Nivel de la base de datos: Este nivel de la Base de Datos también llamado el Repositorio de Datos, es la capa en donde se almacena toda la información ingresada en el sistema y que se deposita en forma permanente.
APLICACIONES DE TRES CAPAS
Aplicación de tres capas.
Nivel de Aplicación: La diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que trabajar con la semántica propia de aplicación, sin tener que preocuparse de cómo esta implementado este ni de su estructura física.
Nivel de Dominio de la aplicación: En cambio este nivel se encarga de toda la estructura física y el dominio de aplicación.
Algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora únicamente se cambia la regla en el servidor de aplicación y esta actuará en todos los clientes, cosa que ni sucedía con la arquitectura en dos capas que si alguna regla se la cambia, se tenía que ir a cada cliente a realizar el cambio.
Nivel de Repositorio: Sigue siendo la capa en donde se almacenan los datos y toda la información.
Las herramientas para el desarrollo de tres capas son:
Visual Basic en lo que se refiere a la capa de Aplicación
SQL Server en lo que se refiere al repositorio de datos.
MTS en lo que se refiere al nivel del dominio de Aplicación.
APLICACIONES DE N CAPAS:
En una aplicación distribuida en n-capas los diferentes procesos están distribuidos en diferentes capas no sólo lógicas, sino también físicas. Los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. Cada equipo posee una configuración distinta y está optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.
APLICACIONES DISTRIBUIDAS
El diseño de aplicaciones modernas involucra la división de una aplicación en múltiples capas; la interfaz de usuario, la capa media de objetos de negocios, y la capa de acceso a datos. Puede ser útil identificar los tipos de procesamiento que podemos esperar que una aplicación realice. Muchas aplicaciones pueden, al menos, hacer lo siguiente:
• Cálculos u otros procesos de negocios.
• Ejecución de reglas de negocios.
• Validación de datos relacionados al negocio.
• Manipulación de datos.
• Ejecución de las reglas de datos relacional.
• Interactuar con aplicaciones externas o servicios.
• Interactuar con otros usuarios.
APLICACIONES CLIENTE/SERVIDOR:
Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
3.- Investigar los Escenarios de utilización de las aplicaciones distribuidas, así como diferentes Problemas comunes en el desarrollo y uso de aplicaciones distribuidas. Elaborar un resumen con caracteristicas o una tabla comparativa para compartir en este Foro.
Algunas de las aplicaciones distribuidas más conocidas son remote login, correo electrónico, navegación Web, streaming, telefonía IP y compartición de ficheros (P2P).
Algunos escenarios que utilizan aplicaciones distribuidas son:
PHP
Eduacaión a distancia - moddle.
Creación de blogs - Wordpress.
Creador de wikis - MediaWiki.
Administrar BD en web - PHPMyAdmin.
· ASP
E-commerce-eCAM.
E-commerce - ProdMentor.
MODDLE:
Es un ambiente educativo virtual, sistema de gestión de cursos de distribución libre. Ayuda a los educadores a crear comunidades de aprendizaje en línea. A este tipo de plataformas tecnológicas también se conoce como LMS.
WORDPRESS:
Es un sistema de gestión de contenido utilizado para crear blogs.
ADMINISTRADOR DE BASE DE DATOS WEB – PHPMYADMIN:
Phpmyadmin es una herramienta escrita en PHP con la intención de manejar la administración de Mysql a través de las páginas Web, utilizando internet. Actualmente se puede crear y eliminar bases de datos, crear, eliminar y alterar tablas, borrar editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos y tablas en diversos formatos.
Problemas comunes en el desarrollo Y uso de Aplicaciones Distribuidas:
El desarrollo de aplicaciones distribuidas requirió de nuevas técnicas de diseño y de generación de modelos. También trajo nuevos problemas. Existen 2 tipos distintos de arquitecturas que se utilizaron antes de .NET para hacer aplicaciones distribuidas: Llamadas a Procedimiento Remoto (RPC) Arquitecturas basadas en mensajes
A continuación se mencionaran los problemas técnicos que este tipo de arquitecturas tiene y finalmente como los Estándares Web son utilizados para hacer la nueva generación de aplicaciones distribuidas
Hay una serie de problemas comunes en el diseño de las aplicaciones distribuidas:
La compatibilidad de los Tipos de Datos: Distintos sistemas operativos tienen diferentes tipos de datos que no son siempre compatibles entre sí.
Fallas del Servidor: Debido a que los componentes pueden ser remotos, una falla de cualquiera de ellos puede hacer que toda la aplicación falle .
Fallas del Cliente: El servidor debe saber como responder a las fallas del cliente.
Reintento de llamadas: Si por ejemplo, se hace una llamada a un método en un servidor para generar una orden de compra muy grande, y el servidor responde pero se pierde la respuesta por fallas de red, no es muy eficiente volver a enviar la orden de compra.
Seguridad: En aplicaciones distribuidas los problemas de seguridad se multiplican. Por ejemplo, se debe considerar como: Autenticar a los usuarios Autorizarlos a acceder a los recursos Encriptar la información que viaja por la red Evitar ataques de denegación de servicio
Sincronización de la hora: Hay operaciones que dependen de la fecha y la hora. Por ejemplo, no es lógico en una aplicación procesar un envío de mercadería antes de haber recibido la orden de compra. Si el cliente y el servidor tienen fechas distintas, se debe generar un mecanismo de sincronización de hora para evitar este problema.
La arquitectura basada en RPC Qué es RPC: RPC son llamadas a procedimientos o funciones en sistemas remotos, es decir en máquinas distintas a la máquina local. Transparencia de localización: El desarrollador utiliza los componentes sin necesidad de saber su ubicación física. Con RPC tanto en el cliente como en la máquina donde reside el componente hay subsistemas que se ocupan de la comunicación y el intercambio de datos.
Llamadas Sincrónicas: En RPC las llamadas a los procedimientos son sincrónicas. Esto quiere decir que cuando una aplicación hace una llamada a un procedimiento RPC debe esperar que el servidor le responda para poder continuar con el procesamiento. Esto presenta problemas en un entorno distribuido, mucho más si pensamos en distribuir los componentes en Internet.
Las llamadas sincrónicas con RPC tienen desventajas: Uso de múltiples componentes: Si su aplicación distribuida depende de muchos componentes que se llaman entre sí, esto hace que la aplicación sea más susceptible a fallas. Balanceo de Carga y Tolerancia a fallos: Es el problema de como las aplicaciones descubren la información necesaria para poder conectarse otros servidores en el caso de que el que esta utilizando falle. O de como balancean el procesamiento entre varios servidores Esto no es posible con RPC.
Priorización: Con RPC es muy difícil detectar que servidores están con mucha carga de trabajo y derivar la llamada RPC a otro servidor menos ocupado.
Picos de carga de Trabajo: RPC no puede manejar los picos de carga de trabajo que puede tener un servidor si tiene llamadas RPC de muchos clientes.
La arquitectura basada en Mensajes Otra arquitectura para desarrollar aplicaciones distribuidas es la basada en mensajes.
Esta tecnología es asincrónica. Lo que significa que el cliente puede seguir con el procesamiento mientras espera la respuesta del servidor. Utiliza mensajes en vez de llamadas a funciones.
Att: Ovier Silva Hernandez
Licenciatura En Informatica
Semstr: VIII Grupo: "B".
Oviier- Invitado
EL USUARIO QUE SE ENCUENTRA REGISTRADO EN ESTE FORO COMO " cervando"
SE REFIERE AL ALUMNO CERVANDO POPOCA AGUSTIN
Licenciatura En Informática
Semstre: VIII Grupo: "A".
Licenciatura En Informática
Semstre: VIII Grupo: "A".
cervando- Mensajes : 5
Fecha de inscripción : 23/11/2012
Revisión Del Grupo
Los felicito por sus participaciones !!!
Me es grato apreciar que hayan trabajo de manera colaborativa para poder
alcanzar la competencia específica de Unidad. También los felicito por sus
réplicas, sobre todo, aquellas que retroalimentan y/o apoyan a otros
compañeros entorno a una duda o alguna temática. Y las críticas
constructivas también son bienvenidas y merecen todo mi reconocimiento.
Los felicito nuevamente por sus participaciones.
ATTE:
M.C. Edgar Rangel Lugo.
Me es grato apreciar que hayan trabajo de manera colaborativa para poder
alcanzar la competencia específica de Unidad. También los felicito por sus
réplicas, sobre todo, aquellas que retroalimentan y/o apoyan a otros
compañeros entorno a una duda o alguna temática. Y las críticas
constructivas también son bienvenidas y merecen todo mi reconocimiento.
Los felicito nuevamente por sus participaciones.
ATTE:
M.C. Edgar Rangel Lugo.
Página 4 de 4. • 1, 2, 3, 4
Temas similares
» Tema 2.- Procesos y Comunicación
» 2 y 3 .- Arquitectura y Diseño De Aplicaciones Distribuidas
» 5 y 6 .- Implementación de Interfaz e Integración de Aplicaciones Distribuidas
» Bienvenido - Sala General
» 3.- Software De Aplicacion
» 2 y 3 .- Arquitectura y Diseño De Aplicaciones Distribuidas
» 5 y 6 .- Implementación de Interfaz e Integración de Aplicaciones Distribuidas
» Bienvenido - Sala General
» 3.- Software De Aplicacion
Página 4 de 4.
Permisos de este foro:
No puedes responder a temas en este foro.