jueves, 8 de diciembre de 2011

Lenguajes de programación: JSP

Lenguajes de programación: JSP: JSP: Es un lenguaje para la creación de sitios web dinámicos, acrónimo de Java Server Pages. Está orientado a desarrollar páginas web en Jav...



PHP



PHP: Es un lenguaje de programación interpretado diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para interpretación del lado del servidor, pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. 




CARACTERÍSTICAS 

  • Más rápido que ASP
  • Lenguaje más fácil y potente
  • Integración perfecta más de ocho servidores HTTP
  • Diseño modular de fácil ampliación
  • Licencia abierta
  • Acceso a 20 tipos de base de datos.

VENTAJAS 

  • Es un lenguaje multiplaforma
  • Capacidad de conexión con la mayoría de los manejadores  de base de datos que se utilizan en la actualidad, destaca su  conectividad con MySQL.
  • Capacidad de expandir su potencial utilizando la enorme cantidad de módulos.
  • Es libre, por lo que presenta como una alternativa de fácil acceso para todos.
  • Permite las técnicas de programación orientada a objetos.
  • No requiere  definición de tipos de variables.
  • Tiene manejo de excepciones.
DESVENTAJAS

  •  No posee abstracción de base de datos estándar, sino bibliotecas especializadas para cada motor 
  • No posee adecuado manejo de internacionalización, unicode, etcétera.
  • Por su diseño  dinámico no puede ser compilado y es muy difícil de optimizar.
  • Por sus características  favorece la creación  de código desordenado y complejo de mantener.

JAVA

Java: Es un lenguaje de programación orientado a objetos, desarrollado por Sun Mycrosystems a los principios del los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++ pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.


Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode  es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.


SERVLETS 


Los servlets son componentes de la parte del servidor de Java EE, encargados de generar respuestas a las peticiones recibidas de los clientes. 


Son una mezcla de código Java y código HTML. Estos programas se ejecutan en un servidor web y construyen páginas web dinámicas. Construir páginas web dinámicas es sumamente útil, ya que gracias a esto se puede interactuar con una página y no solo leer como pasa con páginas desarrolladas con simple código HTML.


VENTAJAS DE SERVLETS

Los Servlets Java son efiecientes, fáciles de usar, poderosos, portables y fáciles de implementar para cualquier persona que conozca el lenguaje de programación Java.

Conveniencia: Los Servlets tienen una gran infraestructura para análisis automático y decodificación  de datos de formularios HTML, leer y seleccionar cabeceras HTTP, manejar cookies, seguimiento de sesiones y muchas otras utilidades.

Potencia: Los Servlets se pueden comunicar directamente con el servidor web, lo cual simplifica las operaciones necesarias para buscar imágenes y otros datos almacenados en situaciones estándares. 








JSP

JSP: Es un lenguaje para la creación de sitios web dinámicos, acrónimo de Java Server Pages. Está orientado a desarrollar páginas web en Java. JSP es un lenguaje multiplataforma. Creado para ejecutarse del lado del servidor. JSP fue desarrollado  por Sun Microsystems. Comparte ventajas similares a las de ASP.NET desarrollado para la creación  de aplicaciones web potentes.  


La tecnología de JSP permite a los desarrolladores y a los diseñadores de web desarrollar rápidamente y mantener fácilmente páginas dinámicas, ricas en información como son las que soportan a sistemas de negociación. La tecnología de los JSP separa la interfaz del usuario de la parte lógica  del contenido permitiendo a los diseñadores  cambiar a su disposición las plantillas de la interfaz sin alterar  el contenido dinámico subyacente.


JSP también permite introducir código para la generación dinámica  de HTML dentro de una página we. Esta surge  por la necesidad de crear aplicaciones dinámicas para web de forma fácil, ya que la mejor parte del resultado de un programa CGI es estático. Se podría pensar entonces en JavaScript, pero este genera HTML dinámicamente en el cliente y no puede accesar a los cursos  del servidor. 


CARACTERÍSTICAS

  •  Conjunta el poder de Java  en el servidor y la flexibilidad de HTML en el browser.
  • No sólo se puede utilizar HTML, sino también XML o WML.
  • Hace más fácil reusar componentes con JavaBeans los cuales realizan tareas más especificas. 
  • Su función  es saber como procesar una solicitud para crear una respuesta.
  • Soporta contenido dinámico que refleja las condiciones del mundo real.
  • Es más rápido y fácil crear aplicaciones de web
  • Capaz de instanciar cualquier clase de Java

¿Cómo se accesa a JavaServer Pages?

Para la realizar una petición de una página JSP se sigue una forma similar al de una página HTML estática, aunque el demás procesos, el cual es transparente  para el usuario es diferente.
Para una página no dinámica se teclea un URL en el browser y éste usando un protocolo HTTp mandará una petición del archivo con extensión HTML a un servidor web y dominio determinado. Posteriormente el servidor extraerá el archivo y lo mandará al browser, el cual hace uso de las etiquetas de HTML del archivo para ser presentado al usuario final.


VENTAJAS 

Contra los Servlets, JSP no nos da nada que no pudiéramos hacer con un servlet, pero no es mucho más conveniente escribir y modificar HTML normal que tener un gran número de sentencias "print" que generen HTML. Además, es posible agregar código Java una página que fue anteriormente diseñada con puro HTML.

Contra  JavaScript puede generar HTML dinámicamente en el cliente; esta es una capacidad  útil, pero sólo maneja situaciones donde la información dinámica está basada en el entorno del cliente. Con la excepción de las cookies, el HTTP y el envío de formularios no están diponibles con  JavaScript. Debido a que se ejecuta en el cliente,  JavaScript no puede acceder  a los recursos en el lado del servidor, como bases de datos y catálogos. 

Sin embargo, es posible aprovechar las ventajas de JSP y  JavaScript si se utilizan conjuntamente. Una de las principales ventajas de  JavaScript es el manejo de entornos visuales; y la mayor ventaja de JSP sobre  JavaScript es la capacidad de comunicación dentro de un servidor; por lo cual se pueden mezclar para validar formularios que han de ser enviados al servidor. Con esto, se logra una rápida y fácil validación de los datos que el usuario del sistema introduce.






JAVASCRIPT

JavaScript: Es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico. 


Se utiliza principalmente en su forma del lado del cliente implementado como parte de un navegador web  permitiendo mejoras en la interfaz de usuario y páginas web dinámicas aunque existe una forma de JavaScript del lado del servidor.


Su uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de escritorio es también significativo.


JavaScript se diseño con una sintaxis simular al C, aunque adopta nombres y conveciones del leguaje de programacion Java. Sin embargo Java y JavaScript no están relacionados  y tienen semánticas y propósitos diferentes.


JavaScript es muy fácil de aplicar para el desarrollo de un sitio web, pues las funciones básicas de este lenguaje son soportadas por la mayoría de los navegadores que se utilizan diariamente. 




VENTAJAS Y DESVENTAJAS 

El lenguaje de scripting  es seguro y fiable, porque está claro que debe ser interpretado, por lo que puede ser filtrado para el mismo JavaScript. La seguridad es casi total y sólo en su primera versión el CIAC (Computer Incident Advisory Committee) señalo problema de leve entidad, entre ellos la lectura de la caché y los sitios visitados, de la dirección e-mail y de los archivos presentes en el disco.

Los script tienen capacidades limitadas, por razones de seguridad, por lo cual no es posible hacer todo con JavaScript, sino que es necesario usarlo conjuntamente con otros lenguajes evolucionados, posiblemente más seguros, como Java. Dicha limitación es aún más evidente si queremos operar en el hardware  por la computadora, como, por ejemplo la fijación en automático de la resolución vídeo o la impresión de un documento.

El código es visible y puede ser leído por cualquiera, incluso si está protegido con las leyes del copyright.

El código JavaScript se ejecuta por el cliente por lo que el servidor no es solicitado más de lo debido.

El código JavaScript debe descargase completamente antes de poderse ejecutar. Si los datos que un Script  utiliza son muchos (por ejemplo, una recopilación de citas que se mostrará de manera casual), el tiempo que tardará en descargarse será muy largo, mientras que la interrogación de la misma base de datos en el servidor seria más rápida.


Una desventaja, es que su aparente simplicidad se basa en una disponibilidad de objetos limitada, por lo que algunos procedimientos, aparentemente muy sencillos, requieren scripts bastante complejos.

CARACTERÍSTICAS


  •  Es simple, no hace falta tener conocimientos de programación para poder hacer un programa en JavaScript
  • Maneja objetos dentro de nuestra página web y sobre ese objeto se pueden definir diferentes eventos. Dichos objetos facilitan la programación de páginas interactivas, a la vez que se evita la posibilidad de ejecutar comandos que puedan ser peligrosos para la máquina del usuario, tales como formateo de unidades,modificar archivos, etcétera. 
  • Es dinámico, responde a eventos  en tiempo real. Eventos como presionar un botón, pasar el puntero del mouse sobre un determinado texto  o el simple hecho de cargar la página o caducar un tiempo. Con esto se puede cambiar totalmente el aspecto de nuestra página  al gusto del usuario, evitando así tener en el servidor una página para cada gusto, hacer cálculos  en base a variables cuyo valor es determinado por el usuario.
  • La característica principal  de JavaScript es la de ser el lenguaje de "scripting" por excelencia y sin lugar a dudas, el más usado. Esta particularidad conlleva una notable serie de ventajas y desventajas según el uso que se le deba dar, teniendo en cuenta la relación que se establece entre el mecanismo cliente-servidor.









miércoles, 7 de diciembre de 2011

PERL

Perl: Es un lenguaje de programación  diseñado por Larry Wall en 1987. Perl toma características del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK, sed, Lisp, y en un grado inferior, de muchos otros lenguajes de programación.


Estructuralemente, Perl está basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de script


CARACTERÍSTICAS

La estructura completa de Perl deriva ampliamente del lenguaje C. Perl es un lenguaje imperativo, con variables, expresiones, asignaciones, bloques de código delimitados por llaves, estructuras de control y subrutinas.


Perl también toma características de la programación shell. Todas las variables son marcadas con un sigilo precedente (sigil). Los sigilos identitifican inequívocamente los nombres de las variables, permitiendo a Perl tener una buen sintaxis.


Perl toma las listas de Lisp, hash, del AWK y expresiones regulares del sed. Todo esto simplifica y facilita todas las formas del análisis sintáctico, manejo de texto y tareas de gestión de datos.



  • Fácil de usar
  • Se le considera como un lenguaje que no tiene fronteras
  • Es rápido
  • Se puede utilizar en varios entornos
  • Tiene variedad de características como estructural, funcional y orientado a objetos.

DISEÑO

El diseño de Perl puede ser entendido como una respuesta a tres amplias tendencias de la industria informática: rebaja de los costes en el hardware, aumento de los costos laborales y las mejoras en la tecnología de compiladores. Este lenguaje es diseñado para hacer un uso  eficiente de los costosos programadores de ordenador.

Perl tiene muchas características que facilitan la tarea del programador a costa de unos requerimientos de CPU y memoria mayores. Estas incluyen gestión de memoria automática; tipo de dato dinámico; strings, listas, hashes, etcétera.

Perl se enfoca en las siguientes áreas:


La administración de sistemas operativos, debido a que, por sus características Perl es muy potente en la creación de pequeños programas que pueden ser usados como filtros para obtener información de ficheros, realizar búsquedas, entre otras cosas.


Se ha usado desde los primeros dias del web para escribir guiones (scripts). Es una de las "tres pes" (Perl, Python y PHP), que son los lenguajes más populares para creación de aplicaciones web, y es un componente integral de la popular solución LAMP.


VENTAJAS


Perle es software libre y esta licenciado bajo la Licencia Artística y la GNU. Existen distribuciones disponibles para la mayoría de sistemas operativos. Está especialmente extendido en Unix y en sistemas similares, pero ha sido portado a las plataformas más modernas.



RUBY

Ruby: Es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995.
Combina una sintaxis inspirada en Python y Perl con caracteristicas de programacion orientada a objetos similares a Smalltalk. Comparte tambien funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU.
Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre


OBJETIVO

El creador del lenguaje, ha dicho que Ruby está diseñado para la productividad y la diversión del desarrollador, siguiendo los principios de una buena interfaz de usuario. Sostiene que el diseño de sistemas necesita enfatizar las necesidades humanas más que las de la máquina.

Ruby sigue el "principio de la menor sorpresa", lo que significa que el lenguaje debe comportarse de tal manera que minimice la confusión de los usuarios experimentadps.

SEMÁNTICA

Ruby es orientado a objetos: todos los tipos de datos son un objeto, incluidas las clases y tipos que otros lenguajes definen como primitivas, (como enteros, booleanos, etcétera). Este lenguaje soporta herencia con enlace dinámico, mixins y métodos singleton (pertenecientes y definidos por una sola instancia más que definidos por la clase).
A pesar que Ruby no soporta herencia múltiple, las clases pueden importar módulos como mixins.

Ruby ha sido descrito como un lenguaje de programación multiparadigma: permite programación procedural, con orientada a objetos o funcionalmente. Además de soporte para hilos de ejecución gestionados por el intérprete.

Este lenguaje tiene tipado dinámico y soporta polimorfismo de tipos (permite tratar a subclases utilizando la interfaz de la clase padre). No requiere polimorfismo de funciones al no ser fuertemente tipado.

CARACTERÍSTICAS 

  • Orientada a objetos
  • Cuatro niveles de ámbito de variable: global, clase, instancia y local
  • Manejo de excepciones
  • Altamente por table
  • Amplia librería estándar
  • Soporta alteración de objetos en tiempo de ejecución
SINTAXIS

La sintaxis de Ruby es similar a la de Perl y Python. La definición de clases y métodos está definida por palabras claves. Sin embargo, en Perl, las variables no llevan  prefijos. Cuando se usa, un prefijo indica el ámbito de las variables. La mayor diferencia con C y Perl es que las palabras clave son usadas para definir bloques de código sin llaves. Los saltos de línea son significativos y son interpretados como el final de una sentencia; el punto y coma tiene el mismo uso. De forma diferente que Python, la indentación no es significativa

¿POR QUÉ USAR RUBY?

  • Ruby es un lenguaje de scripts, moderno y orientado a objetos, que combina una importante flexibilidad con alta productividad
  • Su alcance parece ilimitado y hoy se encuentra presente en aplicaciones que van desde el desarrollo web hasta la simulación de ambientes complejos.
  • Promueve las mejores prácticas de programación sin perder usabilidad.
  • Mediante su uso se pueden complementar las características  de la lógica imperativa con la lógica funcional.
  • Permite utilizar la más simple expresión para un programa o algoritmo; esto sumado a las actuales prácticas ágiles permite desarrollar en forma amigable.


PYTHON

Python es un lenguaje de programación de alto nivel cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible.


Se trata de un lenguaje de programación multiparadigma ya que soporta orientación de objetos, programación imperactiva y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico, es fuertemente tipado y multiplataforma.
Es administrado por la Python software Foundation. Posee una licencia de código abierto, denominada Python Software License, que es compatible con la Licencia publica general de GNU a partir de la versión 2.1.1, e incompatible en ciertas versiones anteriores.


 Fue creado en los finales de los ochenta por Guido Can Rossum en el Centro para las matemáticas y la Informatica (CWI, Centrum Wiskunde & Informatica), en los países bajos, como un sucesor de lenguaje de programación ABC, capaz de manejar excepciones e interactuar con el sistema operativo Amoeba.
el nombre del lenguaje proviene de la afición de su creador original, Guido Van Rossum, por los humoristas británicos Monty Python.
Van Rossum es el principal autor de Python, y su continuo rol central en decidir la dirección de Python es reconocido, refiriéndose a el como Benevolente Dictador Vitalicio.
En 1991 Van Rossum publico el codigo de la version 0.9.0 en alt.sources. En esta etapa del desarrollo ya estaban presentes clases con herencia, manejo de excepciones, funciones y los tipos modulares, como: str, list, dict, entre otros. Ademas en este lanzamiento inicial aparecia un sistema de modulos adoptado de modula-3; Van Rossum describe el modulo como "una de las mayores unidades de programacion de Python. El modelo de excepciones en Python es parecido al de modula-3, con la adicion de una clausula else. En el año 1994 se formo comp.lang.python, el foro de discusión principal de Python, marcando un hito en el crecimiento del grupo de usuarios de este lenguaje.


Posteriormente a este lanzamiento, y después que van Rossum dejo CNRI para trabajar con desarrolladores de software comercial, quedo claro que la opción de usar Python con software disponible bajo GNU GPL era muy deseable. La licencia usada entonces, la Python License, incluía una clausula estipulando que la licencia estaba gobernada por el estado de virginia, por lo que , bajo la óptica de los abogados de Free Software Foundation (FSF), se hacia incompatible con GPL. CNRI y FSF se relacionaron para cambiar la licencias de software libre de Python para hacerla compatible con GPL. En el año 2001, Van Rossum fue premiado con FSF Award for the Advancement of Free Software.
Python es esencialmente el mismo que Python 1.6, con unos pocos arreglos de bugs, y con una nueva licencia compatible con GPL.




CARACTERÍSTICAS Y PARADIGMAS.

Python es un lenguaje de programación multiparadigma. Esto significa que mas que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objeto, programación imperativa y programación funcional. otros paradigmas están soportados mediante el uso de extensiones.

Python usa tipado dinámico y conteo de referencias para la administración de memoria.

Una característica importante de Python es la resolución dinamica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (tambien llamado ligadura dinámica de métodos).


Otro objetivo del diseño del lenguaje es la facilidad de extensión. Se pueden  escribir nuevos modulos fácilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable.


Aunque la programación en Python podría considerarse en algunas situaciones hostil a la programación funcional tradicional del Lisp. existen bastantes analogías entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme.


ELEMENTOS DEL LENGUAJE.

Python fue diseñado para ser leído con facilidad. Una de sus características es el uso de palabras donde otros lenguajes utilizarían símbolos. Por ejemplo, los operadores lógicos !, || y &&  en Python se escriben not, or y and, respectivamente.

En el contenido de los bloques de código (bucles, funciones, clases, etc), es delimitado mediante espacios o tabuladores, conocidos como indentacion, antes de cada linea de ordenes pertenecientes al bloque. Python se diferencia asi de otros lenguajes de programacion que mantienen como costumbre declarar los bloques mediante un conjunto de caracteres, normalmente entre llaves {}. Se pueden utilizar tanto espacios como tabuladores para identar el codigo, pero se recomienda no mezclarlos. 


HTML

INTRODUCCIÓN.

El HTML no es mas que una aplicación del SGML (Standard Generalized Markup Languaje), un sistema para definir tipos de documentos estructurados y lenguajes de marcas para representar esos mismos documentos. El termino HTML se suele referir a ambas cosas, tanto al tipo de documento como al lenguaje de marcas.
A medida que nos afianzamos en el manejo de Internet cada uno de nosotros pasa por tres etapas diferentes: Al principio solamente conocemos unas pocas paginas, luego nos damos cuenta que existen buacadores lo cual lo hace mas interesante y por ultimo nos damos cuenta que Internet no solamente se puede ver la informacion sino que tambien se puede publicar. Que otra manera mas facil y mas sencilla? Si Internet tiene acceso a todos los rincones del mundo.
Para que varias personas se comuniquen es necesario que estas hablen un mismo idioma. El lenguaje que utiliza las computadoras que estan conectadas a Internet es HTML.


¿QUE ES EL HTML?

El HTML, Hyper Text  Markup Languaje (Lenguaje de marcacion de Hipertextos) es el lenguaje de marcas de textos utilizado normalmente en la www (World Wide Web). Fue creado en 1986 por el físico nuclear Tim Berners-Lee; el cual tomo dos herramientas preexistentes: El concepto de Hipertexto (Conocido también como Link o ancla) el cual permite conectar dos elementos entre si y el SGML (Lenguaje Estándar de Marcacion General) el cual sirve para colocar etiquetas o marcas en un texto que indique como debe verse. HTML no es propiamente un lenguaje de sintaxis que se presente ningún compilador, por lo tanto algún error de sintaxis que se presente este no lo detectara y se visualizara en la forma como este lo entienda.
El entorno para trabajar HTML es simplemente un procesador de texto, como el que ofrecen los sistemas operativos Windows (Bloc de notas), UNIX (el editor vi o ed) o el que ofrece MS Office (Word ). El conjunto etiquetas que se creen, se deben guardar con la extension .htm o html.
Estos documentos puede ser mostrados por los visores o "browsers" de paginas Web en Internet, como Netscape Navigator, Mosic, Opera y Microsoft de la version 4.0 de HTML que le permite crear afectos especiales como, por ejemplo, texto que vuela desde la pagina palabra por palabra o efectos de transición al estilo de anuncio publicitario giratorio entre pagina y pagina.


ORÍGENES DEL HTML.

1986. Publicación de la ISO 8879 que presenta el Standard General Markup Language, origen del HTML.
1989. Tim Berners-Lee, a la sazón en el Centro Europeo de investigaciones Nucleares presenta su articulo Information Management: AProposal dedicándose de lleno al desarrollo de un sistema que permitiera el acceso en linea de manera uniforme a la información disponible en muchos recursos distintos, y que pudiese funcionar en maquinas que conectadas por redes basadas en TCP/IP.
1990-1991. Tim Berners-Lee define el HTML como un subconjunto de SGML (Standard Generalizad Markup Language), que mas tarde se llamara nivel o ; soporta encabezados, listas y anclas. Se crea el nombre World Wide Web.
1991. Tim Berners-Lee introduce el primer visor de HTML, LineMode, que trabaja en modo texto y solo en plataformas UNIX. El centro Europeo de Investigaciones Nucleares realiza la apertura del primer sitio con acceso publico de World Wide Web el 17 de mayo.
1992. Dan Connolly produce la primera definición de tipo de documento (DTD) para el lenguaje , llamada HTML 1.0, agregando a la definición original atributos para modificar el estilo físico del texto. Se distribuye viola, primer visor gráfico de Web y disponible solo para X.11.
1993. Un nuevo visor que soporta un mayor nivel, Lynx, es producido por la universidad de Kansas, si bien lee solo texto . Aparece Mosaic, desarrollado por el centro nacional para aplicaciones de supercomputadoras, es el primer visor de Web en entorno gráfico que se hace disponible para computadoras personales, lo que lo hace inmediatamente popular. A fines de año, comienza a aparecer los primeros artículos sobre WWW en diarios y revistas de circulación masiva. Tim Berners-Lee utiliza el trabajo anterior de Connolly para presentar el borrador de la primera norma (RFC-Recommendation for Comments) de HTML para Internet.
1994. La universidad Tecnica de Graz desarrolla un servidor y clientes con mayores prestaciones para HTML. Hiper-G, que no tiene gran éxito. Cello, primer visor de HTML que no requiere TCP/IP presentado por la Escuela de Leyes de la Universidad de Cornell. Dan Connolly y Karen Olson Muldrow redefinen HTML para el nivel 2.0, que ahora soporta formularios. Un grupo de programadores que desarrollaran el Mosaic producen un nuevo visor de World Wide Web, Netscape (también conocido como Mozilla), que tiene un a amplia aceptación entre los usuarios, pero que soporta elementos de programación que equivalen una  degeneración del HTML (tamaños de letra, fondos). Se define un equivalente para los modelos en tres dimensiones del HTML, el VRML ( Virtual Reality Modeling Language), que permite moverse dentro de los ambientes definidos. En este mismo año se realizan la primera y segunda conferencias internacionales de WWW, en Ginebra y Chicago, respectivamente. Se crea la W3 Organization.
1995. Dave S. Raggett (Hewlett-Packard, Inglaterra) comienza a compilar la normativa del nuevo nivel del lenguaje HTML 3.0, cuya principal novedad es el soporte de tablas. Microsoft produce su primer visor de Internet, el cual tambien utiliza elementos de HTML degenerados. Una nueva versión de Netscape Communications y Microsoft presentan las nuevas versiones de sus visores que soportan gran parte del nivel de HTML 3.0.
Aparecen visores no comerciales que implementan la norma completa de HTML 3.0. Se formaliza un nuevo nivel para la modelacion en tres dimesiones, VRML 3.0, que permite interactuar con los objetos definidos. Se celebra la quinta conferencia internacional de WWW en Rocquencourt.
1997. D. Ragget presenta, en enero, la versión normalizada del 3.2. En julio, aparece la version 4.0,  experimental.
1998. HTML 4.0.

       CREACIÓN DE PAGINAS WEB CON LENGUAJE HTML.

Para crear una pagina web  se puede utilizar varios programas especializados en esto, como por ejemplo, el Microsoft Front Page o el Macromedia Dreamweaver. Otra forma de diseñar un archivo HTML. es copiar todo en el bloc de notas del Windows, ya que este sencillo programa cumple con un requisito mínimo que es la posibilidad de trabajar con las etiquetas con las que trabaja este lenguaje.  

Estructura de los documentos de HTML.
Si se tiene en cuenta el contenido del documento, todos los documentos de HTML bien escritos comparten una estructura en común. Un documento de HTML empieza con la etiqueta <HTML>, que es la que encerrara el documento actual. Contiene dos secciones primordiales: la y el cuerpo encerrados respectivamente por los elementos <HEAD> cabeza y <BODY> cuerpo.
La cabecera puede contener información y siempre contiene el titulo del documento encerrado por el elemento <TITLE>.
En el cuerpo se encuentra todo el contenido del documento, ya sea, texto, imagenes, sonidos, hipervinculos, etc.



XML

XML.

El XML es un lenguaje que nos garantiza intercambios de cualquier tipo de información, sin que ocasione problemas de tipo contenido o de tipo presentación. Esto nos garantiza que los datos estructurados sean uniformes e independientes de aplicaciones. Algunos podremos darnos la idea que el XML es especie de HTML avanzado, por lo que cuando tomamos el tema de HTML surgen cuestiones como: ¿Es XML una nueva versión de HTML?, ¿Cuáles fueron los motivos de su creación?, ¿Tiene alguna aplicación en la actualidad?, ¿Exactamente qué es?

Podemos analizar la utilización de XML como formato estándar para el intercambio de datos y la forma en que como este lenguaje de marcas nos proporciona un formato para describir datos estructurados, proporcionando la facilidad de crear declaraciones más precisas de contenido y permitiendo la obtención de resultados de búsqueda con más significado.
Contentando una de las preguntas anteriores el lenguaje de marcas XML ofrece un formato para la descripción de datos estructurados, la cual conserva todas las propiedades importantes del SGML. Esto quiere decir que XML es un metalenguaje, con el que podemos definir nuestro propio lenguaje de presentación y a diferencia del HTML, que es centrado en la presentación de la información y XML es centrado en la información en sí misma.
   Respondiendo a una de las preguntas anteriores el motivo para lo que fue creado el XML es, para que cumpliera varios objetivos, las cuales son:
-          Que fuera formal y conciso desde el punto de vista de los datos y la manera de guardarlos.
-          Que fuese fácil de leer y editar.
-          Que fuera extensible, para que lo puedan utilizar en todos los campos del conocimiento.
-          Que fuese fácil de implantar, programar y aplicar a los sistemas.
-          Que fuera idéntico a la hora de servir, recibir y procesar la información que el HTML, para aprovechar toda la tecnología implantada para este ultimo.
El objetivo principal es realizar la cooperación y la interoperabilidad mas fáciles entre módulos que pertenecen a diferentes sistemas, o bien a diferentes organizaciones

El XML puede ser usado para una infinidad actividades y nos proporciona muchas ventajas, una de estas ventajas muy importantes son:
-          Comunicación de datos.
-          Migración de datos.
-          Aplicaciones web.

Sintaxis del XML.
Los expertos han observado que el XML es un 10% del SGML, ya que en realidad las normas que tienen son muy simples.
Para que se pueda definir que etiquetas y atributos debemos utilizar al escribir en XML debemos fijarnos en la manera de guardar la información de una forma estructurada y ordenada.
Los componentes en un documento XML:
-          Comentarios.
-          Secciones CData.
-          Los elementos.
-          Las referencias
El XML nos proporciona una representación estructural de los datos en la que ha probado ser ampliamente implementable y fácil de destruir.
Podemos decir que el XML es un subconjunto que es optimizado para la transmisión por web.
El W3C define un formato mediante el cual pueden encapsularse en paginas HTML los datos basados XML.
Cuando se incrustan datos XML en una página HTML pueden ser generadas varias vistas a partir de los daros entregados, utilizando los datos semánticos que contiene el XML.
Como podemos ver el DTD proporciona la gramática para una clase de documentos XML.
Los documentos enviados con un DTD se reconocen como “XML valido”. En la cual un intérprete de XML podría comparar los datos entrantes con las normas definidas en el DTD con el objetivo de comprobar que los datos se han estructurado correctamente.
Podemos decir que la fortaleza del XML es actualmente a la vez su debilidad principal, la cual es demasiado genérica para ser usado sin que se defina externamente la sintaxis exacta de un documento y como puede localizarse y extraerse cada fragmento de datos intercambiados.
La mayoría de las aplicaciones empresariales implican manipulación o transferencia de datos y registros de base de datos, como facturas, pedidos de compra, información del cliente, citas, etc. XML se encarga se evolucionar las posibilidades de los usuarios finales en internet.
Al haber analizado las principales características de XML, se puede asegurar que ingresaremos a una segunda fase de la World Wide Web y , por consiguiente, tendremos un desarrollo de aplicaciones más inteligente alrededor de este lenguaje.
Hoy día el XML se podrá implementar en aplicaciones fuera del mundo de internet/intranet, haciéndonos mucho más sencillo y cómodo el intercambio de datos entre aplicaciones.
En la actualidad podemos asegurar que XML no es más una promesa, es hoy una realidad.




  

ASP/ASP.NET

INTRODUCCIÓN:

PROGRAMACIÓN WEB CON ASP.NET


ASP.NET: Es una tecnología gratuita que permite a los programadores crear paginas web dinámicas, desde websites personales hasta aplicaciones web empresariales. Todo lo que necesitas para empezar es descargar .NET Framework y una herramienta de desarrollo.


ASP.NET es un Framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. apareció en enero de 2002 con la versión 1.0 del .Net Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el Common Languaje Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework. 




HISTORIA.


Fue introducido por Microsoft la tecnología llamada Active Server Pages en diciembre de 1996. Es parte del Internet Information Server (IIS) desde la versión 3.0 y es una tecnología de paginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar paginas generadas dinámicamente. La definición textual de Microsoft es que "Las Active Server Pages son un ambiente de aplicación abierto y gratuito en el que se puede combinar código HTML, scripts componentes ActiveX del servidor para crear soluciones dinámicas y poderosas para el web".


Des pues del lanzamiento del Internet Information Services 4.0 en 1997, Microsoft comenzó a investigar las posibilidades para un nuevo modelo de aplicaciones web que pudiera resolver las quejas comunes sobre ASP, especialmente aquellas con respecto a la separación de la presentación y el contenido y ser capaz de escribir código "limpio". A Mark Anders, un administrador del equipo de IIS y Scott Guthrie, quien se había unido a Microsoft en 1997 después de graduarse de la Universidad Duke, se les dio la tarea de determinar como debería ser ese modelo. El diseño inicial fue desarrollado en el curso de dos meses por Anders y Guthrie, y Guthrie codifico los prototipos iniciales durante las celebraciones navideñas de 1997.



CARACTERÍSTICAS.

Las paginas de ASP.Net, conocidas oficialmente como "web forms" (formularios web), son el principal medio de construcción para el desarrollo de aplicaciones web. Los formularios están contenidos en archivos con esta extensión ASPX; en jerga de programación, estos archivos típicamente contienen etiquetas HTML o XHTML estático, y también etiquetas definiendo controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el codigo estatico y dinamico requerido por la pagina web. Adicionalmente, el codigo dinamico que se ejecuta en el servidor puede ser colocado en una pagina dentro de un bloque "codigo dinamico" que es muy similar a otras tecnologias de desarrollo como PHP, JSP y ASP, pero esta practica es, generalmente, desaconsejada excepto para propositos de enlace de datos pues requiere mas llamadas cuando se genera la pagina.


ASP:NET solo funciona sobre el servidor de Microsoft IIS, lo que supone una desventaja respecto a otros lenguajes del lado del servidor, ejecutables sobre otros servidores mas populares como Apache. Ejemplos de esto son PHP, Perl o Phython.

CONTROLES DE USUARIO.

ASP:NET permite la creación de componentes reutilizables a través de la creación de Controles de Usuario (User Controls). Un control de usuario sigue la misma estructura que un formulario web, excepto que los controles derivan de la clase "System.Web.UI.UserControl", y son almacenados en archivos ASCX. Como los archivos ASPX, un ASCX contiene etiquetas HTML o XHTML, ademas de etiquetas para definir controles web y otros controles de usuario. También pueden usar el modelo code-behind.


Los programadores pueden agregar sus propias propiedades y metodos, y manejadores de eventos. Un mecanismo de eventos en burbuja proporciona la capacidad de pasar un evento disparado por el control de usuario a la pagina que lo contiene.


ADMINISTRADOR DEL ESTADO.


Las aplicaciones ASP.NET son alojadas en un servidor web y se tiene acceso a ellas mediante el protocolo sin estado HTTP, que no guarda ninguna informacion sobre conexiones anteriores. Por lo tanto, si la aplicacion requiere interaccion entre conexiones, tiene que implementar su propia administracion del estado. ASP.NET proporciona varias maneras de administrar el estado de las aplicaciones ASP.NET.


ESTADO DE LA APLICACION.


El estado de la aplicacion (Application state) es una coleccion de variables definidas por el usuario que son compartidas las invocaciones de una aplicacion ASP.NET. Estas son establecidas e inicializadas cuando el evento "Aplication_OnStart" se dispara en la carga de la primera instancia de las aplicaciones y estan disponibles hasta que la ultima instancia termina. Las variables de estado de la aplicacion son definidas por nombres.
ESTADO DE LA SESION.
El estado de la sesion (Session state) es una coleccion de variables definidas por el usuario, las cuales persisten durante la sesion de un usuario. Estas variables son unicas para diferentes instancias de una sesion de usuario, y son accedidas usando la coleccion de Session. Las variables de sesion pueden ser preparadas para ser automaticamente destruidas despues de un determinado tiempo  de inactividad, incluso si la sesión no ha terminado. Del lado del cliente, una sesion de usuario es identificada por una cookie o codificando el ID de la sesion en la misma URL.


ASP.NET proporciona tres modos de persistencia para variables de sesion:
InProc.


Las variables de sesion son mantenidas dentro del proceso. Sin embargo, en este modo, las variables son destruidas cuando el proceso ASP.NET es reciclado o terminado.


State Server.


Es este modo, ASP.NET ejecuta un servicio de Windows separado que mantiene las variables de estado. Como esta administracion de estado ocurre fuera del proceso ASP.NET, tiene un impacto negativo en el rendimiento, pero permite a multiples instancias de ASP.NET comparitr el mismo estado del servidor, permitiendo que una publicacion de ASP.NET pueda tener su carga balanceada y escalada en multiples servidores. Tambien, como el servidor de administracion del estado se ejecuta independiente de ASP.NET, las variables pueden persistir a atraves de las finalizaciones del proceso ASP.NET.


Sql Server.




En este modo, las variables de estado son almacenadas en un servidor de base de datos, accesible usando SQL. Las variables de sesión pueden persistir a traves de finalizaciones de procesos también en este modo.


ESTADO DE LA VISTA.


El estado de la vista (View state) se refiere al mecanismo de administracion de estado a nivel de pagina, que es utilizado por las paginas HTML generadas por las aplicaciones ASP.NET para mantener el estado de los controles de los formularios web y los widgets. El estado de los controles es codificado y mandado al servidor en cada envió del formulario en un campo oculto conocido como "VIEWSTATE". El servidor envía de regreso las variables para cuando la pagina sea renderizada de nuevo, los controles volverán a su ultimo estado. Del lado del servidor,la aplicación puede cambiar el estado de la vista, so los resultados del procesamiento actualizan el estado de cualquier control. El estado de los controles individuales son decodificados en el servidor, y estan disponibles para su uso en ASP.NET usando la coleccion ViewState.


ESTRUCTURA DE DIRECTORIOS.


En general, la estructura de directorios de ASP.NET puede ser determinada por las prefencias del desarrollador.Aparte de unos pocos nombres de directorios. La estructura es tipicamente reflejada directamente en las urls.


Los nombres de directorios especiales (a partir de ASP.NET 2.0 son):


App_Browsers.


Contiene archivos de definicion especificos para navegadores.


App_Code.


Es un directorio para códigos. El servidor ASP.NET automáticamente compilara los archivos (y subdirectorios) en esta carpeta en un ensamblado que es accesible  desde cualquier pagina del sitio. App_Code es tipicamente usada para codigo de acceso a datos, codigo de modelo o codigo de negocios. Tambien cualquier manejador http especifico para el sitio e implementacion de modulos y servicios web van este directorio. Como alternativaa utilizar App_Code el desarrollador puede optar proporcionar un ensamblado independiente con codigo precompilado.


App_Data.


Directorio por defecto para las bases de datos, tales como archivos mdb de Microsoft Acces y archivos mdf de Microsoft SQL Server. este directorio es usualmente el unico con permisos de escritura en la aplicacion.


App_LocalResources.


Contiene archivos de recursos localizados para paginas individuales del sitio.


App_GlobalResources.


Contiene archivos resx con recursos localizados disponibles para cada pagina del sitio. Este es donde el desarrollador ASP.NET tipicamente almacena mensajes que seran usados en mas de una pagina.


App_Themes.


Usado para temas alternativos del sitio.


App_WebReferences.


Usado para archivos de descubrimiento y archivos WSDL para referencias a servicios web para ser consumidos en el sitio.


Bin.


Contiene codigo compilado (archivos .dll) para controles, componentes, y otro codigo que pueda ser referenciado por la aplicacion. Cualquier clase representada por el codigo en la carpeta Bin es automaticamente referenciada en la aplicacion.


USO DEL LENGUAJE.


En la actualidad una aplicación ASP.NET puede ejecutarse de dos formas distintas:


Aplicaciones Cliente/Servidor: Estas aplicaciones están típicamente en formato de ejecutables compilados. Estos pueden integrar toda la riqueza de una interfaz de usuario, tal es de las aplicaciones de desempeño y productividad, pero no se reune la logica de negocio como un recurso que se pueda utilizar. Ademas acostumbra ser menos gestionables y escalables que las demas aplicaciones.


Aplicaciones que utilizan el navegador: Dichas aplicaciones estan caracterizadas por contar con una interfaz de web rica y muy util. La interfaz grafica integra varias tecnologias, las cuales son el Html, XHTML, scripting, etc; siempre y cuando el navegador que se este utilizando soporte estas tecnologias.


CREAR UN PROYECTO ASP.NET.


Es muy importante antes de ejecutar el siguiente paso tener el IIS instalado y corriendo. lo podemos poner en marcha desde "Panel de Control", "Herramientas Administrativas", "Internet Information Services".
Suponiendo que hemos instalado el Visual Studio .NET, lo abrimos y pulsamos sobre el boton de nuevo proyecto.
Una vez con el IIS corriendo, seleccionamos "Visual C# Proyects", ASP.NET web Application y ponemos el nombre del proyecto que vamos a crear, en este ejemplo "WenEstiloEjemplos".