Unidades Enfoque Orientado a Competencias
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

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 2 de 4. Precedente  1, 2, 3, 4  Siguiente

Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty respuesta

Mensaje por duque Miér Ene 30, 2013 3:02 pm


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.

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 dela información.
Una aplicación monolítica duplica en cada computadora todos sus elementos: interfaz de usuario, lógica o reglas de negocio y acceso a datos.

CARACTERÍSTICAS
Son las aplicaciones para el escritorio: sistemas operativos, ofimática, juegos monousuario, etc.

APLICACIONES CLIENTE/SERVIDOR
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. Que 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.

CARACTERÍSTICAS
Consiste básicamente en un cliente que realiza peticiones de la computadora al programa (y que el servidor) que le da respuesta y que Permite aplicar programas que se ejecutan sobre una sola computadora. En donde el tipo organizativo debe la centralización de la gestión de la información.

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.
CARACTERÍSTICAS
La aplicación distribuida bien diseñada es llevar acabo un buen desarrollo en el sistema, es decir, que puede manejar muchas peticiones con el mismo rendimiento simplemente añadiendo más hardware.

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.

DE INTERFAZ DE USUARIO.
La interfaz de usuario es un conjunto de imágenes y objetos gráficos para representar la información y acciones del sistema, en la cual la manipulación facilita la interacción y entendimiento del usuario con la computadora.

CARACTERÍSTICAS
La aplicación presenta información a los usuarios y acepta entradas o respuestas del usuario para usar por su programa.
Idealmente, la IU no desarrolla ningún procesamiento de negocios o reglas de validación de negocios.

DE APLICACIÓN.
En la capa de aplicación (ó servicios de aplicación) es la capa de mantenimiento general, se encarga normalmente de los requerimientos de calidad de servicios, como las caches, la gestión de excepciones, rendimiento, entre otros.
En la actualidad se ha aumentado la reusabilidad del diseño de las aplicaciones distribuidas en la cual redujo la cantidad de recursos y costos de desarrollo y mantenimiento.

BASE DE DATOS.
La evolución de las bases de datos distribuidas se debe por una parte a razones organizacionales 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 por ejemplo, para una consulta.

COMUNICACIÓN DE DATOS.
La construcción de aplicaciones distribuidas ha emergido como la arquitectura predominante 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.

CONEXIÓN ENTRE CAPAS.
Las arquitecturas de capas proporcionan una gran cantidad de beneficios para las empresas que necesitan soluciones flexibles y fiables para resolver complejos problemas.

CARACTERÍSTICAS
Todas las aplicaciones basadas en capas permitirán trabajar con clientes ligeros, tal como navegadores de Internet, WebTV, Teléfonos Inteligentes, PDAs (Personal Digital Assistants o Asistentes Personales Digitales) de internet.

ALUMNO: ALEJANDRO DUQUE MONDRAGON
CARRERA: LICENCIATURA EN INFORMATICA
SEMESTRE: VIII
GRUPO: B

duque
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty RESPUESTAS DE LAS PREGUNTAS 1 Y 4

Mensaje por BERENICE HDZ. DIAZ Miér Ene 30, 2013 7:13 pm


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.


APLICACIONES MONOLÍTICAS: Es aquella cuya interfaz, lógica de negocio y acceso a datos se encuentran mezclados, esto dificulta que pueda hacerse una separación lógica y física donde una de la partes pueda ser utilizable.

Ventajas:
1. Funcionan mas rápido
2. Fácil de desarrollar
3. Precisa de cierta potencia de procesamiento

Desventajas:
1. Requiera mayor hardware en las estaciones de trabajo
2. Son infinitamente más lentos en el procesamiento de peticiones sencillas
3. Requiere habilitar el acceso real a la carpeta de datos para todos los usuarios de la aplicación
4. Su actualización es mas costosa

APLICACIONES CLIENTE/SERVIDOR: También llamada aplicación de dos capas. Es aquella donde los datos y la lógica de negocio se encuentran separados de la interfaz. Una aplicación cliente/servidor, es un programa que cuenta con un frontend que establece una conexión directa a través de una red, con un servidor que aloja el programa, servicio o desarrollo informático al cual deseamos acceder. En la actualidad, la tendencia de desarrollo es hacia aplicaciones cliente/servidor de bajo consumo y que ofrezcan la posibilidad de realizar el trabajo rápidamente. Un ejemplo de este tipo de aplicaciones son los clientes de e-mail, las aplicaciones en la nube y algunos sistemas de base de datos que podemos encontrar en Internet.

APLICACIONES DE 2,3 Y N CAPAS: Es aquella donde la interfaz, la lógica de negocio, el acceso de datos y los datos se encuentran separados. 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. Una razón por la que surge este concepto, es debido a que en la evolución del desarrollo del software, se ha identificado la necesidad de crear nuevas capas, especializadas en funciones especificas.

APLICACIONES DISTRIBUIDAS: Es aquella cuyo objetivo final se alcanza mediante la ejecución de diversos procesos independientes que por lo general se ejecutan en equipos diferentes y que de una forma u otra se pasan datos entre ellos mediante protocolos de comunicaciones bien establecidos


4). Hacer uso de Internet para investigar las características principales o el Panorama general de las aplicaciones distribuidas, reconocer los elementos de una aplicación distribuida, indagar acerca de la Evolución de las aplicaciones informáticas, y de las tecnologías para el desarrollo de aplicaciones distribuidas, así como, escenarios de utilización de las aplicaciones distribuidas y problemas comunes en el desarrollo y uso de aplicaciones distribuidas. Realizar una tabla comparativa acerca de lo investigado, o en su defecto, elabore un mapa conceptual para compartir en este Foro.

APLICACIONES DISTRIBUIDAS:

Características:
• Ubicación de la lógica
• Concurrencia
• Topología de la red
• Homogeneidad de las plataformas
• Seguridad

Componentes de una aplicación distribuida:
• Lado servidor
• Lado cliente
• Protocolo de aplicación
• Formato de los mensajes
Evolución de las aplicaciones distribuidas:
La evolución de las tecnologías cliente/servidor sumada al advenimiento de nuevas tecnologías como xml, web services , la plataforma j2ee, la comunicación asíncrona por medio de mensajes, el uso de application servers , son algunos de los conocimientos que permiten llevar a cabo el desarrollo de aplicaciones modernas.

• Aplicaciones monolíticas.
• Arquitectura cliente/servidor.
• Arquitectura de tres capas.
• Arquitectura de n capas

Escenarios de utilización de las aplicaciones distribuidas:
• PHP: lenguaje de programación diseñado para la creación de páginas web como son:
- Educación a distancia=moddle
- Administrador B.D= PHPM y Admin
- Creador de blogs= Wordexpress, blogger, bloggia
- Creador de Wikis= wikiOle, wikia, wikispaces
• ASP: con el se crean aplicaciones web dinámicas:
- Sistemas de postales= Easy Post Card
• Chat´s=latinchat,adrenalinlabs.
• E-commerce= eCam
Problemas comunes en el desarrollo y uso de aplicaciones distribuidas:
o Fallas del servidor debido a que los componentes pueden ser remotos, una falla en cualquiera de ellos puede hacer que toda la aplicación falle
o Capacidad del equipo donde se almacenan las fuentes o datos es limitada o están al máximo
o Compatibilidad de los tipos de datos distintos.

APLICACIONES INFORMÁTICAS:
Evolución de las Aplicaciones Informáticas.
A diferencia de algunos años atrás, hoy existe una infinidad de aplicaciones para satisfacer desde diversiones o entretenimiento de niños hasta sofisticados programas de investigación científica; más sin embargo, para las necesidades de la mayoría de los mortales que trabajan en Instituciones o Empresas y aún para los particulares existe un número preciso de aplicaciones, que como herramientas no deben faltar en ninguna computadora de uso personal.
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.


ATENTAMENTE:
BERENICE HERNANDEZ DIAZ
SEMESTRE: VIII
GRUPO: B


BERENICE HDZ. DIAZ

Mensajes : 1
Fecha de inscripción : 30/01/2013

Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Re: 1.- Panorama general de las aplicaciones distribuidas

Mensaje por Ray29 Miér Ene 30, 2013 7:26 pm

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 caracteristicas 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:

1. Una interfaz de usuario: Elemento con el que interacciona el usuario de la aplicación, ejecutando acciones, introduciendo u obteniendo información.
2. Lógica ó 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 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.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

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.
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.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

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. Estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor.
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.
Existen herramientas para el desarrollo en dos capas por ejemplo Visual Basic, Access y SQL.

APLICACIONES DE TRES CAPAS
La arquitectura de dos capas si bien ayudó en unos años atrás, se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tenía algunos problemas en la capa de aplicación ya que la principal desventaja de esta era el peso que tenia para el cliente, como se mencionó anteriormente.
Por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de tres capas.
Y es así que se creó la arquitectura de tres capas las cuales son:
• 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.
El surgimiento de la tecnología de componentes distribuidos es la clave de las arquitecturas de n-capas. Estos sistemas de computación utilizan un número variable de componentes individuales que se comunican entre ellos utilizando estándares predefinidos y frameworks de comunicación como:
• CORBA: (Common Object Request Broker Architecture) del Object Management Group (OMG).
• DNA: (Distributed Network Applications) de Microsoft (incluye COM/DCOM y COM+ además de MTS, MSMQ, etc.
• EJB : (Enterprise Java Beans) de Sun Microsystems
• XML : (eXtensible Markup Language) del World Wide Web Consortium (W3
• .NET: de Microsoft que incluye nuevos lenguajes como Visual Basic.net, C#.

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.
Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los tres grupos o capas que a continuación se resumen:
o Interface de usuario (Capa de Presentación)
o Interactuar con otros usuarios.
o Interactuar con aplicaciones externas o servicios.
o Procesos de negocios (Capa de Negocios)
o Cálculos u otros procesos de negocios.
o Ejecución de reglas de negocios.
o Validación de datos relacionados al negocio.
o Procesos de datos (Capa de Servicios de Datos).
o Manipulación de datos.
o Ejecución de las reglas de datos relacional.

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.
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:

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. un profesor que opera desde este punto de vista crea un ambiente centrado en el estudiante que le ayuda a construir ese conocimiento con base en sus habilidades y conocimientos propios en lugar de simplemente publicar y transmitir la información que se considera que los estudiantes deben conocer.
• la primera versión de la herramienta apareció el 20 de agosto de 2002 y, a partir de allí han aparecido nuevas versiones de forma regular. hasta julio de 2008, la base de usuarios registrados incluye más 21 millones, distribuidos en 46.000 sitios en todo el mundo y está traducido a más de 75 idiomas.
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.

• otro motivo a considerar sobre su éxito y extensión, es la enorme comunidad de desarrolladores y diseñadores, que se encargan de desarrollarlo en general o crear plugins y temas para la comunidad, siendo usado en septiembre de 2009 por 202 millones de usuarios.
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.
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.
este proyecto se encuentra vigente desde el año1998, siendo el mejor evaluado en la comunidad de descargas de sourceforge.net como la descarga del mes de diciembre del 2002. como esta herramienta corre en máquinas con servidores webs y soporte de php y mysql, la tecnología utilizada ha ido variando durante su desarrollo.

Raymundo Y. C.
Lic. en Informática
VIII semestre grupo: A

Ray29

Mensajes : 12
Fecha de inscripción : 05/09/2012

Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Respuesta a dos reactivos

Mensaje por jemima Miér Ene 30, 2013 9:34 pm

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:
• Trabajo a distancia.
• Compartir información.
• Accesibilidad.
• Seguridad en la protección de la información (tener la base de datos particionada en dos o más nodos).
• Independencia lugares.

Aplicaciones monolíticas
Las principales características de las aplicaciones monolíticas es que estas funcionan más rápido y son fácil de desarrollar y difícil de mantener también requieren más y mejor HW en las estaciones de trabajo aunque son más lentos en el procesamiento de peticiones sencillas y ocupan mayor ancho de banda provocando congestionamiento en la Red Local y su actualización es más costosa.


Aplicaciones cliente/servidor

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta.

Aplicaciones de 2 capas
La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas esta arquitectura cuenta con dos niveles que es el
Nivel de aplicación Aquí 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: 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
Esta arquitectura cuenta con tres niveles o capas como su nombre lo indica el primero es el:
Nivel de Aplicación: este 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: Este nivel se encarga de toda la estructura física y el dominio de aplicación.

Nivel de Repositorio: Se almacenan los datos y toda la información.

Aplicaciones de n capas
Las principales características con que cuenta este modelo es que tiene desarrollos paralelos (en cada capa), además cuenta con aplicaciones más robustas debido al encapsulamientoy mantenimiento y soporte más sencillo, y mayor flexibilidad y alta escalabilidad esta es su principal ventaja ya que puede manejar muchas peticiones con el mismo rendimiento simplemente añadiendo más hardware.

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.

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 características o una tabla comparativa para compartir en este Foro.


Los escenarios que utilizan aplicaciones distribuidas son:

• Educación a distancia
• Creación de blogs
• Creador de wikis
• Administrador de base de datos en web.

Problemas comunes en el desarrollo y uso de 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 en red, es muy eficiente volver a mandar la orden de compra.
• Seguridad.
En aplicaciones distribuidas los problemas de seguridad se multiplican.
• Sincronización de la hora.
Hay operaciones que dependen de la fecha y la hora.
• Interoperabilidad.
Las distintas tecnologías RPC implican protocolos binarios de comunicación distintos para que interoperen entre sí.

Bitia jemima Cabrera
Lic. en Informática
VIII semestre grupo: A

jemima
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty respuestas

Mensaje por filirc13 Miér Ene 30, 2013 10:15 pm

Respuesta de las actividades 1 y 4 de Filiberto romero celis

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 caracteristicas o una tabla comparativa para compartir en este Foro.

Tipos de aplicaciones distribuidas


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 una aplicación monolítica las tres partes forman un todo y se ejecutan en la misma máquina.

• Datos
• Lógica de negocio
• Interface de usuario
Ventajas:

Funcionan mas rápido.
• Fácil de desarrollar.
• difícil de mantener, poco escalable y que
• Precisa de cierta potencia de proceso.
• Requieren más y mejor HW en las estaciones de trabajo

Desventajas

• Son infinitamente más lentos en el procesamiento de peticiones sencillas
• Ocupan mayor ancho de banda, provocando congestionamiento en la Red Local
• Requieren habilitar el acceso real a la carpeta de datos para todos los usuarios de la aplicación
• Su actualización es más costosa
• No permiten el acceso en línea desde fuera de la Red Local ó requieren de implementaciones de soluciones de conectividad muy costosas
Aplicaciones Cliente-Servidor
En las aplicaciones cliente-servidor que llamaremos “tradicionales” sólo encontramos dos procesos principales. Uno de ellos se encarga fundamentalmente de proporcionar los datos que se le solicitan y de procesar los datos que se le envían. Llamamos servidor tanto al proceso que realiza estas funciones como al equipo en el que dicho proceso está alojado. El otro proceso, al que llamamos cliente, se ejecuta en el equipo del usuario que maneja la aplicación, y sus funciones principales son solicitar datos al servidor, presentarlos al usuario para que este realice cierto trabajo con ellos y enviar los cambios al servidor para su reproceso si es necesario.



Aplicaciones en 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.

1. 1. Aplicaciones de una Capa.

Las capas dentro de una arquitectura son nada más que un conjunto de servicios especializados que pueden ser accesibles por múltiples clientes y fácilmente reutilizables

2.-Aplicaciones de dos capas.

Se caracterizan por tener 2 asociaciones lógicas, que prestan servicios y que a la final son capas. En la primera capa se incluye a la presentación (Interface grafica) y a la lógica de negocios, toda la lógica la escribimos en las formas (en el onClick del botón por ejemplo), y accedemos a un servicio de datos para la gestión de los mismos, por lo general a un servidor de Base de Datos


3.-Aplicaciones de 3 Capas.

Una aplicación de tres capas es una aplicación cuya funcionalidad puede ser segmentada en tres niveles lógicos (capas):
• Los servicios de presentación.

• Los servicios de negocios (Lógica de Negocios) .

• Los servicios de datos.
4) Hacer uso de Internet para investigar las características principales o el Panorama general de las aplicaciones distribuidas, reconocer los elementos de una aplicación distribuida, indagar acerca de la Evolución de las aplicaciones informáticas, y de las tecnologías para el desarrollo de aplicaciones distribuidas, así como, escenarios de utilización de las aplicaciones distribuidas y problemas comunes en el desarrollo y uso de aplicaciones distribuidas. Realizar una tabla comparativa acerca de lo investigado, o en su defecto, elabore un mapa conceptual para compartir en este Foro.
Mapa conceptual:
Link: http://speedy.sh/ZsUg8/mapa-conceptualas-aplicaciones-distribuidasl.jpg
filirc13
filirc13

Mensajes : 7
Fecha de inscripción : 26/08/2012

Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Respuesta de la 3 y 1

Mensaje por Laurita Miér Ene 30, 2013 11:22 pm

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.
Escenarios de utilización de las aplicaciones distribuidas.


• 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.

La fuerte evolución que se ha producido en las prestaciones de los ordenadores junto con el abaratamiento de los mismos han provocado la aparición de programas con mayores posibilidades, de muy fácil manejo, y adecuados para casi cualquier tipo de aplicación que podamos necesitar.



Problemas comunes en el desarrollo y uso de aplicaciones distribuidas

Concurrencia: De igual forma que en las aplicaciones centralizadas, las aplicaciones distribuidas serán utilizadas por cierto número de usuarios concurrentemente. Aspectos como las transacciones, los bloqueos de recursos o el uso de la CPU de los equipos a los que acceden muchos usuarios son determinantes a la hora de diseñar una arquitectura con la máxima eficacia.

Topología de la red: A pesar de que a día de hoy los anchos de banda cada vez son más amplios, el tráfico de red puede ser un aspecto importante que condicione el tiempo de respuesta de la aplicación. En muchos casos también será necesario tener en cuenta el tipo de red (LAN o WAN), o si la aplicación será o no accesible a través de Internet. La forma de distribuir los procesos de la aplicación tendrá que tomar en consideración el tipo de red que soportará el tráfico de datos.

Ubicación de la lógica: Dado que en una aplicación distribuida intervienen varios procesos, será necesario decidir en cuál de los posibles procesos físicos se sitúa cada componente lógico de la aplicación. Mientras que algunos procesos, como la presentación de datos o la recuperación de los mismos, tienen un sitio natural, otros, como la validación o la navegación, pueden ocupar diversos lugares dentro del diagrama que conforma la estructura de la aplicación.

Plataformas: En una aplicación distribuida los sistemas operativos involucrados o los lenguajes de desarrollo utilizados pueden ser un factor a tener en cuenta a la hora de decidir algunos aspectos importantes, como por ejemplo el modo de pasar datos entre procesos.

Seguridad: Una aplicación distribuida mantiene procesos que de una forma u otra están a la escucha en una red, lo que aumenta la vulnerabilidad de la aplicación. Será necesario establecer políticas de seguridad que impidan el acceso no autorizado a los procesos. Pedir al usuario un nombre y una contraseña al iniciar el programa es probable que no sea suficiente.

Otros:
Disponibilidad de los servidores.
Acceso a los sistemas de manera remota.
Posibilidad de que pueden ser vistos (pero no accesados) por muchas personas.
Capacidad de los equipos donde se almacenan las fuentes.



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.

Evolución de las aplicaciones informáticas

La evolución de las aplicaciones informáticas se dio debido a los siguientes factores:
1.- trabajo en equipo
2.- compartir información
3.- accesibilidad
4.- seguridad en la protección de la información
5.- independencia de lugares

En la actualidad cualquier aplicación cuenta generalmente con tres puntos diferenciados, las cuales son:

1. Una interfaz de usuario: son los elementos con el que interacciona el usuario de la aplicación, ejecutando acciones, introduciendo u obteniendo información
2. Lógica o reglas de negocio: son las que procesan los resultados que se persiguen, siendo el elemento fundamental que diferencia unas aplicaciones de otras.
3. Gestión de datos: se ocupa del almacenamiento y recuperación de la información.

Aplicaciones monolíticas

Son aquellas aplicaciones 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, como son: sistemas operativos, ofimática, juegos monousuarios, entre otras aplicaciones.
En una aplicación monolítica las tres partes forman un todo y se ejecutan en la misma maquina. Resulta caro y los costos de mantenimiento son también altos. Una aplicación monolítica duplica en cada computadora todos sus elementos: interfaz de usuario, lógica o reglas de negocio y acceso a datos.

Ventajas

- Funcionan mas rápido.

- Fácil de desarrollar.

- Difícil de mantener, poco escalable

- Precisa de cierta potencia de proceso.

Desventajas

- Requieren más y mejor hardware en las estaciones de trabajo

- Son infinitamente más lentos en el procesamiento de peticiones sencillas

- Ocupan mayor ancho de banda, provocando congestionamiento en la Red Local

- Requieren habilitar el acceso real a la carpeta de datos para todos los usuarios de la aplicación

- Su actualización es más costosa

- No permiten el acceso en línea desde fuera de la Red Local ó requieren de implementaciones de soluciones de conectividad muy costosas.

Aplicaciones Cliente/Servidor

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa, el cual le da una 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 del tipo organizativo debido 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.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola maquina, ni es necesariamente un solo programa
Los tipos específicos de servidores incluyen los servidores Web, los servidores de archivo, los servidores de correo, etc.…
Mientras que los propósitos varían de unos servicios a otros, la arquitectura básica sigue siendo la misma.

Servidores
Dedicados: Solo para servicio de los clientes
No dedicados: Son servidores y estaciones de trabajo.

Aplicaciones de 2, 3 y n capas

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa, la idea principal es utilizar aplicaciones que se ejecutan a través de la computadora, cada aplicación constituye una sola acción para realización de tareas.

Las aplicaciones forman parte de un conjunto lógico de programación que interactúan para desarrollar su funcionamiento, donde podemos encontrar una diversidad de servidores que tiene distintas funciones.

Aplicación de dos capas. La arquitectura de 2 capas en la actualidad es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar este tipo de arquitectura que fueron las primeras en aprovecharse de la estructura cliente-servidor.

Las capas que esta arquitectura presenta son las siguientes:

- nivel de aplicación. 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 repositorio de datos, es la etapa en donde se almacena toda la información ingresada en el sistema y que se deposita en forma permanente. Existen herramientas para el desarrollo en 2 capas como puede ser Visual Basic, Acces y SQL.

Aplicación de 3 capas. La arquitectura de 2 capas si bien ayuda en unos años atrás,
Se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tenía unos problemas en la capa de aplicación ya que la principal desventaja de esta era el peso que se tenía para el cliente.
Por estas razones existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de 3 capas, la cual incluye lo siguiente:

- Nivel de aplicación. La diferencia de este nivel aplicado ahora en una arquitectura en 3 capas es que solo tiene que trabajar con la semántica propia de la 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. 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 actuara en todos los clientes; esto no sucede con la arquitectura en 2 capas, que si alguna regla se le cambia se tiene que ir a cada cliente a realizar cambios.

- Nivel de repositorio.es la capa donde se almacenan los datos y toda la información que se ha procesado.
Las herramientas para el desarrollo de 3 capas son las siguientes:

1. SQL Server en lo que se refiere el repositorio de datos.
2. Visual Basic en los que se refiere a la capa de aplicación
3. MTS en lo que se refiere al nivel del dominio de aplicación.

Aplicación de n capas.

En una aplicación distribuida en n capas, los diferentes procesos están distribuidos en diversas capas, no solo lógicas, sino también físicas, los procesos se ejecutan en diferentes equipos, que pueden incluso recibir diferentes plataformas o sistemas operativos. Cada equipo posee una configuración distinta y esta optimizada para realizar el papel que se le ha asignado dentro de la estructura de la aplicación, de modo que tanto los recursos, como la eficiencia global del sistema se optimicen.

El surgimiento de la tecnología de componentes distribuidos es la clase de las arquitecturas de n capas, estos sistemas de computación utilizan un numero de variables individuales que se comunican entre ellos utilizando estándares predefinidos de comunicación para lograr la conexión con todos los usuarios.

Aplicaciones distribuidas.

El diseño de las 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 puede al menos hacer lo siguiente:

1. cálculos u otros procesos de negocios
2. ejecución de reglas de negocios
3. validación de datos relacionados al negocio
4. manipulación de datos
5. ejecución de las reglas de datos relacionales
6. interactuar con aplicaciones externas o servicios
7. interactuar con otros usuarios
Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los tres grupos o capas que a continuación se resumen:
1. interface de usuario (capa de presentación)
2. interactuar con otros usuarios
3. interactuar con las aplicaciones externas o servicios
4. proceso de negocios (capa de negocios)
5. cálculos u otros procesos de negocios
6. ejecución de reglas de negocios
7. validación de datos relacionados al negocio
8. proceso de datos (capa de servicio de datos)
9. manipulación de datos
10. ejecución de las reglas de datos relacionales.


Laurita Manuel Paulino
Licenciatura en Informatica
VIII Semestre Wink
Grupo "B"


Laurita
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Replica a Jesús Valerio Salgado de Itzel Barrera Zavaleta

Mensaje por itxzel Miér Ene 30, 2013 11:41 pm

Estimado compañero tienes mucha razón porque creo que las fuentes de información son de suma importancia ya que nos ayudan a comprobar cierta información, se te agradece tu punto de vista..
saludos!!

Very Happy

ALUMNA: ITZEL BARRERA ZAVALETA
VIII SEMESTRE, GRUPO: "B"

itxzel
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Respuesta a Reactivos...

Mensaje por lupitha_g Jue Ene 31, 2013 12:03 am

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.

EVOLUCIÓN DE LAS APLICACIONES INFORMÁTICAS.

APLICACIONES MONOLÍTICAS.
En una aplicación monolítica las tres partes forman un todo y se ejecutan en la misma máquina. Datos, Lógica de negocio e Interface de usuario
Resulta caro y los costos de mantenimiento son también altos.
Una aplicación monolítica duplica en cada computadora todos sus elementos: interfaz de usuario, lógica o reglas de negocio y acceso a datos.
Funcionan mas rápido. Fácil de desarrollar. Difícil de mantener, poco escalable y que precisa de cierta potencia de proceso. Requieren más y mejor HW en las estaciones de trabajo. Son infinitamente más lentos en el procesamiento de peticiones sencillas. Ocupan mayor ancho de banda, provocando congestionamiento en la Red Local.
Requieren habilitar el acceso real a la carpeta de datos para todos los usuarios de la aplicación. Su actualización es más costosa

APLICACIONES CLIENTE/SERVIDOR
Cliente: Se le representa por un software de aplicación y lo utilizan los usuarios de Internet para acceder a un determinado servicio.

Servidor: En cambio un servidor tiene un software de servidor que lo utiliza para ofrecer al cliente toda la funcionalidad utilizada por el cliente. El cliente y el servidor se comunican a través de Internet por un protocolo que ellos mismos definen.

APLICACIONES DE 2,3 Y N CAPAS.
La construcción de aplicaciones n-tier (n-capas) distribuidas ha emergido como la arquitectura predominante 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, tal y como se pone de manifiesto en las últimas tendencias de las grandes empresas de tecnología.

APLICACIONES DISTRIBUIDAS:
El advenimiento de los ordenadores personales constituyó la primera revolución. Ahora los usuarios disponían de un procesador y de un sistema de almacenamiento autónomo, capaz de procesar datos e incluso de mostrar gráficos por pantalla además de caracteres. Surgieron multitud de aplicaciones “de escritorio” que independizaron a los usuarios de los grandes sistemas y el coste del hardware se redujo a niveles tan aceptables que empresas que no hubieran podido afrontar la inversión en un sistema informático centralizado comenzaron a introducir en sus procesos de negocio la gestión informática de los datos.


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.

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.

En la actualidad esto no es así, las telecomunicaciones son algo que, aunque imprescindibles ya que permiten procesar datos ubicados en ordenadores o terminales remotos, resultan trasparentes a las aplicaciones informáticas.

Con una apropiada integración informática-telecomunicaciones en una corporación se persigue que el usuario pueda usar diversas aplicaciones informáticas de forma uniforme en toda la organización y con abstracción total del lugar donde se encuentren o se generen los datos. Hoy día no se puede concebir y diseñar el soporte informático de una empresa de cualquier tamaño sin tener en cuenta las telecomunicaciones que vaya a emplear.


Problemas comunes en el desarrollo y uso de aplicaciones distribuidas
Concurrencia: Las aplicaciones distribuidas serán utilizadas por cierto número de usuarios concurrentemente. Aspectos como las transacciones, los bloqueos de recursos o el uso de la CPU de los equipos a los que acceden muchos usuarios son determinantes a la hora de diseñar una arquitectura con la máxima eficacia.

Topología de la red: A pesar de que a día de hoy los anchos de banda cada vez son más amplios, el tráfico de red puede ser un aspecto importante que condicione el tiempo de respuesta de la aplicación..

Ubicación de la lógica: Dado que en una aplicación distribuida intervienen varios procesos, será necesario decidir en cuál de los posibles procesos físicos se sitúa cada componente lógico de la aplicación. Mientras que algunos procesos, como la presentación de datos o la recuperación de los mismos, tienen un sitio natural, otros, como la validación o la navegación, pueden ocupar diversos lugares dentro del diagrama que conforma la estructura de la aplicación.

Plataformas: En una aplicación distribuida los sistemas operativos involucrados o los lenguajes de desarrollo utilizados pueden ser un factor a tener en cuenta a la hora de decidir algunos aspectos importantes, como por ejemplo el modo de pasar datos entre procesos.

Seguridad: Una aplicación distribuida mantiene procesos que de una forma u otra están a la escucha en una red, lo que aumenta la vulnerabilidad de la aplicación. Será necesario establecer políticas de seguridad que impidan el acceso no autorizado a los procesos. Pedir al usuario un nombre y una contraseña al iniciar el programa es probable que no sea suficiente.

Otros:
Disponibilidad de los servidores.
Acceso a los sistemas de manera remota.
Posibilidad de que pueden ser vistos (pero no accesados) por muchas personas.
Capacidad de los equipos donde se almacenan las fuentes.


lupitha_g
lupitha_g

Mensajes : 15
Fecha de inscripción : 25/08/2012
Edad : 33
Localización : Cd. Altamirano

Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty REPLICA A Ivan Juarez

Mensaje por lupitha_g Jue Ene 31, 2013 12:08 am

Compañero lo felicito por sus repuestas a los reactivos que decidio elegir, son respuestas completas y muy ordenadas,ademas de eso complementó cada una con ejemplos, siga asi y llegara muy lejos jeje. nos estamos viendo Razz elephant
lupitha_g
lupitha_g

Mensajes : 15
Fecha de inscripción : 25/08/2012
Edad : 33
Localización : Cd. Altamirano

Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty RESPUESTAS DE LAS PREGUNTAS 1,3

Mensaje por GISEL Jue Ene 31, 2013 9:05 am

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.

Aplicaciones informáticas: aplicación de una sóla capa cuya interfaz, lógica del negocio, acceso a datos y los datos se encuentran mezclados ó altamente acoplados, esto dificulta que pueda hacerse una separación lógica y física donde alguna de las partes puedan ser reutilizables.
Aplicaciones monolíticas: Son aquellas aplicaciones 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, como son: sistemas operativos, ofimática, juegos mono usuarios, entre otras aplicaciones. En una aplicación monolítica las tres partes forman un todo y se ejecutan en la misma maquina. Resulta caro y los costos de mantenimiento son también altos. Una aplicación monolítica duplica en cada computadora todos sus elementos: interfaz de usuario, lógica o reglas de negocio y acceso a datos.

Ventajas

- Funcionan más rápido.

- Fácil de desarrollar.

- Difícil de mantener, poco escalable

- Precisa de cierta potencia de proceso.

Desventajas

- Requieren más y mejor hardware en las estaciones de trabajo

- Son infinitamente más lentos en el procesamiento de peticiones sencillas

- Ocupan mayor ancho de banda, provocando congestionamiento en la Red Local

- Requieren habilitar el acceso real a la carpeta de datos para todos los usuarios de la aplicación

- Su actualización es más costosa

- No permiten el acceso en línea desde fuera de la Red Local ó requieren de implementaciones de soluciones de conectividad muy costosas

Aplicaciones cliente/servidor: La arquitectura cliente/servidor es un modelo de aplicación distribuida en donde las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes llamados clientes.

Un cliente realiza peticiones a otro programa, el servidor, es el que da las respuestas.

La separación del cliente/servidor, donde el servidor no se ejecuta necesariamente sobre una sola maquina ni es necesariamente un solo programa. Los tipos específicos de servidores web, servidores de archivo FTP, y de correo mientras que los propósitos varían de un servicio a otro.

La arquitectura cliente/servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto en nivel físico con nivel lógico

Aplicaciones en n capas: n-capas no es una tecnología, sino una estrategia de uso de las tecnologías para crear un negocio a la vez que se obtiene todo el potencial de éste inherente a Internet.
La informática basada en n-capas no se refiere solamente al despliegue de clientes ligeros de bajo coste conectados a servidores de aplicaciones muy flexibles con balanceo de carga e integrados con bases de datos distribuidas existentes a lo largo de diferentes plataformas y localizaciones. En realidad tiene que ver con la aplicación de las tecnologías relacionadas con desarrollos en n-capas para mejorar el conocimiento de los negocios y proveer un servicio de valor mediante la aplicación de esta avanzada tecnología como una solución para envolver oportunidades del mundo real. Para tener éxito en el futuro, una compañía debe hacer más que establecer simples canales de comercio electrónico. Las organizaciones de mañana tienen que reconfigurarse a sí mismas de forma continua, tanto interna como externamente, como un negocio electrónico camaleónico, creando rápidamente relaciones y maximizando el rendimiento de una "empresa extendida". Los sistemas de información de negocio serán cada vez más adaptables, permitiendo la modernización regular de las estrategias de e-business y los modelos de negocio.

Aplicaciones de 2 capas: La arquitectura de 2 capas en la actualidad es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar este tipo de arquitectura que fueron las primeras en aprovecharse de la estructura cliente-servidor.
Las capas que esta arquitectura presenta son las siguientes:
Nivel de aplicación. 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 repositorio de datos, es la etapa en donde se almacena toda la información ingresada en el sistema y que se deposita en forma permanente. Existen herramientas para el desarrollo en 2 capas como puede ser Visual Basic, Access y SQL.
Aplicaciones de 3 capas: Se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tenía unos problemas en la capa de aplicación ya que la principal desventaja de esta era el peso que se tenía para el cliente.
Por estas razones existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de 3 capas, la cual incluye lo siguiente:
Nivel de aplicación. La diferencia de este nivel aplicado ahora en una arquitectura en 3 capas es que solo tiene que trabajar con la semántica propia de la 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. 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 actuara en todos los clientes; esto no sucede con la arquitectura en 2 capas, que si alguna regla se le cambia se tiene que ir a cada cliente a realizar cambios.
Nivel de repositorio.es la capa donde se almacenan los datos y toda la información que se ha procesado.

Las herramientas para el desarrollo de 3 capas son las siguientes:

1. SQL Server en lo que se refiere el repositorio de datos.
2. Visual Basic en los que se refiere a la capa de aplicación
3. 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 diversas capas, no solo lógicas, sino también físicas, los procesos se ejecutan en diferentes equipos, que pueden incluso recibir diferentes plataformas o sistemas operativos. Cada equipo posee una configuración distinta y esta optimizada para realizar el papel que se le ha asignado dentro de la estructura de la aplicación, de modo que tanto los recursos, como la eficiencia global del sistema se optimicen.
El surgimiento de la tecnología de componentes distribuidos es la clase de las arquitecturas de n capas, estos sistemas de computación utilizan un numero de variables individuales que se comunican entre ellos utilizando estándares predefinidos de comunicación para lograr la conexión con todos los usuarios

2)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 características o una tabla comparativa para compartir en este foro.
Algunas de las aplicaciones distribuidas mas 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
Educación a distancia - moddle.
Creación de blogs - Wordpress.
Creador de wikis - Media Wiki.
Administrar BD en web - PHPMyAdmin.

• ASP
E-commerce - e CAM.
E-commerce - ProdMentor.

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*
-Disponibilidad de los servidores
-Acceso a los sistemas de manera remoto
-Posibilidad de que puedan ser vistos(pero no acezados) por muchas personas
-Capacidad de los equipos donde se almacenan las fuentes.

Es aquel que visualiza el almacenamiento remoto y la distribución de manera abstracta. Bajo los procesos descriptivos de una trayectoria de eventos.

*La compatibilidad de los tipos de datos:
-Distintos sistemas operativos tienen diferentes tipos de datos que no son siempre compatibles entre si
-Fallas del servidor: debido a que los componentes pueden ser remotos.

ALUMNA: GISEL PASTENES GOMEZ
GRUPO: B
SEMESTRE 8°-


GISEL
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty MIS DOS RESPUESTAS (2,3)

Mensaje por RUBALI P Jue Ene 31, 2013 2:29 pm

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.

Los factores que intervinieron en la evolución de las aplicaciones informáticas son los siguientes:

• Trabajo a distancia.
• Compartir información.
• Accesibilidad.
• Seguridad en la protección de la información
(tener la base de datos particionada en dos o más nodos).
• Independencia lugares.

Aplicaciones monolíticas

Sus principales características son que funcionan más rápido y son fáciles de desarrollar y difícil de mantener también requieren más y mejor HW en las estaciones de trabajo aunque son más lentos en el procesamiento de peticiones sencillas y ocupan mayor ancho de banda provocando congestionamiento en la Red Local y su actualización es más costosa.
Además se refiere a 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.

Aplicaciones cliente/servidor
Consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta.

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.

Aplicaciones de 2 capas
Es muy utilizada, aunque con muchas fallas esta arquitectura cuenta con dos niveles:
Nivel de aplicación: Aquí 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: 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
Cuenta con tres niveles o capas como su nombre lo indica el primero es el:

Nivel de Aplicación: tiene solo que trabajar con la semántica propia de aplicación, sin tener que reocuparse de cómo esta implementado este ni de su estructura física.

Nivel de Dominio de la aplicación: Este nivel se encarga de toda la estructura física y el dominio de aplicación.
Nivel de Repositorio: Se almacenan los datos y toda la información.


Aplicaciones de n capas

Las principales características con que cuenta este modelo es que tiene desarrollos paralelos (en cada capa), además cuenta con aplicaciones más robustas debido al encapsulamiento y mantenimiento y soporte más sencillo, y mayor flexibilidad y alta escalabilidad esta es su principal ventaja ya que puede manejar muchas peticiones con el mismo rendimiento simplemente añadiendo más hardware.

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.

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 características o una tabla comparativa para compartir en este Foro.


Los escenarios que
utilizan aplicaciones
distribuidas son:

• Educación a distancia
• Creación de blogs
• Creador de wikis
• Administrador de base de
datos en web.

EDUCACIÓN A DISTANCIA

• 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. Se conoce como lms (learning management system).

CREACIÓN DE BLOGS

• 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.

CREADOR DE WIKIS

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.

ADMINISTRAR BD EN WEB

phpmyadmin es una herramienta escrita en php 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.

Los problemas comunes en el desarrollo y uso de aplicaciones distribuidas.

• 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.

• La compatibilidad de los tipos de datos.
Diferentes sistemas operativos tienen diversos tipos de datos que no son siempre compatibles entre sí.

• Seguridad.
Los problemas de seguridad se multiplican.
• Interoperabilidad.
Las distintas tecnologías RPC contienen protocolos binarios de comunicación distintos para que interoperen entre sí.
• Reintento de llamadas.
Ilustrémoslo así si por ejemplo se realiza al servidor la llamada a un método para producir una orden de compra y se llegara a perder la respuesta por fallas en la red es de gran ayuda volver a mandar la orden de compra.
• Sincronización de la hora.
Existen operaciones que dependen de la fecha y la hora.

*Acceso a los sistemas de manera remota.

*Capacidad de los equipos donde se almacenan las fuentes.

EVA RUBALI PONCE ALMAZÁN
LICENCIATURA EN INFORMÁTICA
VII SEMESTRE
GRUPO: A
bounce What a Face

RUBALI P
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty REPLICA PARA BERENICE HERNANDEZ

Mensaje por RUBALI P Jue Ene 31, 2013 2:47 pm

BUENO DE MI PUNTO DE VISTA CREO QUE TUS RESPUESTAS ESTAN MUY CONCRETAS A LAS PREGUNTAS
MMM CREO QUE HICISTE UN MUY BUEN TRABAJO SALUDOS

EVA RUBALI PONCE ALMAZAN

RUBALI P
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Re: 1.- Panorama general de las aplicaciones distribuidas

Mensaje por Yoali ZF Jue Ene 31, 2013 7:19 pm

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.

Evolución de las aplicaciones informáticas.
Aplicación de una sola capa cuya interfaz, lógica del negocio, acceso a datos y los datos se encuentran mezclados o altamente acoplados, esto dificulta que pueda hacerse una separación lógica y física donde alguna de las partes puedan ser re utilizables.

Aplicaciones monolíticas.

Las aplicaciones Cliente- Cliente concentran toda la actividad en los equipos de los usuarios, dejando a los servidores la labor de meros reservorios de datos compartidos.
Así ante cada petición de datos, el servidor devuelve archivos completos que luego son procesados por el equipo cliente, para obtener el resultado.
Por ejemplo, suponiendo que una base de cliente tuviera un tamaño medio de 5Mb y se efectúa una búsqueda muy simple de un cliente en particular, el servidor no efectuará la búsqueda por sí sino que devuelve la tabla de 5Mb completa, luego el equipo del usuario procesa la búsqueda en su equipo para seleccionar 1 registro de digamos unos 1Kb y descarta el resto de la información.

Aplicaciones cliente/servidor.

También se conoce como aplicaciones de dos capas es aquella donde los datos y la lógica del negocio se encuentran separados de la interfaz, este tipo de aplicaciones también es llamado cliente servidor.
Otro escenario válido para una aplicación cliente/servidor se da separando los datos de la interfaz y la lógica del negocio, este tipo de aplicación también se conoce como cliente pesado.

Aplicaciones de 2,3 y n capas.

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. Estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor.

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.


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.

- De Interfaz de Usuario.
La interfaz grafica de usuario, es el artefacto tecnológico de un sistema interactivo que brinda una interacción amigable entre el sistema informático y el usuario.
La interfaz de usuario es un conjunto de imágenes y objetos gráficos para representar la información y acciones del sistema, en la cual la manipulación facilita la interacción y entendimiento del usuario con la computadora.
- características
Aquí es donde su aplicación presenta información a los usuarios y acepta entradas o respuestas del usuario para usar por su programa. Idealmente, la IU no desarrolla ningún procesamiento de negocios o reglas de validación de negocios. Por el contrario, la IU debería relegar sobre la capa de negocios para manipular estos asuntos. Esto es importante, especialmente hoy en día, debido a que es muy común para una aplicación tener múltiples IU, o para sus clientes o usuarios, que le solicitan que elimine una IU y la remplace con otra.

- Ejemplo de una interfaz de usuario.
Algunas tecnologías de interfaz de usuario son:
• API Win 32.
• HTMAL.
• Dell HTML.
• Lenguajes de scrips.


- DE APLICACIÓN.
En la capa de aplicación (ó servicios de aplicación) es la capa de mantenimiento general, se encarga normalmente de los requerimientos de calidad de servicios, como las caches, la gestión de excepciones, rendimiento, entre otros.
En la actualidad se ha aumentado la reusabilidad del diseño de las aplicaciones distribuidas en la cual redujo la cantidad de recursos y costos de desarrollo y mantenimiento

- Algunas tecnologías de aplicación son:
*CORBA.
*DNA.
*EJB.
* XML

- De Base de Datos.

La evolución de las bases de datos distribuidas se debe por una parte a razones organizacionales 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 por ejemplo, para una consulta.
- Algunas tecnologías de base de datos son:
• OLEB
• ADO.
• XML.
• SQL.
• Herramientas para modelado (UML).

- De Comunicación De Datos.
La construcción de aplicaciones distribuidas ha emergido como la arquitectura predominante 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, tal y como se pone de manifiesto en las últimas tendencias de las grandes empresas de tecnología, como Sun con su estrategia Sun One, o Microsoft con DotNET (.Net).

- Algunas tecnologías de comunicación de datos son:
• Intranet: La Intranet, que quiere decir red interna, lleva un par de décadas siendo utilizada ampliamente en las empresas. Principalmente, ya que las tecnologías existentes, décadas atrás, no lo permitían..
• Internet: Podemos definir a Internet como una "red de redes", es decir, una red que no sólo interconecta computadoras, sino que interconecta redes de computadoras entre sí. Una red de computadoras es un conjunto de máquinas que se comunican a través de algún medio (cable coaxial, fibra óptica, radiofrecuencia, líneas telefónicas, etc.) con el objeto de compartir recursos.

- De Conexión Entre Capas.
Como tecnología, las arquitecturas de capas proporcionan una gran cantidad de beneficios para las empresas que necesitan soluciones flexibles y fiables para resolver complejos problemas inmersos en cambios constantes.
- Características:
Todas las aplicaciones basadas en capas permitirán trabajar con clientes ligeros, tal como navegadores de Internet, WebTV, Teléfonos Inteligentes, PDAs (Personal Digital Assistants o Asistentes Personales Digitales) y muchos otros dispositivos preparados para conectarse a Internet.


Yoali Zavaleta Faddul
Lic. Informatica
8"A" cat

Yoali ZF
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty RESPUESTAS A LOS REACTIVOS 1 Y 3

Mensaje por CELENE G Jue Ene 31, 2013 8:11 pm

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 caracteristicas o una tabla comparativa para compartir en este Foro.

EVOLUCIÓN DE LAS APLICACIONES INFORMATICAS
La programación de los ordenadores eran hecho sólo, para y por los mismos científicos que las construían para propósitos muy específicos.
A diferencia de algunos años atrás, hoy existe una infinidad de aplicaciones para satisfacer desde diversiones, hasta sofisticados programas de investigación científica; más sin embargo, para las necesidades de la mayoría de los Personas que trabajan en Instituciones o Empresas y aún para los particulares existe un número preciso de aplicaciones, que como herramientas no deben faltar en ninguna computadora de uso
personal.
La evolución de las aplicaciones informáticas se dio debido a los siguientes factores:
  • Trabajo a distancia.

  • Compartir información.

  • Accesibilidad.

  • Seguridad en la protección de la información

  • La Independencia de lugares.


APLICACION MONOLITICA
Una aplicación monolítica describe una única aplicación de software en niveles en los que la interfaz de usuario y código de acceso a datos se combinan en un solo programa de una plataforma única. Una aplicación monolítica es autónoma, independiente y de las aplicaciones computacionales.
La filosofía del diseño es que la aplicación es responsable no sólo de una tarea determinada, pero puede realizar todos los pasos necesarios para completar una función particular.

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.La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo
programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, 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. 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.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc.
Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

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.


CARACTERISTICAS DE LAS APLICACIONES DISTRIBUIDAS

Independientemente de su arquitectura, todas las aplicaciones distribuidas comparten ciertas características que las diferencian notablemente de las aplicacionescentralizadas y de las aplicaciones de escritorio. Conocer esas características y evaluar su impacto en las aplicaciones es primordial para escoger el diseño más adecuado de las mismas. No es cierto que una aplicación se pueda diseñar de cualquier manera.

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 LAS APLICACIONES DISTRIBUIDAS
La compatibilidad de distintos tipos de datos- Como la mayoría de los sistemas son distribuidos heterogéneamente, existe la posibilidad de que se interconecten varios tipos de gestores de base de datos que pueden tener tipos de variables incompatibles.


ZITA CELENE GARCIA NEGRON
IIX SEMESTRE A
LIC. INFORMATICA
flower sunny

CELENE G
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty RESPUESTAS A LAS PREGUNTAS 1 Y 3

Mensaje por Sandy Toribio Salvador Jue Ene 31, 2013 8:55 pm

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.

Aplicaciones monolíticas
Una aplicación monolítica es aquella aplicación que se ha diseñado para solo una función un ejemplo de ello sería un procesador de texto. Es una única aplicación de software en niveles en los que la interfaz de usuario y código de acceso a datos se combinan en un solo programa de una plataforma única. Una aplicación monolítica es autónoma, independiente de otras aplicaciones computacionales. La aplicación no solo es responsable de una determinada tarea si no que ejecuta un conjunto de tarea para completar una función en particular.
Ventajas de las aplicaciones monolíticas
1. Funcionan más rápido
2. Fácil de desarrollar
3. Precisa de cierta potencia de procesamiento

Desventajas
1. Requiera mayor hardware en las estaciones de trabajo
2. Son infinitamente más lentos en el procesamiento de peticiones sencillas
3. Requiere habilitar el acceso real a la carpeta de datos para todos los usuarios de la aplicación
4. Su actualización es más costosa
5. No permite el acceso en línea desde fuera de la red local o requieren de implementaciones de soluciones de conectividad muy costosa.

Aplicaciones Cliente/Servidor
Las aplicaciones cliente/servidor, permiten realizar diferentes tipos de tareas de manera remota, es decir, ofrecen la posibilidad de trabajar desde un terminal con comodidad y sin complicaciones. Una aplicación cliente/servidor, es un programa que cuenta con un front-end que establece una conexión directa a través de una red, con un servidor que aloja el programa, servicio o desarrollo informático al cual deseamos acceder. Una vez establecida la conexión, el mismo cliente (software que se ejecuta del lado del usuario), despliega una interfaz de trabajo que permite al usuario realizar la tarea de manera cómoda y eficiente. Directamente desde el terminal y en tiempo real, envía toda la información suministrada por el usuario al servidor en donde se ejecuta la acción y el mismo servidor regresa el resultado a la máquina cliente, desde donde se ha ingresado los datos, mostrando por pantalla toda la información que ha sido procesada.
Entre las principales utilidades que le podemos asignar a las aplicaciones cliente/servidor destacan las siguientes:
- Ligereza impresionante, ya que toda la carga y consumo de recursos se hace directamente en el servidor.
- Facilidad de mantenimiento, ya que se hace mantenimiento general en el código principal en el servidor.
- Posibilidad de realizar trabajos dinámicos y en grupo.
- Servicio de trabajo incluso en zonas remotas, gracias a Internet.
- Posibilidad de ser desarrolladas en diversos lenguajes de programación.
- Capacidad de trabajar, por lo general, en diferentes plataformas de manera simultánea.

Aplicaciones de 2 capas.-
A mayoría de las aplicaciones Cliente-Servidor funcionan bajo una arquitectura de dos capas en lenguajes de cuarta generación. Estas aplicaciones son bifurcadas en las siguientes capas: El llamado front-end (la interfaz del usuario, llamadas a SQL, aplicación de escritorio, etcétera) y el llamado Back-end (servidor de Bases de datos SQL, Sistema operativo multitareas, etc.). El proceso front-end se desarrolla en algún lenguaje de 4ª generación (4GL) como Visual Basic. Se llama front-end dado que es la capa en donde el usuario interactúa con su PC. El proceso back-end es el servidor de bases de datos como SQL Server u Oracle. Se llama así dado que típicamente reside en un servidor central en un entorno controlado.
Aplicaciones de 3 capas
Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos.
La ventaja principal: Es el desarrollo se puede llevar a cabo en varios niveles y, en caso de que sobrevenga algún cambio.
En el diseño de sistemas informáticos actuales se suele usar las arquitecturas multilineal o Programación por capas. Además, permite distribuir el trabajo de creación de una aplicación por niveles; cada grupo de trabajo está totalmente abstraído del resto de niveles, de forma que basta con conocer la API que existe entre niveles. API (Application Programming Interface), Es el conjunto de funciones y procedimientos o métodos que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Ejemplos: Microsoft Framework .NET, OpenGL, API for SCSI device interfacing, Javascript-C de Mozilla, Symfony para PHP.

Aplicaciones de N capas
En una aplicación distribuida en n capas, los diferentes procesos están distribuidos en diversas capas, no solo lógicas, sino también físicas, los procesos se ejecutan en diferentes equipos, que pueden incluso recibir diferentes plataformas o sistemas operativos. Cada equipo posee una configuración distinta y esta optimizada para realizar el papel que se le ha asignado dentro de la estructura de la aplicación, de modo que tanto los recursos, como la eficiencia global del sistema se optimicen. El surgimiento de la tecnología de componentes distribuidos es la clase de las arquitecturas de n capas, estos sistemas de computación utilizan un numero de variables individuales que se comunican entre ellos utilizando estándares predefinidos de comunicación para lograr la conexión con todos los usuarios.
Aplicaciones distribuidas
Una aplicación con distintos componentes que se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a través de una red. Las típicas aplicaciones distribuidas son de dos niveles (cliente-servidor), tres niveles (cliente-middleware-servidor) y multinivel.


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 características o una tabla comparativa para compartir en este Foro.

Algunos escenarios que utilizan aplicaciones distribuidas son:

Educación a distancia:
Moddle 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).

Creación de blogs
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 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 wikis basados 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.

Administrar BD en web
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.

PROBLEMAS COMUNES EN EL DESARROLLO Y USO DE APLICACIONES DISTRIBUIDAS

Concurrencia: De igual forma que en las aplicaciones centralizadas, las aplicaciones distribuidas serán utilizadas por cierto número de usuarios concurrentemente. Aspectos como las transacciones, los bloqueos de recursos o el uso de la CPU de los equipos a los que acceden muchos usuarios son determinantes a la hora de diseñar una arquitectura con la máxima eficacia.

Topología de la red: A pesar de que a día de hoy los anchos de banda cada vez son más amplios, el tráfico de red puede ser un aspecto importante que condicione el tiempo de respuesta de la aplicación. En muchos casos también será necesario tener en cuenta el tipo de red (LAN o WAN), o si la aplicación será o no accesible a través de Internet. La forma de distribuir los procesos de la aplicación tendrá que tomar en consideración el tipo de red que soportará el tráfico de datos.

Ubicación de la lógica: Dado que en una aplicación distribuida intervienen varios procesos, será necesario decidir en cuál de los posibles procesos físicos se sitúa cada componente lógico de la aplicación. Mientras que algunos procesos, como la presentación de datos o la recuperación de los mismos, tienen un sitio natural, otros, como la validación o la navegación, pueden ocupar diversos lugares dentro del diagrama que conforma la estructura de la aplicación.

Plataformas: En una aplicación distribuida los sistemas operativos involucrados o los lenguajes de desarrollo utilizados pueden ser un factor a tener en cuenta a la hora de decidir algunos aspectos importantes, como por ejemplo el modo de pasar datos entre procesos.

Seguridad: Una aplicación distribuida mantiene procesos que de una forma u otra están a la escucha en una red, lo que aumenta la vulnerabilidad de la aplicación. Será necesario establecer políticas de seguridad que impidan el acceso no autorizado a los procesos. Pedir al usuario un nombre y una contraseña al iniciar el programa es probable que no sea suficiente.

Otros:
- Disponibilidad de los servidores.
- Acceso a los sistemas de manera remota.
- Posibilidad de que pueden ser vistos (pero no accesados) por muchas personas.
- Capacidad de los equipos donde se almacenan las fuentes.


I love you I love you I love you By: Sandy Toribio Salvador
Lic. Informática
VIII Semestre
Turno: Matutino I love you I love you I love you



Sandy Toribio Salvador

Mensajes : 14
Fecha de inscripción : 29/08/2012

Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Vicky Neguib Antunez Maldonado.

Mensaje por lupitha_g Jue Ene 31, 2013 11:29 pm

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.
La evolución de las tecnologías para desarrollo de aplicaciones ha sido notoria, ya que con forme van pasando los años buenas y nuevas tecnológicas han venido a revolucionar la manera de trabajo desde las monolíticas que fueron la primera que se desarrollaron, estas resultaban caras y los costos por mantener este tipo de equipo es muy elevado, pasando después a las aplicaciones cliente-servidor, aplicaciones de 3 capas hasta la actualidad aplicaciones en n-capas.
DE INTERFAZ DE USUARIO: La evolución de la interfaz de usuario no tiene mucho tiempo en desarrollo ya que anterior no había interacción entre el usuario y el lenguaje. Actualmente es una realidad que exista una interacción usuario-maquina, la interfaz grafica de usuario es una interfaz que utiliza ciertas característica, representaciones graficas y acciones para representar la información y acciones disponibles dentro de la interfaz.
La interfaz grafica de usuario, es el artefacto tecnológico de un sistema interactivo que brinda una interacción amigable entre el sistema informático y el usuario.
La interfaz de usuario es un conjunto de imágenes y objetos gráficos para representar la información y acciones del sistema, en la cual la manipulación facilita la interacción y entendimiento del usuario con la computadora.

En la interfaz se presenta información a los usuarios y acepta entradas o respuestas para el uso del sistema, la interfaz de usuario no desarrolla procesos, solo debe presentar la forma de manipular el sistema.

Algunas tecnologías de interfaz de usuario son:
• Api Win 32
• HTML
• DELL HTML
• Lenguajes Scripts
DE APLICACIÓN: Esta capa 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.

En la capa de aplicación (ó servicios de aplicación) es la capa de mantenimiento general, se encarga normalmente de los requerimientos de calidad de servicios, como las caches, la gestión de excepciones, rendimiento, entre otros.

En la actualidad se ha aumentado la reusabilidad del diseño de las aplicaciones distribuidas en la cual redujo la cantidad de recursos y costos de desarrollo y mantenimiento
Algunas tecnologías de aplicación son:
• CORBA.
• DNA.
• EJB.
• XML

DE BASE DE DATOS: Al igual de las demás aplicaciones el desarrollo de las aplicaciones para base de datos, ha hecho de los servicios de almacenamiento de información uno de los mejores el progreso en la historia de las bases de datos. Como se ha logrado esto, pues implementando diferentes métodos y formas de almacenamiento y dejando a tras el almacenamiento en solo un registro en los cuales la perdida e inconsistencia de la información era muy frecuente.

DE COMUNICACIÓN DE DATOS: El desarrollo e implementación de aplicaciones distribuidas en las empresas ha cambiado radicalmente los modelos de computación, desde sistemas monolíticos hasta los tradicionales sistemas clientes-servidor, llevándolos hacia sistemas distribuidos multiplataforma altamente modulares. Este cambio ha llevado a mejoras en los sistemas de comunicación de datos para el procesamiento y desempeño de las aplicaciones.
Algunas de las tecnologías de comunicación de datos son:
• Intranet
• Internet
DE CONEXIÓN ENTRE CAPAS: Las arquitecturas proporcionan a las empresas grandes cantidades de beneficios para soluciones flexibles y fiables para resolver los distintos problemas que se les presentan. Las aplicaciones basadas en capas permiten trabajar con clientes ligeros, tal como navegadores de Internet, WebTV, teléfonos inteligentes, PDA y otros dispositivos que pueden conectarse a Internet. Actualmente las empresas están adaptándose rápidamente con estas nuevas tecnologías para agilizar la productividad de sus negocios y la comodidad de llevar sus labores acabo, este suceso está creando cambios fundamentales en los modelos de computación brindando nuevas oportunidades a las empresas.
Una de las tecnologías de conexión de capas es:
• Arquitectura DAO.

4) HACER USO DE INTERNET PARA INVESTIGAR LAS CARACTERÍSTICAS PRINCIPALES O EL PANORAMA GENERAL DE LAS APLICACIONES DISTRIBUIDAS, RECONOCER LOS ELEMENTOS DE UNA APLICACIÓN DISTRIBUIDA, INDAGAR ACERCA DE LA EVOLUCIÓN DE LAS APLICACIONES INFORMÁTICAS, Y DE LAS TECNOLOGÍAS PARA EL DESARROLLO DE APLICACIONES DISTRIBUIDAS, ASÍ COMO, ESCENARIOS DE UTILIZACIÓN DE LAS APLICACIONES DISTRIBUIDAS Y PROBLEMAS COMUNES EN EL DESARROLLO Y USO DE APLICACIONES DISTRIBUIDAS. REALIZAR UNA TABLA COMPARATIVA ACERCA DE LO INVESTIGADO, O EN SU DEFECTO, ELABORE UN MAPA CONCEPTUAL PARA COMPARTIR EN ESTE FORO.

1.- Panorama general de las aplicaciones distribuidas - Página 2 Capturaju



ALUMNA VICKY NEGUIB ANTUNEZ MALDONADO.
LIC. EN INFORMATICA.
TURNO MATUTINO.
lupitha_g
lupitha_g

Mensajes : 15
Fecha de inscripción : 25/08/2012
Edad : 33
Localización : Cd. Altamirano

Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty RESPUESTAS

Mensaje por LEYDI Vie Feb 01, 2013 2:00 am

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 CARACTERISTICAS O UNA TABLA COMPARATIVA PARA COMPARTIR EN ESTE FORO.
La evolución de las aplicaciones informáticas se dio debido a los siguientes factores:

-Trabajo a distancia.
-Compartir información.
-Accesibilidad.
-Seguridad en la protección de la información (tener la base de datos particionada en dos o más nodos).
-Independencia de 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 información
APLICACIONES MONOLÍTICAS
Son aquellas aplicaciones 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.
Una aplicación monolítica permite duplicar en cada computadora todos sus elementos que contiene como es:
• interfaz de usuario,
• lógica o reglas de negocio
• acceso a datos.

Ventajas
- Funcionan mas rápido.
- Fácil de desarrollar.
- Difícil de mantener, poco escalable
- Precisa de cierta potencia de proceso.
Desventajas
- Requieren más y mejor hardware en las estaciones de trabajo
- Son infinitamente más lentos en el procesamiento de peticiones sencillas
- Ocupan mayor ancho de banda, provocando congestionamiento en la Red Local
- Requieren habilitar el acceso real a la carpeta de datos para todos los usuarios de la aplicación
- Su actualización es más costosa
- No permiten el acceso en línea desde fuera de la Red Local ó requieren de implementaciones de soluciones de conectividad muy costosas
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.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina, ni es necesariamente un solo programa ya que 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.
Es por eso que el remitente de una solicitud es conocido como cliente que contiene algunas características son:
• Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación.
• Espera y recibe las respuestas del servidor.
• Por lo general, puede conectarse a varios servidores a la vez.
• Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
• Al contratar un servicio de redes, se debe tener en cuenta la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza.
Al receptor de la solicitud enviada por el cliente se conoce como servidor teniendo las siguientes características.
• Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo).
• Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
• Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).
• No es frecuente que interactúen directamente con los usuarios finales.
APLICACIONES DE 2,3 Y N CAPAS
La construcción de aplicaciones n-tier (n-capas) distribuidas ha emergido como la arquitectura predominante 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, tal y como se pone de manifiesto en las últimas tendencias de las grandes empresas de tecnología, como Sun con su estrategia Sun One, o Microsoft con DotNET (.Net).
El modelo presenta algunas ventajas entre ellas:
• Desarrollos paralelos (en cada capa).
• Aplicaciones más robustas debido al encapsulamiento
• Mantenimiento y soporte más sencillo (es más sencillo cambiar un componente que modificar una aplicación monolítica).
• Mayor flexibilidad (se pueden añadir nuevos módulos para dotar al sistema de nueva funcionalidad)
• Alta escalabilidad.

Caracteristicas.

Las aplicaciones que se construyen con una arquitectura multicapa tienen entre otras las siguientes características:

• Acceso a bases de datos (BD) o Normalmente con BD relacionales
• Transaccionales o Propiedades ACID (Atomicity-Consistency-Isolation-Durability)
• Operaciones atómicas (Atomicity)
• Transformaciones consistentes (Consistency)
• Transformaciones aisladas (Isolation)
• La durabilidad (Durability)
• Escalables.
• Disponibilidad o Idealmente no deben dejar de prestar servicio
• Seguras.
• Integración.
• Tipo de interfaz
• Separación clara entre la interfaz gráfica y la Capa de componentes.

Aplicación de dos capas.
en la actualidad es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar este tipo de arquitectura que fueron las primeras en aprovecharse de la estructura cliente-servidor mediante de:
• 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.
Existen herramientas para el desarrollo en dos capas por ejemplo
• visual basic,
• access
• sql.
Aplicación de tres capas.
Se basa en tres niveles de aplicación
•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
Podríamos ir separando nuestra aplicación en mas niveles lógicos, por ejemplo, vamos a querer que nuestra aplicación tenga múltiples interfaces, es decir interface gráfica (standalone o desktop) y también interface Web.
Mientras más servicios coloquemos a nuestra aplicación y mientras más escalable lo imaginemos, mas capas lógicas van a irse añadiendo a nuestra arquitectura; allí está el inicio del estudio de las siguientes secciones del curso, LOS PATRONES DE DISEÑO.
Características
• Tiene diferentes procesos están distribuidos en diferentes capas no sólo lógicas
• los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas sistemas operativos completamente distintos

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.
Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los tres grupos o capas que a continuación se resumen:
• Interface de usuario (Capa de Presentación)
• Interactuar con otros usuarios.
• Interactuar con aplicaciones externas o servicios.
• Procesos de negocios (Capa de Negocios)
• Cálculos u otros procesos de negocios.
• Ejecución de reglas de negocios.
• Validación de datos relacionados al negocio.
• Procesos de datos (Capa de Servicios de Datos).
• Manipulación de datos.
• Ejecución de las reglas de datos relacional.

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

PROBLEMAS COMUNES EN DESARROLLO Y USO DE APLICACIONES DISTRIBUIDAS
Hay una serie de problemas comunes en el diseño de las aplicaciones distribuidas:
• La compatibilidad de los Tipos de Datos.

• Fallas del Servidor
• Fallas del Cliente.
• Reintento de llamadas
• Seguridad
• Sincronización de la hora
• La arquitectura basada en RPC
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.


LEYDI MAGADAN OROZCO
VIII SEMESTRE "A"
LIC. INFORMATICA



LEYDI
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Re: 1.- Panorama general de las aplicaciones distribuidas

Mensaje por cervando Vie Feb 01, 2013 10:55 pm

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.

EXISTE MULTIPLES ESCENARIOS LOS CUALES DESCRIBIRÉ A CONTINUACIÓN:

EDUCACIÓN A DISTANCIA - MODDLE.

Es un ambiente educativo virtual, sistema de gestión de cursos, de distribució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). Fue creado por martin dougiamas, quien fue administrador de webct en la universidad tecnológica de curtin. Basó su diseño en las ideas del constructivismo en 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. Un profesor que opera desde este punto de vista crea un ambiente centrado en el estudiante que le ayuda a construir ese conocimiento con base en sus habilidades y conocimientos propios en lugar de simplemente publicar y transmitir la información que se considera que los estudiantes deben conocer.

CREACIÓN DE BLOGS - 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.

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 wiki media (wiki diccionario, wiki libros, etc). ha tenido una gran expansión desde el año 2005, existiendo un gran número de wikis basados 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.

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.
este proyecto se encuentra vigente desde el año1998, siendo el mejor evaluado en la comunidad de descargas de sourceforge.net como la descarga del mes de diciembre del 2002. como esta herramienta corre en máquinas con servidores webs y soporte de php y mysql, la tecnología utilizada ha ido variando durante su desarrollo.

PROBLEMAS COMUNES EN EL DESARROLLO Y USO DE APLICACIONES DISTRIBUIDAS:


Concurrencia: De igual forma que en las aplicaciones centralizadas, las aplicaciones distribuidas serán utilizadas por cierto número de usuarios concurrentemente. Aspectos como las transacciones, los bloqueos de recursos o el uso de la CPU de los equipos a los que acceden muchos usuarios son determinantes a la hora de diseñar una arquitectura con la máxima eficacia.

Topología de la red: A pesar de que a día de hoy los anchos de banda cada vez son más amplios, el tráfico de red puede ser un aspecto importante que condicione el tiempo de respuesta de la aplicación. En muchos casos también será necesario tener en cuenta el tipo de red (LAN o WAN), o si la aplicación será o no accesible a través de Internet. La forma de distribuir los procesos de la aplicación tendrá que tomar en consideración el tipo de red que soportará el tráfico de datos.

Ubicación de la lógica: Dado que en una aplicación distribuida intervienen varios procesos, será necesario decidir en cuál de los posibles procesos físicos se sitúa cada componente lógico de la aplicación. Mientras que algunos procesos, como la presentación de datos o la recuperación de los mismos, tienen un sitio natural, otros, como la validación o la navegación, pueden ocupar diversos lugares dentro del diagrama que conforma la estructura de la aplicación.

Plataformas: En una aplicación distribuida los sistemas operativos involucrados o los lenguajes de desarrollo utilizados pueden ser un factor a tener en cuenta a la hora de decidir algunos aspectos importantes, como por ejemplo el modo de pasar datos entre procesos.

Seguridad: Una aplicación distribuida mantiene procesos que de una forma u otra están a la escucha en una red, lo que aumenta la vulnerabilidad de la aplicación. Será necesario establecer políticas de seguridad que impidan el acceso no autorizado a los procesos. Pedir al usuario un nombre y una contraseña al iniciar el programa es probable que no sea suficiente.

Otros:
Disponibilidad de los servidores.
Acceso a los sistemas de manera remota.
Posibilidad de que pueden ser vistos (pero no accesados) por muchas personas.
Capacidad de los equipos donde se almacenan las fuentes.

5) Hacer uso de una aplicación distribuida existente, ya sea en forma local o “en línea”. Documente su experiencia mediante un resumen o comentarios personales, lo cual debe compartir en este Foro.


GALEÓN ES UNA APLICACIÓN DISTRIBUIDA ONILNE
que te ofrece HispaVista desde 1996 para que puedas crear tu PÁGINA WEB en Internet, tu ÁLBUM DE FOTOS o tu BLOG de una forma fácil y cómoda. En Galeón dispondrás de espacio web para alojar tu página, un asistente para hacer páginas web, plantillas y una cuenta de correo electrónico gratis.

Además podrás disfrutar de una serie de herramientas útiles y eficaces que Galeón pone a tu disposición como, por ejemplo, Foros, Contadores de Visitas, Formularios...
Dispones de tres modalidades en función de tus necesidades:

MODALIDAD GRATUITA DE GALEÓN:

Galeón Basic con 15 MB de espacio, Asistente para principiantes y Administrador Web. Esta modalidad es gratuita pero a cambio se emitirá publicidad de HispaVista en tu página web. Esta modalidad es Ideal para hacer tu primera página web.

MODALIDAD DE PAGO DE GALEÓN:
Galeón Plus con 1 GB de espacio, sin publicidad y con FTP. Incluye extras como estadísticas, más plantillas, ebooks etc. Es igual de sencillo que Galeón Basic pero con más prestaciones. Ideal si quieres un hosting sencillo.

HOSTING AVANZADO DE GALEÓN:
Galeón Profesional, es un hosting con prestaciones avanzadas, que incluye el panel de control Plesk, herramientas de programación, bases de datos, 52 aplicaciones preinstaladas, cuentas de correo ilimitadas etc. Ideal para hacer negocios por Internet, para empresas o para los que desean tener una Web con prestaciones profesionales.

Dictamen propio: En mi opinión esta aplicación distribuida online ofrece un servicio gratuito con ventajas mínimas para el usuario, ya que existen otras aplicaciones como 2freehosting que te dan mayor capacidad de almacenamiento, así como la facilidad de utilizar bd mysql y php , esta empresa va más encaminada a empresas grandes, ofreciendo considerablemente mejores garantías en sus servicios de paga[img][/img][img]1.- Panorama general de las aplicaciones distribuidas - Página 2 Galeonj [/img]

cervando

Mensajes : 5
Fecha de inscripción : 23/11/2012

Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Respuestas

Mensaje por Cesar Salgado Sandoval Dom Feb 03, 2013 6:45 pm

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.

1.- Panorama general de las aplicaciones distribuidas - Página 2 Tablage

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 características o una tabla comparativa para compartir en este Foro.

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.

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 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.

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
Cesar Salgado Sandoval
Cesar Salgado Sandoval

Mensajes : 8
Fecha de inscripción : 28/08/2012

Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Respuestas

Mensaje por V.armand Lun Feb 04, 2013 1:36 pm

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 caracteristicas o una tabla comparativa para compartir en este Foro.

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 CLIENTE/SERVIDOR
Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta..
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.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
Aplicaciones de 2,3 y n capas.
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.
Es la aplicación donde la interfaz, la lógica del negocio, el acceso a los datos y los datos se encuentran separados.
Aplicaciones distribuidas.
Contienen n capas distribuidas físicamente cada capa puede tener n subcapas distribuidas física y lógicamente.

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.


La evolución de las tecnologías para desarrollo de aplicaciones ha sido notoria, ya que con forme van pasando los años buenas y nuevas tecnológicas han venido a revolucionar la manera de trabajo desde las monolíticas que fueron la primera que se desarrollaron, estas resultaban caras y los costos por mantener este tipo de equipo es muy elevado, pasando después a las aplicaciones cliente-servidor, aplicaciones de 3 capas hasta la actualidad aplicaciones en n-capas.

El avance de las tecnologías para desarrollo de aplicaciones ha sido notoria, ya que con forme van pasando los años buenas y nuevas tecnológicas han venido a revolucionar la manera de trabajo desde las monolíticas que fueron la primera que se desarrollaron, estas resultaban caras y los costos por mantener este tipo de equipo es muy elevado, pasando después a las aplicaciones cliente-servidor, aplicaciones de 3 capas hasta la actualidad aplicaciones en n-capas.

Interfaz de usuario:
La evolución de la interfaz de usuario no tiene mucho tiempo en desarrollo ya que anterior no había interacción entre el usuario y el lenguaje.
Actualmente es una realidad que exista una interacción usuario-maquina, la interfaz gráfica de usuario es una interfaz que utiliza ciertas característica, representaciones gráficas y acciones para representar la información y acciones disponibles dentro de la interfaz.


Vicente Armando Bustos Rodriguez
8 semestre informatica B

V.armand
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty REPLICA PARA VICKY NEGHIB

Mensaje por CELENE G Mar Feb 05, 2013 11:45 pm

Cada uno de los reactivos contestados estan muy bien explicados, ademas de que el mapa conceptual tiene la informacion acertada, estoy de acuerdo contigo en el reactivo numero 4, ya que existen algunos problemas comunes en el desarrollo de las aplicaciones distribuidas..


ATTE.
CELENE GARCIA
IIX SEMESTRE GRUPO: A
LIC. INFORMATICA

Wink flower

CELENE G
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty 2 Y 3

Mensaje por MIGUEL C Vie Feb 08, 2013 12:53 pm

2.-La evolución de las tecnologías para desarrollo de aplicaciones ha sido notoria, ya que con forme van pasando los años buenas y nuevas tecnológicas han venido a revolucionar la manera de trabajo desde las monolíticas que fueron la primera que se desarrollaron, estas resultaban caras y los costos por mantener este tipo de equipo es muy elevado, pasando después a las aplicaciones cliente-servidor, aplicaciones de 3 capas hasta la actualidad aplicaciones en n-capas.

El avance de las tecnologías para desarrollo de aplicaciones ha sido notoria, ya que con forme van pasando los años buenas y nuevas tecnológicas han venido a revolucionar la manera de trabajo desde las monolíticas que fueron la primera que se desarrollaron, estas resultaban caras y los costos por mantener este tipo de equipo es muy elevado, pasando después a las aplicaciones cliente-servidor, aplicaciones de 3 capas hasta la actualidad aplicaciones en n-capas.
Caracteristicas.

Las aplicaciones que se construyen con una arquitectura multicapa tienen entre otras las siguientes características:

• Acceso a bases de datos (BD) o Normalmente con BD relacionales
• Transaccionales o Propiedades ACID (Atomicity-Consistency-Isolation-Durability)
• Operaciones atómicas (Atomicity)
• Transformaciones consistentes (Consistency)
• Transformaciones aisladas (Isolation)
• La durabilidad (Durability)
• Escalables.
• Disponibilidad o Idealmente no deben dejar de prestar servicio
• Seguras.
• Integración.
• Tipo de interfaz
• Separación clara entre la interfaz gráfica y la Capa de componentes.


3.- 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 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.

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.

Es un ambiente educativo virtual, sistema de gestión de cursos, de distribució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). Fue creado por martin dougiamas, quien fue administrador de webct en la universidad tecnológica de curtin. Basó su diseño en las ideas del constructivismo en 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. Un profesor que opera desde este punto de vista crea un ambiente centrado en el estudiante que le ayuda a construir ese conocimiento con base en sus habilidades y conocimientos propios en lugar de simplemente publicar y transmitir la información que se considera que los estudiantes deben conocer.

ATTE: MIGUEL ANGEL CASTAÑEDA REBOLLAR
8ºB
CARRERA: LIC. EN INFORMATICA


MIGUEL C
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty la respuesta de la pregunta 1 y 2

Mensaje por afrodita Lun Feb 11, 2013 2:39 pm

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.

Evolución de las aplicaciones informáticas.
Aplicación de una sola capa cuya interfaz, lógica del negocio, acceso a datos y los datos se encuentran mezclados o altamente acoplados, esto dificulta que pueda hacerse una separación lógica y física donde alguna de las partes puedan ser reutilizables.

Aplicaciones monolíticas.
Las aplicaciones Cliente- Cliente concentran toda la actividad en los equipos de los usuarios, dejando a los servidores la labor de meros reservorios de datos compartidos.
Así ante cada petición de datos, el servidor devuelve archivos completos que luego son procesados por el equipo cliente, para obtener el resultado.
Por ejemplo, suponiendo que una base de cliente tuviera un tamaño medio de 5Mb y se efectúa una búsqueda muy simple de un cliente en particular, el servidor no efectuará la búsqueda por sí sino que devuelve la tabla de 5Mb completa, luego el equipo del usuario procesa la búsqueda en su equipo para seleccionar 1 registro de digamos unos 1Kb y descarta el resto de la información.

Aplicaciones cliente/servidor.
También se conoce como aplicaciones de dos capas es aquella donde los datos y la lógica del negocio se encuentran separados de la interfaz, este tipo de aplicaciones también es llamado cliente servidor.
Otro escenario válido para una aplicación cliente/servidor se da separando los datos de la interfaz y la lógica del negocio, este tipo de aplicación también se conoce como cliente pesado.

Aplicaciones de 2,3 y n capas.
Es la aplicación donde la interfaz, la lógica del negocio, el acceso a los datos y los datos se encuentran separados.

Aplicaciones distribuidas.
Contienen n capas distribuidas físicamente cada capa puede tener n subcapas distribuidas física y lógicamente.

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.

R= La evolución de las tecnologías para desarrollo de aplicaciones ha sido notoria, ya que con forme van pasando los años buenas y nuevas tecnológicas han venido a revolucionar la manera de trabajo desde las monolíticas que fueron la primera que se desarrollaron, estas resultaban caras y los costos por mantener este tipo de equipo es muy elevado, pasando después a las aplicaciones cliente-servidor, aplicaciones de 3 capas hasta la actualidad aplicaciones en n-capas.


De interfaz de usuario:
La evolución de la interfaz de usuario no tiene mucho tiempo en desarrollo ya que anterior no había interacción entre el usuario y el lenguaje.
Actualmente es una realidad que exista una interacción usuario-maquina, la interfaz gráfica de usuario es una interfaz que utiliza ciertas característica, representaciones gráficas y acciones para representar la información y acciones disponibles dentro de la interfaz.

De aplicación:
Esta capa 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.

De base de datos:
Al igual de las demás aplicaciones el desarrollo de las aplicaciones para base de datos, ha hecho de los servicios de almacenamiento de información uno de los mejores el progreso en la historia de las bases de datos. Como se ha logrado esto, pues implementando diferentes métodos y formas de almacenamiento y dejando a tras el almacenamiento en solo un registro en los cuales la perdida he inconsistencia de la información era muy frecuente.

Arrow atte:bertha popoca najera flower
VIII sem.
lic. en informatica
[/color]

afrodita
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty RESPUESTAS A LOS CUESTIONAMIENTOS DE DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUIDOS

Mensaje por tadeo ja Lun Feb 11, 2013 2:50 pm

I) 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.

Aplicaciones monolíticas:

Duplica en cada computadora todos los elementos: la interfaz de usuario, la lógica del negocio y los datos se ejecutan en la misma máquina.

� ventajas:

Funciona más rápido
fácil de desarrollar
poco escalable

� desventajas:

Requiere más y mejor hardware
ocupan más ancho de banda y esto genera congestión en la red
su actualización es más costos

Aplicaciones cliente/servidor:

Consiste en una aplicación principal que ofrece un servicio y se mantiene en espera de que una aplicación cliente se conecte solicitando determinada información.

� ventajas:

Centralización del control de los recursos, datos y accesos
facilidad de mantenimiento y actualización del lado del servidor.
Toda la información es almacenada del lado del servidor

� desventajas:

Si el número de clientes es elevado, el servidor puede saturarse.
Si falla el servidor, el sistema queda paralizado.

Aplicaciones de 2:

Está conformado por el nivel de aplicación y el nivel de base de datos


Aplicaciones de 3 capas:

Está constituido por tres capas

1.- el nivel de aplicación
2.- nivel de dominio de la aplicación
3.- nivel de repositorio

Aplicaciones de N capas:

Dice que en este tipo de aplicación los diferentes procesos están distribuidos en diferentes capas, los cuales utilizan un número variable de componentes individuales que tienen comunicación entre ellos. Utilizan estándares predefinidos como corba, dna, ejb, XML, .net.

Aplicaciones distribuidas:

Es una aplicación con distintos componentes que se ejecutan en entornos separados, en distintas plataformas conectadas a través de una red.

� ventajas:

Ayudan para hacer los sistemas complejos y muy grandes, estas aplicaciones distribuidas son de gran ayuda para evitar el congestionamiento

� desventajas:

El principal problema es el software, es el diseño, implantación y uso del software distribuido, pues presenta numerosos inconvenientes.


III) 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 características 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, p2p.
Algunos escenarios son:

� php
-educación a distancia
-blogs
-wikis
� asp
-e-cam
-prond-metor
� problemas comunes en el desarrollo y uso de aplicaciones distribuidas*
-disponibilidad de los servidores
-acceso a los sistemas de manera remoto
-posibilidad de que puedan ser vistos (pero no accesados) por muchas personas
-capacidad de los equipos donde se almacenan las fuentes.

Es aquel que visualiza el almacenamiento remoto y la distribución de manera abstracta. Bajo los procesos descriptivos de una trayectoria de eventos.

� la compatibilidad de los tipos de datos:

-distintos sistemas operativos tienen diferentes tipos de datos que no son siempre compatibles entre si
-fallas del servidor: debido a que los componentes pueden ser remotos.


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 – media wiki

media wiki 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.

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.

• Disponibilidad de los servidores.
• Acceso a los sistemas de manera remota.
• Posibilidad de que pueden ser vistos (pero no accesados) por muchas personas.
• Capacidad de los equipos donde se almacenan las fuentes.



TADEO JAVIER FERNANDO
8VO B
TURNO VESPERTINO
RESPUESTAS AL CUESTIONAMIENTO DEL PROFESOR

tadeo ja
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty RESPUESTAS A LOS REACTIVOS

Mensaje por brendaE Lun Feb 11, 2013 10:25 pm

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:

• JSP.

• ASP
E-commerce - eCAM.
E-commerce - ProdMentor.

• PHP
Eduacaión a distancia - moddle.
Creación de blogs - Wordpress.
Creador de wikis - MediaWiki.
Administrar BD en web - PHPMyAdmin.

Algunos de los problemas comunes por mencionar algunos son:

Seguridad: Una aplicación distribuida mantiene procesos que de una forma u otra están a la escucha en una red, lo que aumenta la vulnerabilidad de la aplicación. Será necesario establecer políticas de seguridad que impidan el acceso no autorizado a los procesos. Pedir al usuario un nombre y una contraseña al iniciar el programa es probable que no sea suficiente.
Concurrencia: De igual forma que en las aplicaciones centralizadas, las aplicaciones distribuidas serán utilizadas por cierto número de usuarios concurrentemente. Aspectos como las transacciones, los bloqueos de recursos o el uso de la CPU de los equipos a los que acceden muchos usuarios son determinantes a la hora de diseñar una arquitectura con la máxima eficacia.

Topología de la red: A pesar de que a día de hoy los anchos de banda cada vez son más amplios, el tráfico de red puede ser un aspecto importante que condicione el tiempo de respuesta de la aplicación. En muchos casos también será necesario tener en cuenta el tipo de red (LAN o WAN), o si la aplicación será o no accesible a través de Internet. La forma de distribuir los procesos de la aplicación tendrá que tomar en consideración el tipo de red que soportará el tráfico de datos.


Plataformas: En una aplicación distribuida los sistemas operativos involucrados o los lenguajes de desarrollo utilizados pueden ser un factor a tener en cuenta a la hora de decidir algunos aspectos importantes, como por ejemplo el modo de pasar datos entre procesos.

Algunos de los usos de las aplicaciones distribuidas son:
• El uso de php
• El uso de jsp
• Sistemas de postales=Easy Post Card
• Chat´s=latinchat,adrenalinlabs.


6) Desarrollar una aplicación (trivial) bajo la arquitectura cliente/servidor de 2 capas. Comparta en este Foro, el codigo fuente de la aplicacion y sus comentarios personales.
Clase Estado.


Los objetos de la clase Estado son los encargados de extraer información acerca de la máquina en la están. La información que recopilan es la citada anteriormente para ser enviada al cliente. Para ello usamos cinco variables de tipo string, además debemos especificar el nombre de la hebra desde la cual se hace referencia a este objeto. El código de esta clase es:

import java.util.*;
public class Estado {
public Estado (String nameThread){
Date fecha = new Date();
NombreSO = System.getProperty("os.name");
VerSO = System.getProperty("os.version");
Arquitectura = System.getProperty("os.arch");
Fecha = fecha.toString();
NombreHebra = nameThread;
}
public String toString(){
String Estado = new String("");
Estado = NombreSO + " Version " + VerSO + "\nArquitectura: " + Arquitectura + "\n" + Fecha + " \n" + NombreHebra;
return Estado;
}
String Arquitectura;
String Fecha;
String NombreHebra;
String NombreSO;
String VerSO;
}
Como podemos ver la clase consta del constructor y un método toString().

Clase ClienteTCP.

La clase ClienteTCP tiene un sencillo funcionamiento. Consta de un único método main(), por tanto es ejecutable por si sola. Su funcionamiento es muy similar al de la práctica anterior:
Al iniciar el cliente éste abre una conexión tipo stream con la maquina donde se encuentra el servidor y en el puerto donde se oferta el servicio. La máquina y el puerto se introducen por la línea de comandos, de modo que cuando no se especifican se utilizan unos valores por defecto. La diferencia con el anterior es que en esta ocasión cuando recibe la repuesta del servidor espera una nueva introducción de datos para volver a enviarlos al servidor (algo parecido al funcionamiento de un chat si éste fuese semi-duplex). El cliente finaliza su ejecución cuando se introduce por teclado la palabra FIN (previo envío al servidor).

El código del cliente es:
import java.net.*;
import java.io.*;
public class ClienteTCP {
public static void main (String[] argumentos)throws IOException{
Socket cliente = null;
PrintWriter escritor = null;
BufferedReader lector = null;
String DatosEnviados = null;
String maquina;
int puerto;
BufferedReader DatosTeclado = new BufferedReader ( new InputStreamReader (System.in));
if (argumentos.length !=2){
maquina = "localhost";
puerto = 12345;
System.out.println ("Establecidos valores por defecto:\nEQUIPO = localhost\nPORT = 12345");
}
else{
maquina = argumentos [0];
Integer pasarela = new Integer (argumentos[1]);
puerto = pasarela.parseInt(pasarela.toString());
System.out.println ("Conectado a " + maquina + " en puerto: " + puerto);
}
try{
cliente = new Socket (maquina,puerto);
}catch (Exception e){
System.out.println ("Fallo : "+ e.toString());
System.exit (0);
}
try{
escritor = new PrintWriter(cliente.getOutputStream(), true);
lector = new BufferedReader(new InputStreamReader(cliente.GetInputStream (
}catch (Exception e){
System.out.println ("Fallo : "+ e.toString());
cliente.close();
System.exit (0);
}
do{
DatosEnviados = DatosTeclado.readLine();
escritor.println (DatosEnviados);
if (!DatosEnviados.equals("FIN")){
System.out.println (lector.readLine());
System.out.println (lector.readLine());
System.out.println (lector.readLine());
System.out.println (lector.readLine());
System.out.println (lector.readLine());
}
}while (!DatosEnviados.equals("FIN"));
System.out.println ("Finalizada conexión con el servidor");
try{
escritor.close();
}catch (Exception e){}
}

Clase Servidor TCP.
En este caso el servidor diseñado es un servidor concurrente, es decir, sólo se encarga de aceptar peticiones de servicio, una vez aceptada se genera un proceso hijo (hebra en Java) que se encargará de facilitar dicho servicio al cliente. De modo que la función del servidor es escuchar peticiones de clientes y crear procesos hijos que las atiendan. El código de servidor es:
import java.net.*;
import java.io.*;
import misc.*;
public class ServidorTCP{
public static void main (String[] argumentos)throws IOException{
ServerSocket socketServidor = null;
Socket socketCliente = null;
try{
socketServidor = new ServerSocket (12345);
}catch (Exception e){
System.out.println ("Fallo : "+ e.toString());
System.exit (0);
}
System.out.println ("Servidor iniciado... (Socket TCP)");
while(true){
try{
socketCliente = socketServidor.accept();
AtencionClienteThread miThread = new AtencionClienteThread(""Cliente: " + socketCliente.toString(), , socketCliente);
}catch (Exception e){
System.out.println ("Fallo : " + e.toString());
socketServidor.close();
System.exit (0);
}
}
}
}
Este tipo de servidor es mucho más sencillo que el interactivo, como podemos observar crea el socket para ofertar el servicio y se limita ha esperar peticiones que, una vez aceptadas, se las pasa a la hebra para que las atienda. Al crear la hebra la nombramos con la información del cliente y le pasamos el socket del cliente a través del cual devolverá la información requerida.

[justify]

brendaE
Invitado


Volver arriba Ir abajo

1.- Panorama general de las aplicaciones distribuidas - Página 2 Empty Re: 1.- Panorama general de las aplicaciones distribuidas

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Página 2 de 4. Precedente  1, 2, 3, 4  Siguiente

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.