jueves, 7 de marzo de 2013

Gestor de Contenidos Web


CMS(Gestor de Contenidos Web)


Es una herramienta que nos permite administrar el contenido de una web de forma automática, es decir, nos permite publicar, editar, borrar, otorgar permisos de acceso o establecer los módulos visibles para los visitantes a nuestra web.

Por tanto los CMS son herramientas que permiten publicar, diseñar y administrar contenidos en Internet sin necesitar la engorrosa tarea de subir archivos vía FTP. 
Las empresas tienen la necesidad primordial de entregar información actualizada a sus clientes y partners a través de sus sitios web y aplicaciones, por tanto gestionar toda esa información haciéndola accesible de forma ágil a la persona adecuada en cada momento.
Centralizar la gestión de todos los contenidos de la empresa en un solo repositorio (Almacenamiento inteligente)
Separar el contenido de la presentación agilizando los tiempos de publicación.
Workflows de publicación flexibles, ágiles y fuertes
Compartir y reutilizar contenidos tanto propios como de nuestros partners así como la presentación de información personalizada a nuestros clientes
Entrega sincronizada de la información a través de canales diversos. La información presentada en canales tradicionales es congruente con la entregada a través de la web y aplicaciones móviles (PDAs, Teléfonos móviles).
Ahorro de costes de mailing e impresión


Gestores de Contenidos más usados



  • WordPress: con WordPress puedes crear un blog gratis y formar parte de un network de blogs.
  • Joomla: es un CMS que te permite crear tu gestor de contenidos en tu propio servidor privado. Es una aplicación Open Source o de Código Abierto.
  • Drupal: es un sistema de gestión de contenidos dinámico: en lugar de almacenar sus contenidos en archivos estáticos en el sistema de ficheros del servidor de forma fija, el contenido textual de las páginas y otras configuraciones son almacenados en una base de datos y se editan utilizando un entorno Web.


viernes, 22 de febrero de 2013

Servidores Web



Servidores Web



Un servidor web es un programa que se ejecuta continuamente en un computador, manteniéndose a la espera de peticiones de ejecución que le hará un cliente o un usuario de Internet. El servidor web se encarga de contestar a estas peticiones de forma adecuada, entregando como resultado una página web o información de todo tipo de acuerdo a los comandos solicitados. En este punto es necesario aclarar lo siguiente: mientras que comúnmente se utiliza la palabra servidor para referirnos a una computadora con un software servidor instalado, en estricto rigor un servidor es el software que permite la realización de las funciones descritas.

El servidor vendría a ser la "casa" de los sitios que visitamos en la Internet. Los sitios se alojan en computadores con servidores instalados, y cuando un usuario los visita son estas computadoras las que proporcionan al usuario la interacción con el sitio en cuestión. Cuando se contrata un plan de alojamiento web con una compañía, esta última proporciona un servidor al dueño del sitio para poder alojarlo; al respecto hay dos opciones, optar por un "servidor dedicado", lo que se refiere a una computadora servidora dedicada exclusivamente al sitio del cliente (para aplicaciones de alta demanda), o un "servidor compartido", lo que significa que un mismo servidor (computadora + programa servidos) se usará para varios clientes compartiendo los recursos.
Gracias a los avances en conectividad y la gran disponibilidad de banda ancha, hoy en día es muy común establecer los servidores web dentro de la propia empresa, sin tener que recurrir a caros alojamientos en proveedores externos.
Desde Internetlab hemos discutido constantemente diferentes aspectos sobre los servidores Web.
A continuación, os traigo una lista de consulta rápida en la que resumo los diferentes tipos de servidores Web:

·         Apache: Este es el más común y más utilizado en todo el mundo. Además, es gratuito (cómo no), y de código abierto, así que podríamos decir que corre sobre cualquier plataforma.
·         Microsoft IIS: Sólo funciona sobre sistemas Windows, como ya habréis imaginado.
Si quieres empalarlo sobre otro sistema, tendrás que utilizar una máquina virtual.
·         Sun Java System Web Server: Este producto pertenece a la casa Sun, y suele empalarse sobre entorno de este sistema.
Sin embargo, como Apache, es multiplataforma, y recientemente Sun ha decidido distribuirlo con licencias de código abierto (BSD concretamente).
·         Ngnix: Este es un servidor Web muy ligero y corre sobre sistemas Unix y Windows.
Se ha convertido en el 4º servidor HTTP más popular de la red y también se distribuye bajo licencia BSD.
·         Lighttp: Este servidor Web es otro de los más ligeros que hay en el mercado. Está especialmente pensado para hacer cargas pesadas sin perder balance, utilizando poca RAM y poca de CPU. Algunas páginas populares que lo usan son Youtube, Wikipedia y otras que soportan gran tráfico diariamente. También es gratuito y se distribuye bajo licencia BSD.

Arquitectura


Petición GET

Un servidor web opera mediante el protocolo HTTP, de la capa de aplicación del Modelo OSI. Al protocolo HTTP se le asigna habitualmente el puerto TCP 80. Las peticiones al servidor suelen realizarse mediante HTTP utilizando el método de petición GET en el que el recurso se solicita a través de la url al servidor web.
GET /index.html HTTP/1.1 HOST: www.host.com
En la barra de URL de un navegador cualquiera la petición anterior sería análoga a la siguiente dirección Web:
www.host.com/index.html
Esquema de una petición GET

Petición Web

El navegador por medio de la interfaz de usuario permite al usuario realizar una o varias peticiones web. La interfaz de usuario o entorno de usuario es el conjunto de elementos del navegador que permiten realizar la petición de forma activa. Una petición Web no sólo puede ser realizada mediante un navegador sino con cualquier herramienta habilitada para tal fin, como una consola de comandos Telnet.
Elementos del entorno de usuario más comunes en navegadores Web visuales:

Hipervínculo enlace o link: Es una porción de contenido Web, texto, imagen y otros elementos, que enlaza con una dirección Web. Al pulsar un hipervínculo el navegador genera una petición GET automática a la dirección URL de dicho link

Formulario web:  Al realizar el envío satisfactorio de los datos de un formulario, el navegador Web genera una petición GET o POST (comúnmente POST) automática a la par que envía los datos al servidor.

Barra de direcciones: Todos los navegadores incluyen una barra de direcciones mediante la cual puede accederse manualmente a cualquier dirección URL, de modo que el navegador generará una petición GET automática a dicha URL cada vez que el usuario lo desee.

Script activo o pasivo: Cualquier aplicación Javascript tiene acceso al estado del navegador, cómo puede modificar los datos que describen tal estado, de forma pasiva (sin medio de la intervención del usuario) o de forma activa (mediante alguna acción del usuario).


Socket a dirección DNS

Se produce una socket con un servidor dado en dirección IP mediante TCP. Por lo general las direcciones que el navegador posee inicialmente son direcciones DNS (direcciones alfanuméricas) que deberá convertir a direcciones numéricas.
Resolución de DNS a IP

Si la dirección dada es DNS y no existe una regla en la base de datos DNS, el Host Resolver Request solicita al servidor DNS la o las direcciones IPs correspondientes. El navegador crea una nueva regla y almacena la dirección IP junto a la dirección DNS en su base de datos de reglas DNS.
Recuperación de la regla DNS

Una vez almacenada la regla se realiza una petición a la base de datos DNS para recuperar los valores de la regla.
Socket a dirección IP

Se produce una socket con la dirección IP mediante TCP. La dirección IP puede haberse recuperado en el paso anterior.
SOCKET 192.168.0.1
Preparación de la petición

Se crea la petición GET estableciendo la url, un flag, la priority de la petición y el method (implícitamente GET).
Apertura Caché

Se abre y/o se crea una entrada en el http cache
Efectuación de la petición

Se realiza la petición GET. Se leen las cabeceras HTTP de la http transaction y más tarde el cuerpo de la http transaction.
GET /index.html HTTP/1.1
Consulta en Caché

Se consulta en el caché de disco si existe una entrada en el caché asociada al recurso que se ha solicitado. Los valores son created (true o false) y key (la url del recurso).
Retribución boleana existencialista del recurso solicitado

Si la entrada no existe (si el valor de created es false) se escriben los datos en el caché de disco. Si no, se lee directamente.
Presentación visual del recurso

Se concluye la operación y se muestra en pantalla (si es preciso) la información.

Petición GET pasiva

Javascript permite realizar modificaciones en el estado del navegador. El estado del navegador viene definido por el array de objetos location del objeto global Window. Se referencia a tal objeto con window.location. En concreto window.location.href contiene la dirección actual del navegador Web.
 Procedimiento del navegador

La tarea del navegador Web es crear la petición a partir de los datos recogidos en el entorno de usuario de elementos del mismo, como enlaces, el valor del texto de la barra de búsqueda, los metatags. Al pulsar en el enlace, el navegador crea automáticamente la petición GET y las cabeceras de la petición en base a los metatags (cabeceras definidas), los cookies y cabeceras automáticas del navegador, para luego enviarlas junto a la petición al Servidor.
Petición POST

Es el segundo tipo de petición HTTP más utilizado. Los datos a enviar al servidor se incluyen en el cuerpo de la misma petición con las cabeceras HTTP asignadas correspondientemente respecto al tipo de petición. Generalmente se asocia con los formularios web en el que los datos suelen ser cifrados para enviarlos de manera segura al servidor.
Por motivos de convención se incluye en la petición la cabecera application/x-www-form-urlencoded que indica el formato o codificación de los datos a enviar; esta esvariable->valor en el formato: variable=valor separada cada par variable->valor por &. Esta cabecera, en los formularios HTML se envía automáticamente, pero en otras tecnologías web tal como AJAX, si se desea hacer correctamente una petición POST debe ser especificado o instanciado el objeto: setRequestHeader("Content-type:application/x-www-form-urlencode"); ajax.send(data);
Si se utilizase el método GET los datos deberían de ser añadidos a la URL, lo que los expondría a ser vistos de forma directa.
Estructura de una petición POST

·         Petition type: Especifica el tipo de petición HTTP. (Esta cabecera no tiene nombre, se envía tal cual)
·         Referer: Especifica la url desde la cual se hizo la petición POST.
·         Content-Length: Especifica la longitud en bytes de los datos enviados en el cuerpo de la petición.
·         Origin: Especifica la url principal del sitio.
·         User-Agent:Especifica el identificador del navegador Web desde el cual se hizo la petición.
·         Content-Type: Especifica el formato o MIME de los datos enviados en el cuerpo de la petición.
·         Accept: Especifica el MIME que se espera en la respuesta.
·         Accept-Language: Especifica el código del lenguaje esperado en la respuesta.
·         Accept-Charset: Especifica la codificación que se espera en la respuesta.
·         Cookie: Especifica un identificador de sesión en la petición derivado de un cookie.
·         Accept-Encoding: Especifica el tipo de codificación (generalmente compresión) que se espera de la respuesta. (No todos los navegadores envían esta cabecera)
Procedimiento del navegador

El navegador recopila la información del formulario para crear la petición y enviarla. Las cabeceras las envía junto a la petición POST, y se recopilan en base a los metatags definidos en el código, los automáticos del navegador y los Cookies. Es el navegador, también, el que codifica los datos si es necesario.
El Servidor web se ejecuta en un ordenador manteniéndose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente, mediante una página web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error. A modo de ejemplo, al teclear www.doble-muda.blogspot.mx en nuestro navegador, éste realiza una petición HTTP al servidor de dicha dirección. El servidor responde al cliente enviando el código HTML de la página; el cliente, una vez recibido el código, lo interpreta y lo exhibe en pantalla. Como vemos con este ejemplo, el cliente es el encargado de interpretar el código HTML, es decir, de mostrar las fuentes, los colores y la disposición de los textos y objetos de la página; el servidor tan sólo se limita a transferir el código de la página sin llevar a cabo ninguna interpretación de la misma.
Además de la transferencia de código HTML, los Servidores web pueden entregar aplicaciones web. Éstas son porciones de código que se ejecutan cuando se realizan ciertas peticiones o respuestas HTTP. Hay que distinguir entre:
·         Aplicaciones en el lado del cliente: el cliente web es el encargado de ejecutarlas en la máquina del usuario. Son las aplicaciones tipo Java "applets" o Javascript: el servidor proporciona el código de las aplicaciones al cliente y éste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (también llamadas scripts). Comúnmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje javascript y java, aunque pueden añadirse más lenguajes mediante el uso de plugins.
·         Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicación; ésta, una vez ejecutada, genera cierto código HTML; el servidor toma este código recién creado y lo envía al cliente por medio del protocolo HTTP.
Las aplicaciones de servidor muchas veces suelen ser la mejor opción para realizar aplicaciones web. La razón es que, al ejecutarse ésta en el servidor y no en la máquina del cliente, éste no necesita ninguna capacidad añadida, como sí ocurre en el caso de querer ejecutar aplicaciones javascript o java. Así pues, cualquier cliente dotado de un navegador web básico puede utilizar este tipo de aplicaciones.
El hecho de que HTTP y HTML estén íntimamente ligados no debe dar lugar a confundir ambos términos. HTML es un lenguaje de marcas y HTTP es un "protocolo".
Aplicación del lado del Servidor

Una aplicación del lado del servidor es cualquier programa o conjunto de instrucciones diseñadas con la finalidad de que un Servidor Web las procese para realizar alguna acción. Las aplicaciones del lado del servidor están escritas mediante algún lenguaje de programación, entre los que destacan:
·         PHP
·         ASP.Net
·         PERL
·         Python
·         Ruby
El 75% de las aplicaciones del lado del servidor están escritas en PHP, siendo ASP y las demás opciones usadas de forma alternativa y muy casual.
Procesamiento del lado del servidor

Un servidor web tiene la función de procesar los scripts del lado del servidor para dar una salida en HTML y otros lenguajes del lado del cliente al Navegador Web del cliente. La información a procesar podrá ser cedida por el cliente al script mediante cualquier aplicación en el entorno del Navegador. Para ello pueden utilizarse formularios web, enlaces con los valores implícitos en la cadena o cualquier otro método.

Servidor Web Local
Un Servidor Web Local es aquel Servidor Web que reside en una red local al equipo de referencia. El Servidor web Local puede estar instalado en cualquiera de los equipos que forman parte de una red local. Es por tanto obvio, que todos los Servidores Web, son locales a la red local en la que se encuentran, o como mínimo, locales al sistema en el que están instalados.
Cuando un servidor Web se encuentra instalado en el mismo equipo desde el cual se desea acceder puede utilizarse la dirección de Loopback, 127.0.0.1 en Ipv4 y ::1 en Ipv6. El puerto TCP 80 se obvia. Los archivos se almacenan en un directorio determinado por la configuración, generalmente modificable.
Existen numerosas aplicaciones que facilitan la instalación automática de servidores web Apache y aplicaciones adicionales como Mysql y PHP (entre otros), de forma conjunta, como XAMPP, JAMP o EasyPHP. Estas aplicaciones reciben el nombre de LAMP cuando se instalan en plataformas Linux, WAMP en sistemas Windows y MAMP en sistemas Apple Macintosh.

miércoles, 13 de febrero de 2013

Graffitii

Historia del graffiti


Primeros tags de taki183
La palabra "graffiti" tiene sus orígenes en la palabra griega graphein que significa escribir. Esto evolucionó en la palabra latina graffito. Graffiti es la forma plural de graffito.Cuándo empezó el grafitti? Pues la historia moderna de graffiti se remonta a los años 60 cuando empezó en Nueva York, influído por la música hip-hop. Los primeros artistas de graffiti se dedicaban a firmas, y vivían y pintaban en Nueva York. Uno de los primeras artistas de graffiti firmaba TAKI 183 y fue entrevistado por el New York Times en 1971. Su nombre verdadero era Demetrius y era un joven griego que trabajaba como mensajero en Nueva York. Pintaba su firma en todos los sitios donde entregaba documentos y paquetes. Se hizo famoso y muchos jóvenes empezaron a imitarle y a buscar sitios cada vez más difíciles y llamativos donde dejar su firma. Tal vez el nombre TAKER que se utiliza para los rotuladores gruesas de tinta permanente utilizadas por los grafiteros tiene su orígen en la primera firma de graffiti conocida, TAKI 183.
Pintura realizada por Keith Haring
 Cuánto más peligroso, más estatus.
Paralelamente, Keith Haring un artista, empezó a pintar sus dibujos en sitios públicos, primero pegando posters y luego pintando directamente sobre muros y los paredes de los metros de Nueva York.
Al ser un tipo de arte tan distinto, Haring se hizo famoso, y pronto museos de arte en la ciudad empezaron a exponer sus obras.Poco a poco el graffiti callejero, inspirándose en los diseños de Haring, se iba incorporando en la cultura Hip Hop, rap y break dancing y empezó a extenderse a otros países. Tuvo su momento más fuerte durante los setenta, pero luego empezó a perder popularidad.

M'C(EMECES)

MC(Maestro de Ceremonias)


El término MC sigla de Master of Ceremonies (proveniente de maestro de ceremonias, aunque algunos especialistas también hacen referencia a la expresión inglesa microphone controller, controlador del micrófono), es el apelativo que se les aplicaba originalmente a las personas cuya ocupación era animar al público en fiestas donde la música era pinchada por un DJ. Actualmente hace referencia a los raperos. Lo que diferencia a un MC de un rapero es que el MC no sólo "rapea" (que canta Rap), también improvisa.
El MC produce rimas sobre un tema en concreto encima de una base musical realizada por un DJ, el "Disc Jockey" empieza a finales de 1970 con el fenómeno del Turntablism, se trataba de música callejera, diferentes estilos pero siempre en la calle, gratuitamente y con el DJ con sus platos. Clive Campbell, más conocido como Kool DJ Herc fué un jamaiquino pionero en el fenómeno del Turntablism. Kool DJ Herc a finales de los 60 se mudó a Nueva York y llevó, con él, la tradición jamaiquina del Toasting, improvisar rimas sobre secciones instrumentales de discos de reggae.
En la Actualidad los "MC's" hacen cada dia rimas mas compleja integrando a ellas parte de la literatura o historia del mundo, Tambien hacen el papel de narradores de la vida y de lo que se aprende en la calle.

martes, 12 de febrero de 2013

El Origen Del HipHop

El hip hop se originó en las block parties de los años 1970 en la ciudad de Nueva York, específicamente en el distrito del Bronx. En los años 1930 más de una sexta parte de los residentes en Harlem eran de las indias occidentales, observándose en las block parties de los años 1970 una relación directa con la cultura jamaicana del sound system. Se trataba de grandes fiestas, originalmente en la calle, montadas por los dueños de caros y potentes equipos de sonido, que solían compartir con la comunidad. Era habitual la competición entre los organizadores de sound systems, y ésta muchas veces se materializaba en las letras habladas o cantadas practicando toasting por el deejay. La música rap emergió de las block parties una vez que los DJs, motivados por la competición, lograron aislar los breaks de percusión. Los MCs hablaban, animaban al público o cantaban sobre los breaks favoritos de la audiencia.
"Rapper's Delight" de Sugarhill Gang es la primera canción que fue grabada y publicada por una crew de hip hop, y por lo tanto está considerada como el primer disco auténtico del género, aunque "King Tim III", del grupo de R&B Fatback Band y "Groovy Ghost Show" de Casper se consideran anteriores, pues también incluyen rapeos.
Lil Rodney Cee, de Funky Four Plus One More y Double Trouble, citan a Cowboy, de Grandmaster Flash and the Furious Five, como "el primer MC que conocí... Él fue el primer MC en hablar sobre un DJ".

Los cuatro "elementos"

Afrika Bambaataa acuñó el término hip hop en los años 1970, aunque años más tarde KRS One, originario del Bronx, quiso unificar en cuatro los elementos del hip hop: El MCing (rapping), el DJing (turntablism), el breakdancing (bboying) y el grafiti. Su intención era simplificar la definición de hip hop, si bien para algunos ésta puede resultar incompleta ya que existen otras manifestaciones que quedarían excluidas de esta clasificación, como el beatbox, los murales, el beatmakin o producción de fondos musicales (beats), el popping, el locking o el uprocking, entre otras. Existen opiniones que también consideran necesario incluir otras manifestaciones no relacionadas con la música como el streetball (baloncesto callejero) o el skateboarding.
  • La unión de dos de los elementos, el MC (Master of Ceremony), maestro de ceremonias en castellano) y el DJ (Disc Jockey), conforman el estilo musical del hip hop, el rap.

  • El bboying es el baile popularmente conocido como breakdance. La persona que practica este baile se denomina bboy o bgirl (fly girl). Existe una notoria diferencia entre un bboy y un breaker: el primero baila por cuestiones meramente culturales y busca aportar elementos nuevos, innovando y llevando el nivel de dificultad a nuevas dimensiones. El breaker es la persona que baila solamente por interés o moda y se considera que no tiene conciencia del movimiento hip hop.
  • El grafiti es la rama artística pictórica de esta cultura aplicada sobre superficies urbanas. La estética de los grafitis ha influido en la historieta (como en las tiras de The Boondocks) y en el diseño de ropa, portadas de discos y otros objetos. Quienes practican esta faceta se denominan writers (escritores). Existen estilos de graffiti que se considera que tienen menos que ver con la cultura hip hop, como radical & political graffiti, street art y post graffiti (generalmente grafiti sobre política) y grafiti generado por ordenador