miércoles, 27 de agosto de 2014

REDES - Concepto

Una red de computadoras, también llamada red de ordenadoresred de comunicaciones de datos o red informática, es un conjunto de equipos informáticos y software conectados entre sí por medio de dispositivos físicos que envían y reciben impulsos eléctricosondas electromagnéticas o cualquier otro medio para el transporte de datos, con la finalidad de compartir información, recursos y ofrecer servicios.
Como en todo proceso de comunicación se requiere de un emisor, un mensaje, un medio y un receptor. La finalidad principal para la creación de una red de computadoras es compartir los recursos y la información en la distancia, asegurar la confiabilidad y la disponibilidad de la información, aumentar la velocidad de transmisión de los datos y reducir el costo general de estas acciones. Un ejemplo es Internet, la cual es una gran red de millones de computadoras ubicadas en distintos puntos del planeta interconectadas básicamente para compartir información y recursos.
La estructura y el modo de funcionamiento de las redes informáticas actuales están definidos en varios estándares, siendo el más importante y extendido de todos ellos el modelo TCP/IP basado en el modelo de referencia OSI. Este último, estructura cada red en siete capas con funciones concretas pero relacionadas entre sí; en TCP/IP se reducen a cuatro capas. Existen multitud de protocolos repartidos por cada capa, los cuales también están regidos por sus respectivos estándares.
COMO ESTA FORMADA UNA RED Sus componentes Basicos 
Para poder formar una red se requieren elementos: hardwaresoftware y protocolos. Los elementos físicos se clasifican en dos grandes grupos: dispositivos de usuario final (hosts) y dispositivos de red. Los dispositivos de usuario final incluyen los computadores, impresoras, escáneres, y demás elementos que brindan servicios directamente al usuario y los segundos son todos aquellos que conectan entre sí a los dispositivos de usuario final, posibilitando su intercomunicación.
El fin de una red es la de interconectar los componentes hardware de una red , y por tanto, principalmente, las computadoras individuales, también denominados hosts, a los equipos que ponen los servicios en la red, los servidores, utilizando el cableado o tecnología inalámbrica soportada por la electrónica de red y unidos por cableado o radiofrecuencia. En todos los casos la tarjeta de red se puede considerar el elemento primordial, sea ésta parte de un ordenador, de un conmutador, de una impresora, etc. y sea de la tecnología que sea (ethernet, Wi-Fi, Bluetooth, etc.)
SOFTWARE

Sistema operativo de red: permite la interconexión de ordenadores para poder acceder a los servicios y recursos. Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. En muchos casos el sistema operativo de red es parte del sistema operativode los servidores y de los clientes, por ejemplo en Linux y Microsoft Windows.
Software de aplicación: en última instancia, todos los elementos se utilizan para que el usuario de cada estación, pueda utilizar sus programas y archivos específicos. Este software puede ser tan amplio como se necesite ya que puede incluir procesadores de texto, paquetes integrados, sistemas administrativos de contabilidad y áreas afines, sistemas especializados, correos electrónico, etc. El software adecuado en el sistema operativo de red elegido y con los protocolos necesarios permiten crear servidores para aquellos servicios que se necesiten.

ENLACE

Para lograr el enlace entre las computadoras y los medios de transmisión (cables de red o medios físicos para redes alámbricas e infrarrojos o radiofrecuencias para redes inalámbricas), es necesaria la intervención de una tarjeta de red, o NIC (Network Card Interface), con la cual se puedan enviar y recibir paquetes de datos desde y hacia otras computadoras, empleando un protocolo para su comunicación y convirtiendo a esos datos a un formato que pueda ser transmitido por el medio (bits, ceros y unos). Cabe señalar que a cada tarjeta de red le es asignado un identificador único por su fabricante, conocido como dirección MAC (Media Access Control), que consta de 48 bits (6 bytes). Dicho identificador permite direccionar el tráfico de datos de la red del emisor al receptor adecuado.
El trabajo del adaptador de red es el de convertir las señales eléctricas que viajan por el cable (ej: red Ethernet) o las ondas de radio (ej: red Wi-Fi) en una señal que pueda interpretar el ordenador.
Estos adaptadores son unas tarjetas PCI que se conectan en las ranuras de expansión del ordenador. En el caso de ordenadores portátiles, estas tarjetas vienen en formato PCMCIA o similares. En los ordenadores del siglo XXI, tanto de sobremesa como portátiles, estas tarjetas ya vienen integradas en la placa base.
Adaptador de red es el nombre genérico que reciben los dispositivos encargados de realizar dicha conversión. Esto significa que estos adaptadores pueden ser tanto Ethernet, como wireless, así como de otros tipos como fibra óptica, coaxial, etc. También las velocidades disponibles varían según el tipo de adaptador; éstas pueden ser, en Ethernet, de 10, 100, 1000 Mbps o 10000, y en los inalámbricos, principalmente, de 11, 54, 300 Mbps.

  • Computadoras personales: son los puestos de trabajo habituales de las redes. Dentro de la categoría de computadoras, y más concretamente computadoras personales, se engloban todos los que se utilizan para distintas funciones, según el trabajo que realizan. Se incluyen desde las potentes estaciones de trabajo para laedición de vídeo, por ejemplo, hasta los ligeros equipos portátiles, conocidos como netbooks, cuya función principal es la de navegar por Internet. Las tabletas se popularizaron al final de la primera década del siglo XXI, especialmente por el éxito del iPad de Apple.
  • Terminal: muchas redes utilizan este tipo de equipo en lugar de puestos de trabajo para la entrada de datos. En estos sólo se exhiben datos o se introducen. Este tipo de terminales, trabajan unido a un servidor, que es quien realmente procesa los datos y envía pantallas de datos a los terminales.
  • Impresoras: muchos de estos dispositivos son capaces de actuar como parte de una red de ordenadores sin ningún otro elemento, tal como un print server, actuando como intermediario entre la impresora y el dispositivo que está solicitando un trabajo de impresión de ser terminado. Los medios de conectividad de estos dispositivos pueden ser alambricos o inalámbricos, dentro de este último puede ser mediante: ethernetWi-Fi, infrarrojo o bluetooth. En algunos casos se integran dentro de la impresora y en otros por medio de convertidores externos.
  • Otros elementos: escáneres, lectores de CD-ROM

SERVIDORES

Son los equipos que ponen a disposición de los clientes los distintos servicios. En la siguiente lista hay algunos tipos comunes de servidores y sus propósitos:
  • Servidor de archivos: almacena varios tipos de archivo y los distribuye a otros clientes en la red. Pueden ser servidos en distinto formato según el servicio que presten y el medio: FTPHTTP, etc.
  • Servidor de impresión: controla una o más impresoras y acepta trabajos de impresión de otros clientes de la red, poniendo en cola los trabajos de impresión (aunque también puede cambiar la prioridad de las diferentes impresiones), y realizando la mayoría o todas las otras funciones que en un sitio de trabajo se realizaría para lograr una tarea de impresión si la impresora fuera conectada directamente con el puerto de impresora del sitio de trabajo.
  • Servidor de correo: almacena, envía, recibe, enruta y realiza otras operaciones relacionadas con el e-mail para los clientes de la red.
  • Servidor de fax: almacena, envía, recibe, enruta y realiza otras funciones necesarias para la transmisión, la recepción y la distribución apropiadas de los fax, con origen y/o destino una computadora o un dispositivo físico de telefax.
  • Servidor de telefonía: realiza funciones relacionadas con la telefonía, como es la de contestador automático, realizando las funciones de un sistema interactivo para la respuesta de la voz, almacenando los mensajes de voz, encaminando las llamadas y controlando también la red o Internet, etc. Pueden operan con telefonía IP o analógica.
  • Servidor proxy: realiza un cierto tipo de funciones en nombre de otros clientes en la red para aumentar el funcionamiento de ciertas operaciones (p. ej., prefetchingy depositar documentos u otros datos que se soliciten muy frecuentemente). También «sirve» seguridad; esto es, tiene un firewall (cortafuegos). Permite administrar el acceso a Internet en una red de computadoras permitiendo o negando el acceso a diferentes sitios web, basándose en contenidos, origen/destino, usuario, horario, etc.
  • Servidor de acceso remoto (RAS, del inglés Remote Access Service): controla las líneas de módems u otros canales de comunicación de la red para que las peticiones conecten una posición remota con la red, responden las llamadas telefónicas entrantes o reconocen la petición de la red y realizan los chequeos necesarios de seguridad y otros procedimientos necesarios para registrar a un usuario en la red. Gestionan las entradas para establecer la redes virtuales privadas, VPN.
  • Servidor web: almacena documentos HTML, imágenes, archivos de texto, escrituras, y demás material web compuesto por datos (conocidos normalmente como contenido), y distribuye este contenido a clientes que la piden en la red.
  • Servidor de streaming: servidores que distribuyen multimedia de forma continua evitando al usuario esperar a la descarga completa del fichero. De esta forma se pueden distribuir contenidos tipo radio, vídeo, etc. en tiempo real y sin demoras.
  • Servidor de reserva, o standby server: tiene el software de reserva de la red instalado y tiene cantidades grandes de almacenamiento de la red en discos duros u otras formas del almacenamiento disponibles para que se utilice con el fin de asegurarse de que la pérdida de un servidor principal no afecte a la red. El servidor de reserva lo puede ser de cualquiera de los otros tipos de servidor, siendo muy habituales en los servidores de aplicaciones y bases de datos.
  • Servidor de autenticación: es el encargado de verificar que un usuario pueda conectarse a la red en cualquier punto de acceso, ya sea inalámbrico o por cable, basándose en el estándar 802.1x y puede ser un servidor de tipo RADIUS.
  • Servidores para los servicios de red: estos equipos gestionan aquellos servicios necesarios propios de la red y sin los cuales no se podrían interconectar, al menos de forma sencilla. Algunos de esos servicios son: servicio de directorio para la gestión d elos usuarios y los recursos compartidos, Dynamic Host Configuration Protocol (DHCP) para la asignación de las direcciones IP en redes TCP/IP, Domain Name System (DNS) para poder nombrar los equipos sin tener que recurrir a su dirección IP numérica, etc.
  • Servidor de base de datos: permite almacenar la información que utilizan las aplicaciones de todo tipo, guardándola ordenada y clasificada y que puede ser recuperada en cualquier momento y en base a una consulta concreta. Estos servidores suelen utilizar lenguajes estandarízados para hacer más fácil y reutilizable la programación de aplicaciones, uno de los más populares es SQL.
  • Servidor de aplicaciones: ejecuta ciertas aplicaciones. Usualmente se trata de un dispositivo de software que proporciona servicios de aplicación a las computadoras cliente. Un servidor de aplicaciones gestiona la mayor parte (o la totalidad) de las funciones de lógica de negocio y de acceso a los datos de la aplicación. Los principales beneficios de la aplicación de la tecnología de servidores de aplicación son la centralización y la disminución de la complejidad en el desarrollo de aplicaciones.
  • Servidores de monitorización y gestión: ayudan a simplificar las tareas de control, monitorización, búsqueda de averías, resolución de incidencias, etc. Permiten, por ejemplo, centralizar la recepción de mensajes de aviso, alarma e información que emiten los distintos elementos de red (no solo los propios servidores). El SNMP es un de los protocolos más difundidos y que permite comunicar elementos de distintos fabricantes y de distinta naturaleza.
  • Y otros muchos dedicados a múltiples tareas, desde muy generales a aquellos de una especifidad enorme.


Dispositivos de red

Los equipos informáticos descritos necesitan de una determinada tecnología que forme la red en cuestión. Según las necesidades se deben seleccionar los elementos adecuados para poder completar el sistema. Por ejemplo, si queremos unir los equipos de una oficina entre ellos debemos conectarlos por medio de un conmutador o un concentrador, si además hay un varios portátiles con tarjetas de red Wi-Fi debemos conectar un punto de acceso inalámbrico para que recoja sus señales y pueda enviarles las que les correspondan, a su vez el punto de acceso estará conectado al conmutador por un cable. Si todos ellos deben disponer de acceso a Internet, se interconectaran por medio de un router, que podría ser ADSL, ethernet sobre fibra óptica, broadband, etc.
Los elementos de la electrónica de red más habituales son:

Protocolos de redes

Existen diversos protocolos, estándares y modelos que determinan el funcionamiento general de las redes. Destacan el modelo OSI y el TCP/IP. Cada modelo estructura el funcionamiento de una red de manera distinta. El modelo OSI cuenta con siete capas muy definidas y con funciones diferenciadas y el TCP/IP con cuatro capas diferenciadas pero que combinan las funciones existentes en las siete capas del modelo OSI. Los protocolos están repartidos por las diferentes capas pero no están definidos como parte del modelo en sí sino como entidades diferentes de normativas internacionales, de modo que el modelo OSI no puede ser considerado una arquitectura de red.

Clasificación de las redes

Una red puede recibir distintos calificativos de clasificación en base a distintas taxonomías: alcance, tipo de conexión, tecnología, etc.

Por alcance

  • Red de área personal, o PAN (Personal Area Network) en inglés, es una red de ordenadores usada para la comunicación entre los dispositivos de la computadora cerca de una persona.
  • Red inalámbrica de área personal, o WPAN (Wireless Personal Area Network), es una red de computadoras inalámbrica para la comunicación entre distintos dispositivos (tanto computadoras, puntos de acceso a internetteléfonos celularesPDA, dispositivos de audio, impresoras) cercanos al punto de acceso. Estas redes normalmente son de unos pocos metros y para uso personal, así como fuera de ella. El medio de transporte puede ser cualquiera de los habituales en las redes inalámbricas pero las que reciben esta denominación son habituales en Bluetooth.
  • Red de área local, o LAN (Local Area Network), es una red que se limita a un área especial relativamente pequeña tal como un cuarto, un solo edificio, una nave, o un avión. Las redes de área local a veces se llaman una sola red de localización. No utilizan medios o redes de interconexión públicos.
  • Red de área local inalámbrica, o WLAN (Wireless Local Area Network), es un sistema de comunicación de datos inalámbrico flexible, muy utilizado como alternativa a las redes de área local cableadas o como extensión de estas.
  • Red de área de campus, o CAN (Campus Area Network), es una red de computadoras de alta velocidad que conecta redes de área local a través de un área geográfica limitada, como un campus universitario, una base militar, hospital, etc. Tampoco utiliza medios públicos para la interconexión.
  • Red de área metropolitana (metropolitan area network o MAN, en inglés) es una red de alta velocidad (banda ancha) que da cobertura en un área geográfica más extensa que un campus, pero aun así limitado. Por ejemplo, un red que interconecte los edificios públicos de un municipio dentro de la localidad por medio de fibra óptica.
  • Redes de área amplia, o WAN (Wide Area Network), son redes informáticas que se extienden sobre un área geográfica extensa utilizando medios como: satélites, cables interoceánicos, Internet, fibras ópticas públicas, etc.
  • Red de área de almacenamiento, en inglés SAN (Storage Area Network), es una red concebida para conectar servidores, matrices (arrays) de discos y librerías de soporte, permitiendo el tránsito de datos sin afectar a las redes por las que acceden los usuarios.
  • Red de área local virtual, o VLAN (Virtual LAN), es un grupo de computadoras con un conjunto común de recursos a compartir y de requerimientos, que se comunican como si estuvieran adjuntos a una división lógica de redes de computadoras en la cual todos los nodos pueden alcanzar a los otros por medio de broadcast (dominio de broadcast) en la capa de enlace de datos, a pesar de su diversa localización física. Este tipo surgió como respuesta a la necesidad de poder estructurar las conexiones de equipos de un edificio por medio de software,permitiendo dividir un conmutador en varios virtuales.

Por tipo de conexión

Medios guiados

  • El cable coaxial se utiliza para transportar señales electromagnéticas de alta frecuencia que posee dos conductores concéntricos, uno central, llamado vivo y uno exterior denominado malla o blindaje, que sirve como referencia de tierra y retorno de las corrientes; los cuales están separados por un material dieléctrico que, en realidad, transporta la señal de información.
  • El cable de par trenzado es una forma de conexión en la que dos conductores eléctricos aislados son entrelazados para tener menores interferencias y aumentar la potencia y disminuir la diafonía de los cables adyacentes. Dependiendo de la red se pueden utilizar, uno, dos, cuatro o más pares.
  • La fibra óptica es un medio de transmisión empleado habitualmente en redes de datos; un hilo muy fino de material transparente, vidrio o materiales plásticos, por el que se envían pulsos de luz que representan los datos a transmitir.

Medios no guiados

  • Red por radio es aquella que emplea la radiofrecuencia como medio de unión de las diversas estaciones de la red.
  • Red por infrarrojos, permiten la comunicación entre dos nodos, usando una serie de leds infrarrojos para ello. Se trata de emisores/receptores de ondas infrarrojas entre ambos dispositivos, cada dispositivo necesita al otro para realizar la comunicación por ello es escasa su utilización a gran escala. No disponen de gran alcacen y necesitan de visibilidad entre los dispositivos.
  • Red por microondas, es un tipo de red inalámbrica que utiliza microondas como medio de transmisión. Los protocolos más frecuentes son: el IEEE 802.11b y transmite a 2,4 GHz, alcanzando velocidades de 11 Mbps (Megabits por segundo); el rango de 5,4 a 5,7 GHz para el protocolo IEEE 802.11a; el IEEE 802.11n que permite velocidades de hasta 600 Mbps; etc.

Por relación funcional

  • Cliente-servidor es la arquitectura que consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta.
  • Peer-to-peer, o red entre iguales, es aquella red de computadoras en la que todos o algunos aspectos funcionan sin clientes ni servidores fijos, sino una serie de nodos que se comportan como iguales entre sí.

Por tecnología

  • Red Point-To-Point es aquella en la que existe multitud de conexiones entre parejas individuales de máquinas. Este tipo de red requiere, en algunos casos, máquinas intermedias que establezcan rutas para que puedan transmitirse paquetes de datos. El medio electrónico habitual para la interconexión es el conmutador, o switch.
  • Red broadcast se caracteriza por transmitir datos por un sólo canal de comunicación que comparten todas las máquinas de la red. En este caso, el paquete enviado es recibido por todas las máquinas de la red pero únicamente la destinataria puede procesarlo. Los equipos unidos por un concentrador, o hub, forman redes de este tipo.

Por topología física


Topologías físicas de red.
  • La red en bus se caracteriza por tener un único canal de comunicaciones (denominado bus, troncal o backbone) al cual se conectan los diferentes dispositivos.
  • En una red en anillo cada estación está conectada a la siguiente y la última está conectada a la primera.
  • En una red en estrella las estaciones están conectadas directamente a un punto central y todas las comunicaciones se han de hacer necesariamente a través de éste.
  • En una red en malla cada nodo está conectado a todos los otros.
  • En una red en árbol los nodos están colocados en forma de árbol. Desde una visión topológica, la conexión en árbol es parecida a una serie de redes en estrella interconectadas salvo en que no tiene un nodo central.
  • En una red mixta se da cualquier combinación de las anteriores.

Por la direccionalidad de los datos

  • Simplex o unidireccional: un equipo terminal de datos transmite y otro recibe.
  • Half-duplex, en castellano semidúplex: el método o protocolo de envío de información es bidireccional pero no simultáneobidireccional, sólo un equipo transmite a la vez.
  • Full-duplex, o dúplex,: los dos equipos involucrados en la comunicación lo pueden hacer de forma simultánea, transmitir y recibir.

Por grado de autentificación

  • Red privada: es una red que solo puede ser usada por algunas personas y que está configurada con clave de acceso personal.
  • Red de acceso público: una red pública 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.

Por grado de difusión

  • Una intranet es una red de ordenadores privados que utiliza tecnología Internet para compartir dentro de una organización parte de sus sistemas de información y sistemas operacionales.
  • Internet es un conjunto descentralizado de redes de comunicación interconectadas que utilizan la familia de protocolos TCP/IP, garantizando que las redes físicas heterogéneas que la componen funcionen como una red lógica única, de alcance mundial.

Por servicio o función

  • Una red comercial proporciona soporte e información para una empresa u organización con ánimo de lucro.
  • Una red educativa proporciona soporte e información para una organización educativa dentro del ámbito del aprendizaje.
  • Una red para el proceso de datos proporciona una interfaz para intercomunicar equipos que vayan a realizar una función de cómputo conjunta.
QUE ES UNA PAGINA WEB 


Una página web o página electrónica, es un documento o información electrónica capaz de contener texto, sonidovídeo, programas, enlaces, imágenes, y muchas otras cosas, adaptada para la llamada World Wide Web, y que puede ser accedida mediante un navegador. Esta información se encuentra generalmente en formato HTML o XHTML, y puede proporcionar navegación (acceso) a otras páginas web mediante enlaces de hipertexto. Las páginas web frecuentemente también incluyen otros recursos como ser hojas de estilo en cascadaguiones (scripts), imágenes digitales, entre otros.
Las páginas web pueden estar almacenadas en un equipo local o un servidor web remoto. El servidor web puede restringir el acceso únicamente a redes privadas, por ejemplo, en una intranet corporativa, o puede publicar las páginas en la World Wide Web. El acceso a las páginas web es realizado mediante una transferencia desde servidores, utilizando el protocolo de transferencia de hipertexto (HTTP).
COMO ESTA FORMADA 

Una página web está compuesta principalmente por información (sólo texto y/o módulos multimedia) así como por hiperenlaces; además puede contener o asociar hoja de estilo, datos de estilo para especificar cómo debe visualizarse, y también aplicaciones embebidas para así permitir interactividad.
Las páginas web son escritas en un lenguaje de marcado que provee la capacidad de manejar e insertar hiperenlaces, generalmente HTML.
El contenido de la página puede ser predeterminado (página web estática) o generado al momento de visualizarla o solicitarla a un servidor web (página web dinámica). Las páginas dinámicas que se generan al momento de la visualización, se especifican a través de algún lenguaje interpretado, generalmente JavaScript, y la aplicación encargada de visualizar el contenido es la que realmente debe generarlo. Las páginas dinámicas que se generan, al ser solicitadas, son creadas por una aplicación en el servidor web que alberga las mismas.
Respecto a la estructura de las páginas web, algunos organismos, en especial el World Wide Web Consortium (W3C), suelen establecer directivas con la intención de normalizar el diseño, y para así facilitar y simplificar la visualización e interpretación del contenido.
Una página web es en esencia una tarjeta de presentación digital, ya sea para empresas, organizaciones, o personas, así como una tarjeta de presentación de ideas y de informaciones y de teorías. Así mismo, la nueva tendencia orienta a que las páginas web no sean sólo atractivas para los internautas, sino también optimizadas (preparadas) para los buscadores a través del código fuente. Forzar esta doble función puede, sin embargo, crear conflictos respecto de la calidad del contenido.
Si hablamos de posicionamiento web, una página web es la base para optimizar todo un sitio web el cual es un conjunto de páginas web.

CUALES SON LOS COMPONENTES DE UNA DIRECCION DE PAGINA WEB

La URL es la ruta que se encuentra en la caja de texto ubicada en la barra de navegación del navegador, sirve para ubicar de manera precisa en un servidor, cualquier recurso: unaimagen, un video o una página web.

Usualmente una URL consta de tres partes: protocolo, dominio y ruta


El http es el Protocolo Luego de las barras // sigue el dominio p.ej google.com.ar y por ultimo la ruta que seria lo que sigue al punto com :  ?blogID=1833297873877720858#editor/target=post;postID=3490504363920378966 Hay diversas maneras de indicar la ruta La descripta no es la unica ni tampoco la mejor 



AGREGADO AL TP DISEÑO PAGINAS WEB

En Informatica, la World Wide Web (WWW) o Red informática mundial comúnmente conocida como la web, es un sistema de distribución de documentos de hipertextp o hipermedios interconectados y accesibles via internet.Con un navegador web, un usuario visualiza sitios web compuestos de paginas web que pueden contener texto, imagenes, videos u otros contenidos multimedia, y navega a través de esas páginas usando hiperenlaces.
La web se desarrolló entre marzo de 1989 y diciembre de 1990 por el ingles Tim Berner con la ayuda del belga Robert Caillau mientras trabajaban en el CERN,en Ginebra, Suiza, y publicado en 1992. Desde entonces, Berners-Lee ha jugado un papel activo guiando el desarrollo de estándares Web (como los lenguajes de marcado con los que se crean las páginas web), y en los últimos años ha abogado por su visión de una Web Semantica. Utilizando los conceptos de sus anteriores sistemas de hipertexto como ENQUIRE, el ingeniero británico Tim Berners-Lee, un científico de la computación y en ese tiempo de los empleados del CERN, ahora director del World Wide Web (W3C), escribió una propuesta en marzo de 1989 con lo que se convertiría en la World Wide web. la propuesta de 1989 fue destinada a un sistema de comunicación CERN pero Berners-Lee finalmente se dio cuenta que el concepto podría aplicarse en todo el mundo. En la CERN, la organización europea de investigación cerca de Ginebra, en la frontera entre Francia y Suiza. Berners-Lee y el científico de la computación belga Robert Caillau,  propusieron en 1990 utilizar de hipertexto "para vincular y acceder a información de diversos tipos como una red de nodos en los que el usuario puede navegar a voluntad", y Berners-Lee terminó el primer sitio web en diciembre de ese año. Berners-Lee publicó el proyecto en el grupo de noticias alt.hypertext el 7 de agosto de 1991.

QUE ES UN HIPERVINCULO Y PARA QUE SIRVE

Un hipervínculo (también llamado enlace, vínculo, o hiperenlace) es un elemento de un documento electronico que hace referencia a otro recurso, por ejemplo, otro documento o un punto específico del mismo o de otro documento. Combinado con una red de datos y un protocolo  de acceso, un hipervínculo permite acceder al recurso referenciado en diferentes formas, como visitarlo con un agente de navegacion, mostrarlo como parte del documento referenciador o guardarlo localmente.
Los hipervínculos son parte fundamental de la arquitectura de la World Wide Web, pero el concepto no se limita al HTML o a la Web. Casi cualquier medio electronico  puede emplear alguna forma de hiperenlace.

ESCRIBIR DOS TIPOS DE DIRECCIONES EXPLICAR PARA QUE SIRVEN Y COMO ESTAN FORMADAS

http://www.google.com    Es un gran motor de busqueda para navegar y recopilar informacion de casi todo lo que se necesita   
http://webunlp.unlp.edu.ar    Es un portal Educativo privativo de institutos de enseñanza y con acceso restringido a los alumnos inscriptos en alguna de las catedras que componen esta plataforma

Tambien cabe mencionar las direcciones de correo electronico que tienen la forma siguiente

nombre_del_usuario@direccion_de_correo punto nn





http://jorgefar2.simplesite.com

Red en anillo

Ir a la navegaciónIr a la búsqueda

Red con topología de anillo.
Una red en anillo es una topología de red en la que cada estación tiene una única conexión de entrada y otra de salida de anillo. Cada estación tiene un receptor y un transmisor que hace la función de traductor, pasando la señal a la siguiente estación.
En este tipo de red la comunicación se da por el paso de un token o testigo, que se puede conceptualizar como un cartero que pasa recogiendo y entregando paquetes de información, de esta manera se evitan eventuales pérdidas de información debidas a colisiones.
En un anillo doble (Token Ring), dos anillos permiten que los datos se envíen en ambas direcciones (Token passing). Esta configuración crea redundancia (tolerancia a fallos).


Colas de espera

Otro de los problemas comunes en redes de petri, son las colas de espera. Es decir, modelar que N tokens se acumulen, esparando por determinado evento.
Como ya vimos en alguno de los ejemplos anteriores, esto se modela con un sitio que acumule los tokens. Por ejemplo, en la siguiente imagen, se muestra el ejemplo del módem y el fax que vimos en el apartado de exclusión mutua. En este caso, los sitios "Esperando línea fax" y "Esperando línea módem" modelan una cola de espera, donde se acumulan tokens (que representan pedidos de módem o fax) y esperan el evento en que esté disponible la línea para atender su pedido:
Ejemplo de módem y Fax
Ahora, supongamos el caso en que se modele el ingreso a una sección de un estadio de fútbol por dos puertas. La personas llegan, forman una única fila y cuando se abren las puertas, pueden comenzar a pasar por algunas de las dos puertas habilitadas A o B. La puerta A, es el ingreso a la bandeja A y puerta B es el ingreso a la bandeja B.
En esta situación, hay un error muy común, que es modelar las separación entre las dos puertas, con una transición:
Solución 1 - Incorrecta
En este caso, la solución es incorrecta porque como sabemos, las transiciones habilitadas, generan un token por cada flecha de salida, por lo que, cuando se habilite la transición "Persona Ingresa" se generan dos tokens, uno que va al sitio "Ingresando por puerta A" y otro que va a "Ingresando por puerta B". Por lo que estaríamos modelando que una misma persona ingresa por dos puertas a la vez.

Sabiendo esto, entonces, tenemos el indicio de que necesitamos un sitio para que el token vaya, aleatoriamente, por cualquiera de las dos puertas. Pero si reemplazamos "Persona ingresa" por un sitio, la solución tampoco sería correcta, ya que no podemos tener un enlace entre dos sitios:

Finalmente, debemos modificar algunos aspectos de la red anterior. En primer lugar reemplazar "Ingresando por puerta X" por una transición, ya que es un evento. Luego, debemos agregar el sitio en que la persona ya se encuentra en le bandeja X. Finalmente, la solución quedaría:
RESUMEN
Siempre que tengamos una cola de espera con dos o más salidas posibles debemos utilizar un sitio, ya que la transición multiplica los tokens.
Para Pensar...
¿Cómo resolvería esta situación si hubiera más de una salida posible?


 Composición y herencia en la implementación de hotspots con plantillas y ganchos


Conocimiento previo

Para aprovechar este contenido usted debe estar familiarizado con los conceptos de: framework orientado a objetos, inversión de control, hotspot y frozenspot, y el patrón de diseño Método Plantilla.
A continuación se ofrecen un conjunto de preguntas que le ayudarán a confirmar que cuenta con los conocimientos previos. De no ser así, es recomendable que lea el material sugerido como lectura previa recomendada. 

Cuestionario SCORM

¿Qué es el Método Plantilla?


Un patrón de diseño

Un método que se puede reutilizar como si fuera una plantilla

Un método de programación que se basa en construir plantillas

¿Cuál es el propósito del método plantilla?


Proporciona una plantilla para crear familias de objetos relacionados o que dependen entre sí, sin especificar clases concretas 

Define en una operación el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos. Permite que las subclases redefinan ciertos pasos de un algoritmo sin cambiar su estructura. 

Convierte la interfaz de una clase en otra interfaz que es la que esperan los clientes, por medio de una plantilla. Permite que cooperen clases que, de otra forma, no podrían hacerlo por tener interfaces incompatibles. 

¿Qué es un hotspot?


Una parte crítica de un programa (hot-spot), que requiere ser mejorada 

Una parte caliente (hot) de un diseño en la que se producen problemas frecuentes.

Un punto de variabilidad de un framework orientado a objetos

¿Qué es un frozenspot?


Un espacio con temperatura controlada para almacenar servidores

Una parte del programa que nunca se ejecuta (por eso está congelada, frozen)

El comportamiento invariable en un framework orientado a objetos





Para refrescar los conceptos relativos al patrón Método Plantilla se recomienda leer el capitulo correspondiente del libro:
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software.  
Si no tuviera acceso al mismo, la página Método Plantilla en Wikipedia le será de utilidad. Para su comodidad, incluimos la versión pdf de dicho articulo (al día 16/12/2015) en la sección de ficheros adjuntos.
Para refrescar conceptos de frameworks, hotspots y frozenspots le recomendamos lea el artículo:
Roberts, Don, and Ralph Johnson. "Evolving frameworks: A pattern language for developing object-oriented frameworks." Pattern languages of program design 3 (1996): 471-486. 
En ese artículo los autores describen el proceso de desarrollo de frameworks. Hablan de la importancia de conocer bien el dominio antes de comenzar; hablan de blackbox y whitebox, hablan de hotspots, y hablan de herramientas para asistir a los programadores en el uso/instanciación del framework. Discute que patrones de diseño pueden ser de utilidad en cada paso del desarrollo del framework. El mismo puede descargarse desde el sitio del autor o de la sección de ficheros adjuntos, a continuación.


Imagen ilustrativa: Juego de mesa Roborally
Imagen ilustrativa: Roborally, el juego de mesa
A lo largo de este material trabajaremos sobre un mismo ejemplo. Se trata de un framework que permite generar distintas variantes de juegos de lucha de robots.

Frozenspot

Todos los juegos generados con este framework trendrán los siguientes aspectos en común (hablamos del frozenspot del framework):
  • Un tablero en forma de grilla
  • Varios robots, los cuales estarán ubicados en alguna celda del tablero
  • El juego se organiza en pasos. A cada paso del juego, corresponde un paso de cada uno de los robots en el tablero. 
  • Cada paso de un robot consiste de las siguientes acciones en estricto orden:
    • moverse en el tablero
    • consumir energía (actualizar su registro de energía)
    • disparar su armamento
    • recolectar lo que pudiera haber en la celda del tablero que ocupa

Hostpots

Un framework como este seguramente contará con varios puntos de variabilidad (hostpots) que darán lugar a distintas variantes de juego. Algunos hotspots permiten variar características del tablero (no hablaremos de estos). Otros permiten obtener variantes de robots. Estos últimos son los que nos interesarán. El framework define tres hostpots que permiten obtener distintos tipos de robots. 
  1. locomoción: este hotspot permite definir de que forma se moverá el robot. Dos alternativas para este hotspot son locomoción con orugas (caterpillar) que permite subir grandes pendientes y locomoción sobre colchón de aire (overcraft) que permite circular por zonas pantanosas.
  2. fuente de energía: este hotspot permite definir de que forma el robot obtendrá/almarenará/consumira su energía. Dos alternativas para este hotspot son los paneles solares con baterías (muy estables pero sensibles a la falta de luz solar) y el reactor nuclear (poco estable, pero garantiza la provisión energética)
  3.  armamento: este hotspot permite definir de que forma el robot atacará a otros. Dos alternativas para este hotspot son el láser (mucho alcance y precisión pero poco poder de daño) y las bombas (poco alcance y precisión, y mucho poder de daño)

Diseño general

diseño general
La imagen muestra los aspectos mas interesantes de nuestro framework ejemplo. Nos interesan particularmente las clases GameBoard (el tablero del juego) y Robot. Los pasos básicos para construir un juego con nuestro framework son:
1) se instancia el GameBoard (lo que resultará en la instanciación y configuración de muchos otros objetos que hacen al frozenspot del framework).
2) se instancian varios Robots y se agregan al juego enviando el mensaje addRobot()  al gameBoard.
3) se inicia el juego enviando al gameBoard el mensaje runUntilStopped() . Si se quiere detener el juego se envía al gameBoard el mensaje stop(). Alternativamente se puede activar el juego solo por un determinado numero de pasos enviando al gameBoard el mensaje runForCycles(int n).

El método plantilla

En cada paso del juego (cada ciclo) el gameBoard recorre su colección de robots y a cada uno le envía el mensaje step(). Note que el método step() es donde se garantiza que el robot efectúe las acciones establecidas en las reglas del juego (frozenspot), en el orden establecido.
Pensando en el patron de diseño "método plantilla" uno podría implementar variantes de robots subclalsificando la clase Robot y redefiniendo los métodos move(), consumeBattery(), y fireArms(). De hecho, cada uno de estos métodos hace posible la implementación de uno de nuestros hostspots (recuerde que no siempre un hotspot se corresponde/implementa con un método o una clase, pero casualmente eso es lo que ocurre en nuestro diseño ejemplo)
Subclasificar es una de las alternativas de diseño posibles cuando se utiliza la estrategia de la plantilla y los hooks para separar lo que se mantiene constante (fronzenspot) de lo que varía (los hotspots).  La otra estrategia es separar lo constante de lo que cambia componiendo objetos. A continuación veremos en detalle ambas alternativas.

Ejercicio - ejemplo

Ficheros adjuntos

El archivo adjunto (un file-out de Pharo Smalltalk) ofrece una implementación muy simple del framework en base a lo visto en esta sección (es decir, utilizando herencia para separar la plantilla de los ganchos).
Al hacer el file-in, se debería abrir automáticamente un workspaces con los ejemplos de uso, y browsers en las clases involucradas. El código es muy simple, solo escribe mensajes en el Transcript. 
Al mirar el código otra preguntense:
  • ¿Que debo hacer si aparece una nueva fuente de energía (por ejemplo, Paneles solares con baterias)? ¿Cuantas y cuales clases debo agregar en caso de querer todas las variantes de robots posibles para este nuevo tipo de fuente de energía?
  • ¿Puedo cambiarle, a un robot existente, el sistema de armas sin tener que instanciar el robot de nuevo?
  • ¿Donde almacenaría usted el nivel de carga de la batería? ¿Que implicaría eso si antes de disparar el laser hay que garantizar que la fuente de energía puede satisfacer el consumo del arma?
Descargas:
En la sección anterior vimos como el comportamiento constante (parte del frozenspot) se encapsula en el método plantilla y se separa del comportamiento variable (hotspots) que se implementa en los ganchos, en las subclases. Recuerde, que si bien el comportamiento constante se separa del comportamiento variable en métodos diferentes, al instanciar los robots, ambos comportamientos (grupos de métodos) pasan a formar parte de un único objeto (el robot con los métodos de su clase y los que hereda). Esto, unido al hecho de que la herencia simple no puede lidiar bien con la combinación y abstracción de comportamientos ortogonales, resultó en una explosión de clases y en la duplicación de código.
En diseño que muestra la figura profundiza mas la separación de lo que es constante y lo que varía. No solo lo separa en métodos diferentes, sino que también lo encapsula en objetos diferentes.
plantillas y ganchos con composición
El primer cambio a observar en este diseño es que un robot ahora tiene tres partes. Un sistema de locomoción, un sistema de armamento, y una fuente de energía. Hay solo una clase de robot (la clase Robot). El constructor de la clase robot recibe tres parámetros, que corresponden a cada una de estas partes. Crear un tipo específico de robot implica decidir cuales de las alternativas se utilizará para cada parte.
Los sistemas de locomoción se implementan en la jerarquía de la clase LocomotionSystem. Se dispone, por ahora, de dos opciones: colchón de aire (Overcraft) y orugas (Caterpillar). Los sistemas de armas y las fuentes de energía se implementan en las jerarquías ArmsSystem y EnergySource respectivamente. Solo combinando esas clases pueden obtenerse los 8 tipos de robots posibles. El siguiente ejemplo crea un robot y lo configura con locomoción por colchón de aire, armamento laser, y fuente de energía solar.
Robot robot = new Robot(new Overcraft(), new LaserSystem(), new SolarWithBattery());
 Si apareciese un nuevo tipo de locomoción, tracción 4x4 por ejemplo, alcanza con agregar una subclase FourByFourWheels a LocomotionSystems. La nueva clase implementará el método move(Robot : r) como corresponda. Esto es una ventaja sobre el caso visto en la sección anterior (herencia)
Ahora, cuando un robot recibe el mensaje step(), sigue utilizando su método plantilla (que garantiza el cumplimiento de los pasos canónicos como lo marca la especificación del framework). Sin embargo el método plantilla ya no envía mensajes al objeto mismo (como lo hacía en el caso de herencia) sino que delega las operaciones en sus partes. Entonces, la plantilla está en el robot, y los ganchos en las partes.
Habrá notado que cuando el robot delega las operaciones gancho en sus partes, se pasa el mismo como parámetro. Esto es necesario porque las partes ya no tienen acceso a las variables de instancia del robot ni de las otras partes. En consecuencia al implementar los métodos ganchos (en las partes) solo se puede utilizar los métodos que el robot haga públicos. Esto resulta en un escenario mas restrictivo que el que utilizaba herencia.
Una punto a favor de la implementación por composición es que ahora podemos cambiar el comportamiento del robot en tiempo de ejecución. Alcanza con cambiar la parte afectada por aquella que provee el comportamiento deseado.


Ficheros adjuntos

El archivo adjunto (un file-out de Pharo Smalltalk) ofrece una implementación muy simple del framework en base a lo visto en esta sección (es decir, utilizando composición para separar la plantilla de los ganchos).
Al hacer el file-in, se debería abrir automáticamente un workspaces con los ejemplos de uso, y browsers en las clases involucradas. El código es muy simple, solo escribe mensajes en el Transcript. 
Al mirar el código otra preguntense:
  • ¿Que debo hacer si aparece una nueva fuente de energía (por ejemplo, ruedas con tracción 4x4)? ¿Cuántas y cuáles clases debo agregar en caso de querer todas las variantes de robots posibles para este nuevo tipo de sistema de locomoción?
  • ¿Puedo cambiarle, a un robot existente, el sistema de armas sin tener que instanciar el robot de nuevo?
  • ¿Donde almacenaría usted el nivel de carga de la batería? ¿Que implicaría eso si antes de disparar el laser hay que garantizar que la fuente de energía puede satisfacer el consumo del arma?
Descargas:
Resumen de lo que vimos:
  • Las plantillas y los ganchos se pueden utilizar en un framework para separar lo que se mantiene constante (frozenspot) de lo que varía (hotspots).
  • Las plantillas implementan lo que se mantiene constante, los ganchos lo que varía.
  • Se puede utilizar herencia o composición para separar la plantilla de los ganchos.
  • Si uso herencia, la plantilla se implementa en una clase abstracta y los ganchos en sus subclases (como el clásico patron Método Plantilla). Si uso composición, un objeto implementa la plantilla y delega la implementación de los ganchos en sus partes. 
  • Con herencia:
    • es mas simple para casos con pocas alternativas y/o pocas combinaciones
    • al implementar los métodos gancho puedo utilizar las variables de instancia y todo el comportamiento heredado de la clase abstracta
    • si hay muchas variantes o combinaciones, empiezo a tener muchas clases y duplicación de código
  • Con composición:
    • evita la duplicación de código y el creciente numero de clases cuando existen muchas alternativas y combinaciones posibles
    • al implementar los métodos gancho debo pasar como parámetro todo lo que necesiten - no tienen acceso a las variables de instancia del objeto
    • puedo cambiar el comportamiento en tiempo de ejecución sin mayor dificultad
Marque con verdadero o falso cada una de las siguientes afirmaciones

Las plantillas son formas simples de frameworks orientados objetos
 

Las plantillas y los ganchos pueden utilizarse para separar la funcionalidad constante (frozenspot) de la funcionalidad variable (hotspots) en un framework.
 

Plantillas y ganchos pueden implementarse utilizando herencia, como se muestra en el patron de diseño Método Plantilla
 

Plantillas y ganchos no pueden implementarse utilizando composición (salvo que se utilicen clases abstractas)
 

Las plantillas implementan lo que se mantiene constante, los ganchos lo que varía.
 

Si uso composición, un objeto implementa la plantilla y delega la implementación de los ganchos en sus partes. 
 

Si uso herencia, la plantilla se implementa en una clase abstracta y los ganchos en sus subclases .
 

Con herencia se evita la duplicación de código y el creciente numero de clases cuando existen muchas alternativas y combinaciones posibles
 

SI utilizo herencia, al implementar los métodos gancho debo pasar como parámetro todo lo que necesiten - no tienen acceso a las variables de instancia del objeto
 



Este material se basa principalmente en un artículo científico que se puede consultar para complementar o reforzar lo estudiado (y se puede obtener a continuación).
El artículo "Hot-Spot-Driven Framework Development " [#pree95] presenta a los hotspots como la característica principal en la descripción/especificación de un framework. Los hotspots guían todo el proceso de desarrollo del mismo y actúan como documentación de uso. Habla de templates y hooks pero no se restringe a la interpretación que se hace en el patrón de diseño Método Plantilla sino que también habla de templates/hooks en la composición. Discute que impacto tiene esta diferencia en el comportamiento runtime de la aplicación. Discute también la relación entre patrones y hotspots. Introduce el concepto de Tarjeta de Hotpot para describir un hotspot (ya sea como requerimiento para quien desarrolla el framework o como documentación para el usuario). Define un proceso a en el cual, la definición de los hotspots guía el desarrollo del framework. 

Ficheros adjuntos

[#pree95]: W. Pree, “Hot-spot-driven framework development,” in Summer School on Reusable Architectures in Object-Oriented software Development, 1995, pp. 123–127.  Este articulo puede descargarse a continuación u obtenerse directamente desde CiteSeer siguiendo este link
Redes de Petri



Deadlock/Bloqueo

En sistemas operativos, el deadlock, es el bloqueo permanente de un conjunto de procesos en un sistema concurrente que compiten por recursos del sistema o bien se comunican entre ellos.
Al modelar una red, siempre se debe chequear que su ejecución no esté bloqueada por un mal diseño. Por ejemplo, consideremos la siguiente imagen:


Supongamos que no ponemos la marcación inicial en el sitio "Cinta libre". En ese caso, la transición "Persona ingresa a la cinta" no estará nunca habilitada, ya que es necesario que reciba un token por cada flecha de entrada.
En este caso, la red será INCORRECTA, ya que ninguna persona podrá usar la cinta.
RESUMEN
Si una red de petri tiene bloqueo en algunos de sus tramos, la red es INCORRECTA. La mejor forma de chequear que no haya bloqueo es ejecutando la red paso a paso.

La idea de guardar datos en un Árbol Binario de Búsqueda (ABB) es conseguir mejor tiempo de acceso a los datos en las operaciones de búsqueda/recuperación, inserción o eliminación comparado con los tiempos en estructuras lineales como arreglos y listas.
En los ABBs el acceso a un dato es proporcional a la altura del árbol, ya que su ubicación podría ser, en el peor de los casos, en una hoja. En consecuencia, es deseable que el ABB tenga la menor altura posible; como este tipo de árbol sólo debe respetar su propiedad de orden, la altura dependerá de la secuencia en que los datos se fueron insertando en el momento de la creación del mismo.
El mismo conjunto de datos, por ejemplo: 13, 15, 28, 32, 35, 22, puede generar ABBs con distintas alturas.
Secuencia 1: 13, 15, 22, 28, 32, 35          Secuencia 2:  28, 22, 15, 13, 32, 35            Secuencia 3:  28, 15, 13,  22, 35, 32
  
   
arbol de busqueda
       arbol de busqueda              arbol de busqueda    
 Observemos que con la última secuencia de ingreso se obtiene el ABB con mínima altura posible.
Un árbol binario de búsqueda tiene altura mínima posible cuando es balanceado (recordar que un árbol binario es balanceado si para todo nodo en el árbol, la altura de los subárboles izquierdo y derecho difiere a lo sumo en 1) 
A partir de una secuencia de datos, podemos obtener un ABB de altura mínima si primero la ordenamos y luego tomamos los elementos en forma dicotómica para insertarlos en el ABB.
Siguiendo con el ejemplo anterior, a partir de los datos 13, 15, 28, 32, 35, 22 obtenemos la siguiente secuencia ordenada: 13, 15, 22, 28, 32, 35   
El orden en que construimos el ABB sería : 28, 35, 32, 15, 13, 22
 arbol de busqueda
El esfuerzo adicional de construir el ABB de esta manera no nos garantiza que se mantenga balanceado con futuras operaciones de inserción o eliminación, para salvar estos inconvenientes se pueden utilizar los árboles AVL inventados por Adelson-Velskii y Landis  en el año 1962 y que serán descriptos en las próximas secciones.

1 comentario:

  1. The Best Casinos Online - LuckyClub.live
    Play the best gambling sites. Find the best casino site. We also provide the best casino sites for real money. Learn more about our luckyclub.live selection of top

    ResponderEliminar