jueves, 19 de julio de 2012

Activity 16. ADOO. NashuaBros Alvarado.

Activity 16. ADOO. NashuaBros Alvarado.
Actividades Obligatorias
·         Empleando publicaciones comerciales o recursos de internet de información de fondo, defina un conjunto de criterios para evaluar herramientas para la ingeniería de software cliente/servidor.
Un sistema raíz típicamente será una gran computadora, actúa como deposito de los datos corporativos. El sistema raíz esta conectado con servidores (típicamente son estaciones de trabajo potentes, o PC) y que poseen un doble papel. Los servidores actúan para actualizar y solicitar los datos corporativos mantenidos por el sistema raíz. Además mantienen sistemas departamentales locales y desempeñan un papel clave al poner en red los PC de nivel de usuario a través de una red de área local (LAN).

·         Investigue los últimos avances en el software para trabajo en grupo y desarrolle un resumen breve.
·         Sironta, aplicación P2P para el intercambio, creación y edición de documentos que requieren trabajo en grupo.
·         Workflux.net solución para administración, distribución y control de archivos y proyectos empresariales en español.
·         eGroupWare solución de trabajo en grupo vía web, de código abierto.
·         OpenGroupWare solución de trabajo en grupo vía web, de código abierto.
·         Assembla, herramientas de colaboración online para el desarrollo de software (wikis, mensajes, archivos compartidos, integración con Gdoc, repositorios, seguimiento de tareas y defectos.
·         Zimbra Collaboration Suite solución de trabajo en grupo (en varios idiomas, soporta correo, directorio, agenda, mensajería instantánea, calendario, espacios de trabajo).
·         TalkAndWrite (software interactivo en tiempo real que simula la interacción de dos personas que trabajan una al lado de la otra en un documento en común).
·         phpgroupware (en inglés, aunque cuenta con un demo con libre acceso en el cual pueden cambiarse las preferencias a idioma español).
·         Kolab (en varios idiomas, soporta correo, directorio, agenda y nativamente interactúa con KDE).
·         MediaWiki (el programa informático que utiliza Wikipedia).
·         BSCW, entorno telemático basado en espacios compartidos de trabajo. Las siglas corresponden a "Soporte básico para trabajo cooperativo". Comercial, con licencias gratuitas para fines educativos y está traducido, entre otros idiomas, al castellano.
·         Synergeia adaptación del entorno BSCW al mundo educativo. Es gratuito y está traducido, entre otros idiomas, al español.
·         Redianet aplicación para aprovechar una sala o aula con PC en red para colaboración y la compartición de medios.
·         XMPP, sistema de mensajería instantáneo.
·         Isabel, sistema de videoconferencia distribuido y en grupo.
·         Applications Server.
·         Coneix, intranet para la gestión de proyectos implementada en PHP y MySQL.
·         Moodle, aplicación educativa; programa de gestión de cursos.
·         K3-exchange (K3x) Soluciones para mejoras de productividad que combinan tecnologías del conocimiento y colaboración.
·         Open-Xchange, plataforma software libre de colaboración inteligente con interfaz web Ajax.
·         Scalix, alternativa software libre a Microsoft Exchange con interfaz web Ajax.
·         SharePoint (K3x) Software de Microsoft, para la colaboración e interacción en equipo para los ambientes Internet, Intranet y Extranet, incluye BI-Inteligencia de negocios, chat, foros e interacción de correo, blogs entre muchas otras funcionalidades.
·         TribalOS Plataforma de colaboración basada en Jquery, disponible a través de un sistema de suscripción.
·         Google Docs Es un programa gratuito basado en Web para crear documentos en línea con la posibilidad de colaborar en grupo. Incluye un Procesador de textos, una Hoja de cálculo, Programa de presentación básico y un editor de formularios destinados a encuestas.


·         Ofrezca ejemplos de de tres o cuatro mensajes que pudieran dar lugar a una solicitud de un método de cliente mantenido en el servidor.
Los clientes en el ejemplo SIC son los browsers WWW disponibles, los cuales no se conectan directamente a la red, por el contrario se conectan a los gateways que ofrecen los proveedores de Internet, como Compuserve, mediante un módem o una línea arrendada. Entonces, los clientes recuperan streams de datos desde los servidores httpd, los interpretan, e inician acciones tales como el despliegue de documentos en la pantalla, o la ejecución de applets de Java.

Clase
Servidor
Colaboradores
  • Broker

Clase
Cliente
Colaboradores
  • Broker
Responsabilidades
  • Implementa la funcionalidad del usuario.
  • Envía solicitudes a los servidores a través del proxy de lado del cliente.
  Proxy del lado del servidor

Responsabilidades
  • Implementa servicios.
  • Se registra a sí mismo con el broker local.
  • Envía respuestas y excepciones al cliente a través del proxy del lado del servidor.
  Proxy del lado del cliente


Broker

Un broker es un mensajero, responsable de la transmisión de solicitudes de clientes a servidores, así como de la transmisión de respuestas y excepciones de servidores a clientes. Localiza al receptor de una solicitud basándose en un sistema de identificadores únicos. Ofrece API’s a clientes y servidores que incluyen operaciones para el registro de servidores, y la invocación de métodos de servidores.

Cuando llega una solicitud dirigida a un servidor que es mantenido por el broker local, éste pasa la solicitud directamente al servidor. Si el servidor esta inactivo, el broker lo activa. El broker envía todas las respuestas y excepciones, producto de la ejecución de un servicio, al cliente que hizo la solicitud. Si el servidor especificado es mantenido por otro broker, el broker local encuentra una ruta al broker remoto y le envía la solicitud.
Un broker en el ejemplo SIC es la combinación de un gateway de Internet, y la infraestructura misma de Internet. Cada intercambio de información entre un cliente y un servidor pasa a través del broker. Un cliente especifica la información que requiere mediante URLs. Utilizando estos identificadores únicos, el broker localiza los servicios requeridos, y envía las solicitudes a los servidores apropiados. Cuando se agrega un nuevo servidor, éste debe registrarse con el broker. Los clientes y servidores utilizan el gateway de Internet como una interfaz al broker.


·         Investigue cuales son los componentes de software para sistemas cliente/servidor.
Componentes de aplicaciones.
Una infraestructura Cliente/Servidor consta de tres componentes esenciales, todos ellos de igual importancia y estrechamente ligados:
      Plataforma Operativa
      Entorno de Desarrollo de Aplicaciones.
      Gestión de Sistemas.
      Funciones de componentes.



      Plataforma Operativa.- La plataforma deberá soportar todos los modelos de distribución Cliente/Servidor, todos los servicios de comunicación, y deberá utilizar, preferentemente, componentes estándar de la industria para los servicios de distribución. Los desarrollos propios deben coexistir con las aplicaciones estándar y su integración deberá ser imperceptible para el usuario. Igualmente, podrán acomodarse programas escritos utilizando diferentes tecnologías y herramientas.

      Entorno de Desarrollo de Aplicaciones. - Debe elegirse después de la plataforma operativa. Un entorno de aplicación incremental, debe posibilitar la coexistencia de procesos cliente y servidor desarrollados con distintos lenguajes de programación y/o herramientas, así como utilizar distintas tecnologías (por ejemplo, lenguaje procedural, lenguaje orientado a objetos, multimedia), y que han sido puestas en explotación en distintos momentos del tiempo.

      Gestión de Sistemas. - Estas funciones aumentan considerablemente el costo de una solución, pero no se pueden evitar. Siempre deben adaptarse a las necesidades de la organización, y al decidir la plataforma operativa y el entorno de desarrollo, es decir, en las primeras fases de la definición de la solución, merece la pena considerar los aspectos siguientes:

          ¿Qué necesitamos gestionar?
          ¿Dónde estarán situados los procesadores y estaciones de trabajo?
          ¿Cuántos tipos distintos se soportarán?
          ¿Qué tipo de soporte es necesario y quién lo proporciona?
Una Metodología de Infraestructura para Sistemas Distribuidos que permita definir una infraestructura para el sistema Cliente/Servidor y evalúe la puesta en marcha del proyecto sobre una base racional.
El enfoque estructurado de dicha Metodología comprende los pasos siguientes:
      Captación de las necesidades. Definir, analizar y evaluar, aunando los requerimientos del negocio con las aportaciones tecnológicas.
      Diseño conceptual en el que se sitúan los principales bloques funcionales y de datos del sistema, mostrando la relación y comunicación entre ambos.
      Detalle de los principales componentes funcionales, selección de procesos, determinando los principios que deben aplicarse a la selección de software o diseño de los módulos.

Actividades sugeridas
·         Sugiera cinco aplicaciones en las cuales un servidor principal parezca una estrategia de diseño adecuada.

1.    Sironta, aplicación P2P para el intercambio, creación y edición de documentos que requieren trabajo en grupo.
2.    Workflux.net solución para administración, distribución y control de archivos y proyectos empresariales en español.
3.    eGroupWare solución de trabajo en grupo vía web, de código abierto.
4.    OpenGroupWare solución de trabajo en grupo vía web, de código abierto.
5.    Assembla, herramientas de colaboración online para el desarrollo de software (wikis, mensajes, archivos compartidos, integración con Gdoc, repositorios, seguimiento de tareas y defectos.

·         Investigue un lenguaje de consulta estructurado (SQL) y proporcione un breve ejemplo de la forma en que se podría caracterizar una transacción empleando ese lenguaje.
El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en estas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella.

Autoevaluación
1.      ¿En qué consiste el diseño en ambiente de redes?
El diseño de bases de datos se utiliza para definir y después especificar la estructura de los objetos de negocios que se emplean en el sistema cliente/servidor. Es preciso desarrollar toda una gama de informaciones de diseño durante el diseño de base de datos.
2.      ¿Cómo se debe ser la estructura de los sistemas cliente / servidor?
  • Entidades: se identifican en el diagrama entidad relación del nuevo sistema.
  • Archivos: que implementan las entidades en el diagrama entidad relación.
  • Relación entre campo y archivo: establece la disposición de los archivos al identificar los campos que están incluidos en cada archivo.
  • Campos: define los campos del diseño (el diccionario de datos).
  • Relaciones entre archivos: identifican los archivos relacionados que se pueden unir para crear vistas lógicas o consultas.
  • Validación de relaciones: identifica el tipo de relaciones entre archivo o entre archivos y campos que se utilicen para la validación.
  • Tipos de campo: se utiliza para permitir la herencia de características de campos procedentes de superclases del campo (por ejem.: fecha, texto, numero, valor, precio).
  • Tipo de datos: las características de los datos contenidos en el campo.
  • Tipo de archivo: se utiliza para identificar cualquiera de las ubicaciones del archivo.
  • Función de campo: clave, clave externa, atributo, campo virtual, campo derivado, etc.
  • Valores permitidos: identifica los valores permitidos para los campos de tipo de estado.
  • Reglas de negocios: reglas para editar, calcular campos derivados, etc.

3.      ¿Cuáles son las cinco configuraciones diferentes para la asignación de componentes de software?
·         Extracción manual. Se permite al usuario copiar manualmente los datos adecuados de un servidor a un cliente. Este enfoque resulta útil cuando el usuario requiere unos datos estáticos, y cuando se puede dejar el control de la estación en manos del usuario.
·         Instantánea. Esta tecnica automatiza la extracción malual al especificar una "instantánea" de los datos que deberan de transferirse desde un cliente hasta un servidor a intervalos predefinidos. Este enfoque es útil para distribuir unos datos relativemtne estaticos que solamente requieran actualizaciones infrecuentes.
·         Duplicación. Se puede utilizar esta tecnica cuando es preciso mantener multiples copias de los datos en distintos centros. En este caso, el nivel de complejidad se incomplementa porque la consistencia de los datos, las actualizaciones, la seguridad, y el procesamiento deben de coordinarse entre los multiples centros.
·         Fragmentación. Este enfoque, la base de datos del sistema se fragmenta entre multiples máquuienas. Aunque resulta intrigante en teoria, la fragmentación es excepcionalmente dificil de implementar, y haste el momento no es frecuente encontrarla.


4.      ¿Cómo debe ser el diseño para sistemas cliente/servidor?
Una infraestructura Cliente/Servidor consta de tres componentes esenciales, todos ellos de igual importancia y estrechamente ligados:
      Plataforma Operativa
      Entorno de Desarrollo de Aplicaciones.
      Gestión de Sistemas.
      Funciones de componentes.

5.      ¿Para qué es necesario el diseño de bases de datos en el ambiente de redes?
El diseño de bases de datos se utiliza para definir y después especificar la estructura de los objetos de negocios que se emplean en el sistema cliente/servidor. Es preciso desarrollar toda una gama de informaciones de diseño durante el diseño de base de datos. Esta información, implementada mediante el uso de una base de datos relacional.

No hay comentarios:

Publicar un comentario