Tecnologías y Programación en el Internet Prof. Miguel Vélez Rubio C y C++ / Base de todo C Comenzó su implementación en 1972, surgiendo del lenguaje B Asociado inicialmente a Unix Considerado difícil pero de gran valor para la Industria C++ Desarrollado temprano en los 80s Da a C capacidad para Programación Orientada a Objetos haciéndolo un lenguaje híbrido Muy apreciado en la Industria pero sigue siendo complicado, de hecho al ser híbrido es más confuso y difícil de mantener Sirve como base para lenguajes como Java, JavaScript y C# 1
Programación en Internet Muchas tecnologías existentes Tecnología basada en Objetos Base inicial: Java Dos áreas principales Programación en el Cliente (Client Side) HTML, XHTML, CSS, Java, Java Applets, JavaScript, Dynamic HTML, XML, VBScript Programación en el Servidor (Server Side) JavaScript, Web Servers (IIS, PWS, Apache), ADO, WML, VBScript, ASP, XML, Perl, CGI, Python, PHP, Java, Java Servlets, JSP Tecnología Basada en Objetos Los Objetos son en esencia componentes de programación reutilizables que simulan entidades del mundo real. Programación Orientada a Objetos Beneficios: Componentes de Programación Reutilizables, Más fácil de Entender, Corregir y Modificar Los programadores de sistemas en empresas han descubierto que el proceso de desarrollo en grupo es mucho más productivo Su origen se remonta a un lenguaje de 1967 conocido como Stimula 67 Este dio base junto a C, a C++ y de hay a todos los demás lenguajes que usaron a C++ como base, entre ellos Java Es la base en la programación para el Internet y el Web 2
Programación en el Cliente (Client Side) XHTML Extensible Hypertext Markup Language Lenguaje de marcas para identificar los elementos de un documento del Web que permite a un Browser el mostrarlo en pantalla. Sale directamente de HTML con algunos cambios provenientes de XML. HTML a su vez surgió de SGML (Standardized General Markup Language) que fue un estándar muy utilizado en aplicaciones industriales poderosas desde el 1986. De hecho XHTML es básicamente un HTML mejorado. Surje directamente de una Recomendación del World Wide Web Consortium (W3C). 3
XHTML Está basado en el manejo de tags y atributos Permite: incorporar textos, imágenes, líneas y caractéres especiales incorporar enlaces de texto y con mapas de imágenes incorporar listas, tablas, formas para la entrada de datos y frames para la presentación de varios documentos a la vez controlar el estilo que contendrá la información al ser presentada por un browser Java Código similar a C en su base pero mucho más fácil que C++ en todo lo demás Sin pointers No es híbrido, es totalmente Orientado a Objetos Utilidades simples para manejo gráfico y de eventos Manejo automático de memoria Capacidad de Multithreading Multi-Platform con su capacidad de correr aplicaciones en páginas del Web 4
Java Permite a los desarrolladores lo siguiente: Crear páginas de Web con contenido dinámico e interactivo Desarrollo de aplicaciones para Internet e Intranet Desarrollar aplicaciones de empresas a gran escala Mejorar el funcionamiento de los Web Servers (programación que provee el contenido que observamos en los Browsers) Proveer aplicaciones para unidades electrónicas de consumo (celulares, PDA s) Otros Java Otros datos Desde su salida se ha convertido en uno de los lenguajes más utilizados en el Mundo Se afirma será el lenguaje para implementar programación entre unidades electrónicas interconectadas en una red (componentes, neveras, etc.) Ejemplo: Teléfono Celular de Motorola con aplicaciones utilizando Java Technology para implementación de Sistemas con GPS (GPS services in works for cell phones, Nobel, C., E-Week, 6 de enero de 2003) 5
CSS Cascading Style Sheets Desarrollar páginas para el Web especificando el estilo que tendrán sus elementos separado de la estructura interna específica del documento en XHTML. Mayor manejo e implementar cambios de forma fácil y rápida, principalmente si son muchas las páginas. Se pueden implementar estilos sobre elementos específicos, sobre el contenido de una página en su totalidad o sobre el contenido de un Site definiéndolos en un archivo compartido. JavaScript Object-Based Scripting para el Web Es lenguaje tipo Script más utilizado hoy Es la base principal de programación para el Web en las aplicaciones actuales desde el punto de vista del cliente Es compatible con los Browsers más utilizados actualmente Permite manipular elementos de una página de Web mientras ésta se procesa en el Browser También permite manipular su contenido Puede interactuar con la codificación en HTML, XHTML, los objetos de Dynamic HTML, etc. 6
Dynamic HTML (DHTML) Modelo de Objetos desarrollado por Microsoft Convierte los elementos que bajan en una página de Web en Objetos que pueden ser manipulados con JavaScript Combinados permite el manejo de: Eventos, Filtros y Transiciones para animaciones y otros efectos, Controles para el Manejo de Datos, Gráficas estructuradas con Active X y Direct Animation que es parte de Direct X y otros controles como el de Sprite para animaciones Dynamic HTML (DHTML) El modelo de DHTML de Microsoft está compuesto por varias tecnologías de uso gratuíto entre las que se incluyen: XHTML JavaScript Cascading Style Sheets Dynamic HTML Object Model and Event Model Active X controls Otros Netscape cuenta con un modelo similar 7
XML Extensible Markup Language Surje también de SGML pero con utilidades muy mejoradas en términos de usabilidad. Es en esencia como un lenguaje para crear otros lenguajes tipo markup. Entre los creados se incluyen: XHTML, MathML (para matemáticas), VoiceXML (para reconocer voz), SMIL (para presentaciones con multimedios), CML (para química) y XBRL (para intercambio de datos financieros). Fue creado por el W3C para describir datos en un formato portátil. Eso implica que no es en sí un lenguaje. Es una de las tecnologías de mayor importancia hoy y se utiliza en un sinnúmero de áreas. VBScript Visual Basic Script Desarrollado por Microsoft No funciona con todos los Browser aunque se logra hacer algo con la ayuda de Plug-ins Es el más utilizado para escribir ASP s para servidores Su uso se circunscribe a aplicaciones de Internet puras de Microsoft y a Intranets basados en Microsoft 8
Programación en el Servidor (Server Side) Web Servers (IIS, PWS, Apache) Los servidores de Web son considerados una aplicación multi-nivel (multitiered) Ejemplo de 3 niveles: nivel de datos (data/bottom tier) base de datos de la organización nivel intermedio (middle tier) recive un pedido del cliente, accesa y maneja los datos en el servidor y envía lo pedido al cliente nivel de cliente (client/top tier) presenta la página y ejecuta las instrucciones de scripting contenidas en ella 9
Web Servers (IIS, PWS, Apache) Los servidores más utilizados en la industria: Apache Web Server Es el más popular de los Web Servers por su estabilidad, eficiencia y portabilidad Es Open Source (gratis y modificable) Corre en Unix, Linux o Windows Internet Information Server (IIS) Servidor Web a nivel empresa (enterprise) que es parte de Windows 2000 Al configurarlo en cualquier máquina permite que ésta despache documentos de Web Funciona sólo para Windows Web Servers (IIS, PWS, Apache) Personal Web Server (PWS) Versión reducida de IIS para PC Demanda muy poco del sistema para funcionar por lo que es ideal para entrenamiento, pequeños negocios o individuos 10
ASP Microsoft Active Server Pages Pueden ser programadas en varios lenguajes de los que el más utilizado es VBScript Implementan lógica de negocios a nivel intermedio Trabaja con el concepto de dynamic content generation Esto es que mediante un lenguaje de Script se generan documentos en HTML, XHTML, XML u otros Permite: almacenar archivos de texto generar queries para bases de datos en Access utilizar controles de Active X en el lado del servidor Perl/CGI Practical Extraction and Report Language / CommonGateway Interface Es la tecnología más utilizada en el desarrollo de programación del lado del servidor A pesar de todas las herramientas existentes se espera que continue su supremacía Permite: interactuar con bases de datos MySQL hacer busquedas de patrones de caracteres con el uso de regular expressions leer y escribir datos del usuario en cookies Compite con ASP como uno de las mejores 11
Perl/CGI Perl Lenguaje de programación creado en 1987 por Larry Wall Fue creado para dar seguimiento a proyectos grandes y generar reportes Se supone es más flexible que C Es uno de los más usados hoy para programación en el Web Tiene capacidades excelentes para el procesamiento de textos Permite la generación más directa y simple de tareas comunes de programación Perl/CGI CGI Es un protocolo mediante el cual los usuarios interactúan con las aplicaciones residentes en un servidor de Web Provee a los Browsers mecanismos indirectos para lograr comunicarse con esas aplicaciones Para lograrlo se interactúa mediante un CGI Script que puede estar escrito en distintos lenguajes para lo que el más utilizado es Perl por ser poderoso, flexible y por haber mucho código existente para lidiar con situaciones comunes 12
Perl/CGI Funcionamiento similar al de ASP Mediante el CGI Script se procesan los datos sometidos desde una Forma Luego se garantiza acceso al ejecutable a utilizar en el servidor el cual se ejecuta Este es por lo general un.cgi o.pl Se encuentran en un directorio especial del servidor conocido como cgi-bin Finalmente el ejecutable responde enviando una página en HTML o XHTML con lo solicitado Esta puede contener imágenes, archivos de audio, archivos de Flash, XML u otros Python Lenguaje de propósito general que es interpretado, orientado a objetos y para distintas plataformas Fue creado por Guido van Rossum y combina elementos de muchos lenguajes existentes Puede ser utilizado para crear mecanismos de búsqueda a gran escala, aplicaciones GUI, scripts de administración, CGI scripts, etc. Es gratis y open source por lo que evoluciona constantemente incluyendo la aportación de desarrolladores en general Su mayor ventaja es que permite el rápido desarrollo de aplicaciones, incluyendo las de GUI 13
PHP Personal Home Page Tools Fue creado en 1994 por Rasmus Lerdorf En el 1997 explotó su popularidad como lenguaje script para el lado del servidor siendo excelente para la creación de páginas de Web dinámicas Se estima que sobre 6 millones de dominios lo utilizan actualmente y se espera que su popularidad aumento con la salida de su próxima versión Es Open Source también Existe para Linux, Unix y Windows y apoya a bases de datos como MySQL Interactúa también con cookies Su fuerte está en que fue diseñado específicamente para interactuar con el Web Java Servlets y JSP Servlets y Java Server Pages Son tecnologías del lado del servidor que están basadas en Java (no en JavaScript) y de hecho las JSPs son una extensión de los Servlets Funcionan de manera similar a las tecnologías anteriores pero con dos grandes ventajas: Capacidades excelentes para redes Su base en Java Se fundamentan en el modelo request-response para su funcionamiento El cliente requiere que alguna acción se lleve a cabo y el servidor la lleva a cabo y le responde al cliente. Están apoyadas por todos los servidores de Web más importante, incluyendo el de W3C 14
Java Servlets y JSP Los JSPs se usan cuando el contenido a enviar al cliente es casi todo estático y con marcas Los Servlets no siempre producen contenido, pero llevan a cabo tareas más avanzadas que incluyen el interactuar con JDBC, esto con poco o ningún contenido estático Los Servlets son efectivos en el desarrollo de soluciones para Web que: ayuden a proveer acceso seguro a un Sitio Web permitan al cliente interactuar con bases de datos generen dinámicamente páginas en XHTML individualizadas para ser devueltas al cliente mantener información única de la sesión de cada cliente que accese Cierre de Tema Conclusiones en Discusión Preguntas 15