viernes, 20 de marzo de 2009

base de datos

DISEÑO DE BASE DE DATOS RELACIONAL.

La concepción de una Base de Datos Relacional es una tarea larga y costosa.

Según Sommerville (1988) " un buen diseño es la clave de una eficiente ingeniería del software.

Diseño Lógico, cuyo objetivo es transformar el esquema conceptual obtenido en la etapa anterior, adaptándolo al modelo de datos en el que se apoya el SGBD que se va a utilizar (modelo relacional).

Diseño Físico, cuyo objetivo es conseguir una instrumentación lo mas eficiente posible del esquema lógico.


Causas de malos diseños

Falta de conocimiento del dominio de la aplicación, conocimiento que no posee el informático, pero si el usuario (aunque no sepa estructurarlo ni expresarlo de forma precisa).
Falta de experiencia en el modelado



PELIGROS EN EL DISEÑO DE BASES DE DATOS RELACIONALES.


Una base de datos implantada sobre un modelo bien diseñado tiene mayor esperanza de vida aun en un ambiente dinámico, que una base de datos con un diseño pobre.
Existen diversos riesgos en el diseño de las bases de datos relacionales que afecten la funcionalidad de la misma, los riesgos generalmente son la redundancia de información y la inconsistencia de datos.
Simplificar el mantenimiento de los datos actualizándolos, insertándolos y borrándolos.

Pasos de la normalización:

Descomponer todos los grupos de datos en registros bidimensionales.
Eliminar todas las relaciones en la que los datos no dependan completamente de la llave primaria del registro.
Eliminar todas las relaciones que contengan dependencias transitivas.


La teoría de normalización tiene como fundamento el concepto de formas normales; se dice que una relación está en una determinada forma normal si satisface un conjunto de restricciones.

Formas normales.

Son las técnicas para prevenir las anomalías en las tablas. Dependiendo de su estructura, una tabla puede estar en primera forma normal, segunda forma normal o en cualquier otra.



Primera forma normal.

Definición formal: Una relación R se encuentra en 1FN si y solo sí por cada renglón columna contiene valores atómicos.

Abreviada como FN, se considera que una relación se encuentra en la primera forma normal cuando cumple lo siguiente:

Las celdas de las tablas poseen valores simples y no se permiten grupos ni arreglos repetidos como valores, es decir, contienen un solo valor por cada celda.

Segunda forma normal.

Para definir formalmente la segunda forma normal requerimos saber que es una dependencia funcional: Consiste en edificar que atributos dependen de otro(s) atributo(s).
De acuerdo con está definición, cada tabla que tiene un atributo único como clave, esta en segunda forma normal.

TERCERA FORMA NORMAL Y LA FORMA NORMAL DE BOYCE CODD.
Definición formal: Una relación R está en 3FN si y solo si esta en 2FN y todos sus atributos no primos dependen no transitivamente de la llave primaria.

Consiste en eliminar la dependencia transitiva que queda en una segunda forma normal, en pocas palabras una relación esta en tercera forma normal si está en segunda forma normal y no existen dependencias transitivas entre los atributos, nos referimos a dependencias transitivas cuando existe más de una forma de llegar a referencias a un atributo de una relación.


Determinante: Uno o más atributos que, de manera funcional, determinan otro atributo o atributos. En la dependencia funcional (A,B)-->C, (A,B) son los determinantes.

Entonces decimos que dichos atributos pueden ser llaves candidato.
Gráficamente podemos representar la forma normal de Boyce Codd de la siguiente forma:


Obsérvese que a diferencia de la tercera forma normal, agrupamos todas las llaves candidato para formar una global (representadas en el recuadro) las cuales hacen referencia a los atributos que no son llaves candidato.


Cuarta forma normal.

Definición formal: Un esquema de relaciones R está en 4FN con respecto a un conjunto D de dependencias funcionales y de valores múltiples sí, para todas las dependencias de valores múltiples en D de la forma X->->Y, donde X<=R y Y<=R, se cumple por lo menos una de estas condiciones: * X->->Y es una dependencia de valores múltiples trivial.* X es una superllave del esquema R.

QUINTA FORMA NORMAL.Definición formal: Un esquema de relaciones R está en 5FN con respecto a un conjunto D de dependencias funcionales, de valores múltiples y de producto, si para todas las dependencias de productos en D se cumple por lo menos una de estas condiciones:

* (R1, R2, R3, ... Rn) es una dependencia de producto trivial.* Toda Ri es una superllave de R.

La quinta forma normal se refiere a dependencias que son extrañas. Tiene que ver con tablas que pueden dividirse en subtablas, pero que no pueden reconstruirse.

viernes, 13 de marzo de 2009

El Middleware

El Middleware es un software de conectividad que ofrece un conjunto de servicios que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas. Funciona como una capa de abstracción de software distribuida, que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El Middleware nos abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de programación, proporcionando una API para la fácil programación y manejo de aplicaciones distribuidas. Dependiendo del problema a resolver y de las funciones necesarias, serán útiles diferentes tipo de servicios de middleware.
Por lo general el middleware del lado cliente está implementado por el Sistema Operativo subyacente, el cual posee las librerías que implementan todas las funcionalidades para la comunicacion atravez de la red.




Los Middleware han aparecido de manera relativamente reciente en el mundo de la informática, hoy en día tecnologías móviles (celulares) están aplicando esta tecnología para el soporte de llamadas VOIP. En el pasado ganaron popularidad en la década de los 80, ya que eran la solución de cómo integrar las nuevas aplicaciones con los sistemas heredados (legacy systems), en todo caso, el termino ha sido usado desde 1968.[1] También facilitaba la computación distribuida, mediante conexión de múltiples aplicaciones para crear una mucho mayor, sobre una red..
Tipos de middleware
Se pueden clasificar los diferentes middleware en función de su escalabilidad y su tolerancia a fallos, aunque tomando en cuenta que esta investigación no fue corroborada, puede haber otros tipos de clasificaciones:
Remote Procedure Call (RPCs) — El cliente realiza una llamada a procedimientos que están corriendo en máquinas remotas. Pueden ser síncronos o asíncronos.
Publish/subscribe — Este tipo de monitores middleware activan y entregan información relevante para los subscriptores.
Message Oriented Middleware (MOM) — Los mensajes enviados al cliente se recogen y se almacenan hasta que son solicitados, mientras el cliente continúa con otros procesos.
Object Request Broker (ORB) — Este tipo de middleware permite que los clientes envíen objetos y soliciten servicios en un sistema orientado a objetos.
SQL-oriented Data Access — middleware entre las aplicaciones y los servidores de base de datos.
Otras fuentes incluyen divisiones adicionales:
Monitores de Transacciones Distribuidas — Provee herramientas y un ambiente de desarrollo y despliegue de aplicaciones distribuidas.[2]
Servidor de aplicaciones — Software instalado en una computadora para facilitar el servicio (ejecución) de otras aplicaciones.
Enterprise Service Bus — Una capa abstracta en el tope de un sistema de mensajería de empresa.
Otros autores determinan sólo estos dos:
Middleware de servicios generales
Middleware de servicios específicos
*Middleware es un software de computadora que conecta componentes de software o aplicaciones para que puedan intercambiar datos entre éstas. Es utilizado a menudo para soportar aplicaciones distribuidas. Esto incluye servidores Web, servidores de aplicaciones, sistemas de gestión de contenido y herramientas similares. Middleware es especialmente esencial para tecnologías como XML, SOAP, servicios Web y arquitecturas orientada a servicios.Middleware es una incorporación relativamente reciente en la computación. Obtuvo popularidad en los 80 como una solución al problema de cómo conectar nuevas aplicaciones con viejos sistemas. De todas maneras el término ha sido usado desde 1968. También facilitaba el procesamiento distribuido: conexión de múltiples aplicaciones para crear una aplicación más grande, generalmente sobre una red.

arquitectura de dos capas

ARQUITECTURA DE DOS CAPAS

La arquitectura cliente/ servidor tradicional es una solución de 2 capas. La arquitectura de 2 capas consta de tres componentes distribuidos en dos capas: cliente (solicitante de servicios) y servidor (proveedor de servicios). Los tres componentes son:




- Interfaz de usuario.
- Gestión del procesamiento.
- Gestión de la base de datos.
- Hay 2 tipos de arquitecturas cliente servidor de dos capas:
- Clientes obesos
- Clientes delgados:

CLIENTES OBESOS

La mayor parte de la lógica de la aplicación (gestión del procesamiento) reside junto a la lógica de la presentación (interfaz de usuario) en el cliente, con la porción de acceso a datos en el servidor.

CLIENTES DELGADOS

solo la lógica de la presentación reside en el cliente, con el acceso a datos y la mayoría de la lógica de la aplicación en el servidor

Es posible que un servidor funcione como cliente de otro servidor. Esto es conocido como diseño de dos capas encadenado.

Limitaciones:
• El número usuarios máximo es de 100. Más allá de este número de usuarios se excede la capacidad de procesamiento.
• No hay independencia entre la interfaz de usuario y los tratamientos, lo que hace delicada la evolución de las aplicaciones.
• Dificultad de relocalizar las capas de tratamiento consumidoras de cálculo.
• Reutilización delicada del programa desarrollado bajo esta arquitectura.

ARQUITECTURA DE TRES CAPAS

La arquitectura de 3 capas surgió para superar las limitaciones de la arquitectura de 2 capas. La tercera capa (servidor intermedio) está entre el interfaz de usuario (cliente) y el gestor de datos (servidor). La capa intermedia proporciona gestión del procesamiento y en ella se ejecutan las reglas y lógica de procesamiento. Permite cientos de usuarios (en comparación con sólo 100 usuarios de la arquitectura de 2 capas). La arquitectura de 3 capas es usada cuando se necesita un diseño cliente / servidor que proporcione, en comparación con la arquitectura de 2 capas, incrementar el rendimiento, flexibilidad, mantenibilidad, reusabilidad y escalabilidad mientras se esconde la complejidad del procesamiento distribuido al usuario.

LIMITACIONES

Las herramientas de programación que soportan el diseño de arquitecturas de 3 capas no proporcionan todos los servicios deseados que se necesitan para soportar un ambiente de computación distribuida. Un problema potencial en el diseño de arquitecturas de 3 capas es:

Que la separación de la interfaz gráfica de usuario, la lógica de gestión de procesamiento y
La lógica de datos no es siempre obvia.

Algunas lógicas de procesamiento de transacciones pueden aparecer en las 3 capas. La ubicación de una función particular en una capa u otra debería basarse en criterios como los siguientes:

• Facilidad de desarrollo y comprobación.
• Facilidad de administración.
• Escalabilidad de los servidores.
• Funcionamiento (incluyendo procesamiento y carga de la red).

que es un servidor

QUE ES UN SERVIDOR

Es cualquier recurso de cómputo dedicado a responder a los requerimientos del cliente. Los servidores pueden estar conectados a los clientes a través de redes LANs o WANs, para proveer de múltiples servicios a los clientes y ciudadanos tales como impresión, acceso a bases de datos, fax, procesamiento de imágenes, etc.



QUE ES UNA LAN

LAN son las siglas de Local Área Network, Red de área local. Una LAN es una red que conecta los ordenadores en un área relativamente pequeña y predeterminada (como una habitación, un edificio, o un conjunto de edificios).
Las redes LAN se pueden conectar entre ellas a través de líneas telefónicas y ondas de radio. Un sistema de redes LAN conectadas de esta forma se llama una WAN, siglas del inglés de Wide-área Network, Red de área ancha.

QUE ES UN WAN

Una Red de Área Amplia (Wide Área Network o WAN, del inglés), es un tipo de red de computadoras capaz de cubrir distancias desde unos 100km hasta unos 1000 Km., dando el servicio a un país o un continente.

SERVIDORES DE ARCHIVOS

Servidor donde se almacena archivos y aplicaciones de productividad como por ejemplo procesadores de texto, hojas de cálculo, etc.

SERVIDORES DE BASE DE DATOS

Servidor donde se almacenan las bases de datos, tablas, índices. Es uno de los servidores que más carga tiene.

SERVIDORES DE TRANSACIONES

Servidor que cumple o procesa todas las transacciones. Valida primero y recién genera un pedido al servidor de bases de datos.

SERVIDORES DE GROUPWARE

Servidor utilizado para el seguimiento de operaciones dentro de la red

Un servidor groupware es un software diseñado para permitir colaborar a los usuarios, sin importar la localización, vía Internet o vía Intranet corporativo y trabajar juntos en una atmósfera virtual.

INTERNET

Internet fue desarrollado originariamente para los militares de Estados Unidos, y después se utilizó para el gobierno, investigación académica y comercial y para comunicaciones.
Es una combinación de hardware (ordenadores interconectados por vía telefónica o digital) y software (protocolos y lenguajes que hacen que todo funcione). Es una infraestructura de redes a escala mundial (grandes redes principales (tales como MILNET, NSFNET, y CREN), y redes más pequeñas que conectan con ellas) que conecta a la vez a todos los tipos de ordenadores.

SERVIDOR DE OBJETO

Contienen objetos que deben estar fuera del servidor de base de datos. Estos objetos pueden ser videos, imágenes, objetos multimedia en general.

SERVIDOR DE WEB

Se usan como una forma inteligente para comunicación entre empresas a través de Internet.
Este servidor permite transacciones con el acondicionamiento de un browser específico.


FUNCIONES DE UN PROGRAMA SERVIDOR

• Espera las solicitudes de los clientes.
• Ejecuta muchas solicitudes al mismo tiempo.
• Atiende primero a los clientes VIP.
• Emprende y opera actividades de tareas en segundo plano.
• Se mantiene activa en forma permanente.

que es un cliente

QUE ES UN CLIENTE

Es el que inicia un requerimiento de servicio. El requerimiento inicial puede convertirse en múltiples requerimientos de trabajo a través de redes LAN o WAN. La ubicación de los datos o de las aplicaciones es totalmente transparente para el cliente.



REDES DE LAN

Son redes de propiedad privada, de hasta unos cuantos kilómetros de extensión. Por ejemplo una oficina o un centro educativo.
Se usan para conectar computadoras personales o estaciones de trabajo, con objeto de compartir recursos e intercambiar información.
Están restringidas en tamaño, lo cual significa que el tiempo de transmisión, en el peor de los casos, se conoce, lo que permite cierto tipo de diseños (deterministas) que de otro modo podrían resultar ineficientes. Además, simplifica la administración de la red.
Suelen emplear tecnología de difusión mediante un cable sencillo al que están conectadas todas las máquinas.
Operan a velocidades entre 10 y 100 Mbps.
Tienen bajo retardo y experimentan pocos errores.

REDES DE WAN

El Servicio WAN son redes que se extienden sobre un área geográfica extensa. Contiene una colección de máquinas dedicadas a ejecutar los programas de usuarios (hosts). Estos están conectados por la red que lleva los mensajes de un host a otro. Estas LAN de host acceden a la subred de la WAN por un router. Suelen ser por tanto redes punto a punto.

La subred tiene varios elementos:

*Líneas de comunicación: Mueven bits de una máquina a otra.
*Elementos de conmutación: Máquinas especializadas que conectan dos o más líneas de transmisión. Se suelen llamar encaminadotes o routers.

QUE ES UN SERVIDOR

Es cualquier recurso de cómputo dedicado a responder a los requerimientos del cliente. Los servidores pueden estar conectados a los clientes a través de redes LANs o WANs, para proveer de múltiples servicios a los clientes y ciudadanos tales como impresión, acceso a bases de datos, fax, procesamiento de imágenes, etc.

TIPOS DE CLIENTE

CLIENTE FLACO:
• SERVIDOR RAPIDAMENTE SATURADO
• GRAN CIRCULIZACION DE DOTOS DE INTERFASE EN LA RED

CLIENTE GORDO:
*casi todo el trabajo en el cliente
*no hay centralización de la gestión de la BD.
*gran circulizacion de datos inútiles en la red.

CARACTERISTICA DE UN CLIENTE

En la arquitectura c/s el remitente de una solicitud es conocido como cliente. Sus características son:

*Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo).
*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.


CARACTERISTICAS DE UN SERVIDOR

En los sistemas c/s el receptor de la solicitud enviada por cliente se conoce como servidor. Sus características son:

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



tecnologia de cliente servidor


definicion:

un servidor es un ordenador remoto, en algún lugar de una red, que proporciona información según se le solicite. Mientras que un cliente funciona en su computadora local, se comunica con el servidor remoto y pide a éste información.


FUNCION:

Los sistemas Cliente/Servidor se pueden ver de la siguiente manera, los clientes piden que una tarea sea realizada; El servidor realiza dicha tarea y regresa la información al cliente a través de la red. Cada componente dentro de estos sistemas se encarga de realizar su tarea exclusivamente.


DESVENTAJAS DE TECNOLOGIA CLIENTE/SERVIDOR EN COSTOS.


En la tecnología se dan 2 consecuencias por la cuales no son tan utilizados:
Alojan los costos por función en lugar de hacerlo por las actividades que lo generan. Los costos en los que se incurren durante la planeación, diseño y prototipos que se deben realizar simplemente son muy caros, lo que no permite ver el detalle de estos costos para la organización.

OBJETIVO:

Los sistemas Cliente/Servidor se desarrollaron inicialmente para conseguir un rendimiento considerablemente superior con un aumento moderado del precio, pasando parte del procesamiento de la parte del cliente al servidor. De esta forma puede mejorar el rendimiento, pero apenas afecta al costo.

VENTAJAS:

ü Costos. El enfoque cliente/servidor es económico, sobre todo cuando está unido al concepto de racionalización.
ü Acceso a la información. Si bien el acceso a los datos es posible por otros medios, la arquitectura Cliente/Servidor constituye el ambiente ideal para facilitar el acceso a la información.
ü Ergonomía. Un buen sistema Cliente/Servidor no se concibe sin una interfaz gráfica de usuario y sin una transparencia total. Se concentra en el trabajo que debe realizar más que en la tecnología.
ü Buena tecnología en el lugar adecuado. En teoría, un ambiente Cliente/Servidor puede conformarse de varias plataformas, sistemas operativos, Bases de Datos, etc.
ü Modularidad. En un ambiente Cliente/Servidor, es factible agregar o eliminar estaciones de trabajo y servidores, puesto que el sistema puede ser más o menos fácil de volver a configurar

DESVENTAJAS

ü Incompatibilidad. El ambiente Cliente/Servidor supone que la época en que IBM tenía todo el mercado dominado ha concluido.
ü Si las especificaciones se ponen por escrito, no hay problema; pero en la práctica cotidiana, las incompatibilidades mayores o menores entre computadoras, sistemas operativos.
ü Capacitación. En casi todos los casos de implantación del modelo Cliente/Servidor, la principal dificultad es la capacitación de los usuarios.
ü Costos. Si bien el costo es uno de los principales factores que inclinan la balanza en favor de la arquitectura Cliente/Servidor.
ü La implantación del modelo Cliente/Servidor comprende varios elementos. En primer lugar, se debe contar con una arquitectura completa de telecomunicación.
ü En efecto, es necesario disponer de funciones como administración de archivos en red, subordinación de trabajos, mensajería, comunicación entre aplicaciones, etc. Además, sería útil contar con una base de datos distribuida.
ü Es casi imposible implementar con éxito un proyecto Cliente/Servidor sin contar con el apoyo de los sectores superiores de la administración para dar respaldo al proyecto y controlar la observancia de los planes del proyecto por parte de la organización.











jueves, 12 de marzo de 2009


REDES

QUE SON REDES:

Una red de computadoras (también llamada red de ordenadores o red informática) es un conjunto de equipos (computadoras y/o dispositivos) conectados por medio de cables, señales, ondas o cualquier otro método de transporte de datos, que comparten información (archivos), recursos (CD ROM, impresoras, etc.)

QUE ES LA INTRANET:

En ocasiones se le denomina conjunto de protocolos TCP/IP, en referencia a los dos protocolos más importantes que la componen: Protocolo de Control de Transmisión (TCP) y Protocolo de Internet (IP), que fueron los dos primeros en definirse, y que son los más utilizados de la familia.

CLASIFICACIONES DE REDES:


Por alcance:
–Red de área personal (PAN)
–Red de área local (LAN)
–Red de área de campus (CAN)
–Red de área metropolitana (MAN)
–Red de área amplia (WAN)
Por método de la conexión:
–Medios guiados: cable coaxial, cable de par trenzado, fibra óptica y otros tipos de cables.
–Medios no guiados: radio, infrarrojos, microondas, láser y otras redes inalámbricas.
Por relación funcional:
–Cliente-servidor
–Igual-a-Igual (p2p)

Por Topología de red:
–Red de bus
–Red de estrella
–Red de anillo (o doble anillo)
–Red en malla (o totalmente conexa)
–Red en árbol
–Red Mixta (cualquier combinación de las anteriores)

PROTOCOLO DE REDES:


El Protocolo de red o también Protocolo de Comunicación es el conjunto de reglas que especifican el intercambio de datos u órdenes durante la comunicación entre las entidades que forman parte de una red.

COMPONENETES BASICOS DE REDES:

EL ORDENADOR:

La mayoría de los componentes de una red media son los ordenadores individuales, generalmente son sitios de trabajo (incluyendo ordenadores personales) o servidores.

TIPOS DE SITIO DE TRABAJO:

Véase también la computadora de red

TIPOS DE REDES:


•Red pública: una red publica se define como una red que puede usar cualquier persona y no como las redes que están configuradas con clave de acceso personal. Es una red de computadoras interconectados, capaz de compartir información y que permite comunicar a usuarios sin importar su ubicación geográfica.
•Red privada: una red privada se definiría como una red que puede usarla solo algunas personas y que están configuradas con clave de acceso personal.
• Red de área Personal (PAN): (Personal Area Network) es una red de ordenadores usada para la comunicación entre los dispositivos de la computadora (teléfonos incluyendo las ayudantes digitales personales) cerca de una persona.

• Las redes de área local a veces se llaman una sola red de la localización.


Red del área del campus (CAN): Se deriva a una red que conecta dos o más LANs los cuales deben estar conectados en un área geográfica específica tal como un campus de universidad, un complejo industrial o una base militar.

•Red de área metropolitana (MAN): una red que conecta las redes de un área dos o más locales juntos pero no extiende más allá de los límites de la ciudad inmediata, o del área metropolitana. Las rebajadoras múltiples, los interruptores y los cubos están conectados para crear a una MAN.
Las tecnologías WAN funcionan generalmente en las tres capas más bajas del Modelo de referencia OSI: la capa física, la capa de transmisión de datos, y la capa de red.

TIPO DE WAN:


§Centralizado: Un WAN centralizado consiste en una computadora central que esté conectada con las terminales nodos y/u otros tipos de dispositivos del Terminal.
§Distribuido: Un WAN distribuido consiste en dos o más computadoras en diversas localizaciones y puede también incluir conexiones a los terminales nodos y a otros tipos de dispositivos del Terminal.

RED INTERNA:

Nota: Cualquier interconexión entre las redes del público, privadas, comerciales, industriales, o gubernamentales se puede también definir como red interna


INTERNET:


Una red interna específica, consiste en una interconexión mundial de las redes gubernamentales, académicas, públicas, y privadas basadas sobre el Advanced Research Projects Agency Network (ARPANET) desarrollado por ARPA del departamento de los EE.UU. de la defensa también a casa al World Wide Web (WWW) y designado el “Internet” con un capital “I” para distinguirlo de otros internetworks genéricos.

INTRANET:


§Una red interna que se limitan en alcance a una sola organización o entidad y que utilicen el TCP/IP Protocolo Suite, el HTTP, el FTP, y los otros protocolos y software de red de uso general en el Internet. Nota: Intranets se puede también categorizar como el LAN, CAN, MAN, WAN

EXTRANET:


§Una red interna que se limitan en alcance a una sola organización o entidad pero que también han limitado conexiones a las redes de una o más generalmente, pero no necesariamente, organizaciones confiadas o entidades .