Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

45
Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009

Transcript of Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Page 1: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Introducción a la Programación para Internet

Prof. Miguel Vélez Rubio

Agosto de 2009

Page 2: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Contenido

Historia del Internet Programación en Internet

Programación en el Cliente(Client Side)

Programación en el Servidor(Server Side)

Referencias y Sitios de Importancia Resumen y Preguntas

Page 3: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

Finales de los 60 ARPA (Advanced Research Project

Agency) – Department of Defense Auspicia investigaciones graduadas Conferencia para presentar ideas –

Universidad de Illinois en Urbana-Champaign Planes concretos de interconectar una parte de

ellos Incrementar velocidad de comunicación

Page 4: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

Finales de los 60 ARPAnet

Daría base inicial al Internet Funcionó en septiembre de 1969 Propósitos

Comunicación entre investigadores Siguiera funcionando aunque parte se

cayera

Page 5: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del InternetFinales de los 60 Beneficio inicial: En vez del compartir de

recursos resulto ser la capacidad de lo que llamarían E-Mail

Características principales Intercambio de información simultáneamente Tecnología de packet switching : mezcla de

paquetes a través de las líneas de comunicación Sin tener un control centralizado: no se cae por

pérdida parcial de estaciones o red

Page 6: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

Finales de los 60 ARPAnet: Primera configuración

4 estaciones Universidad de California en Los Ángeles Instituto de Investigación de Stanford Universidad de California en Santa Bárbara Universidad de Utah

Protocolo inicial: TCP Transmission Control Protocol Asegura el direccionamiento adecuado de los

mensajes

Page 7: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

TCP/IP Surje con el establecimiento de otras

redes como ARPAnet IP (Internetworking Protocol) permite que

pueda haber comunicación entre las distintas redes

Da paso a la verdadera Red de Redes

INTERNET

Page 8: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

Evolución: Primero sólo Universidades e Instituciones de

Investigación Luego: La milicia Finalmente: Gobierno permite acceso a comercio

Oposición de investigadores y militares por probable degradación en tiempo de respuesta

Ocurrió lo opuesto con la entrada de más y mejores recurso por la inversión privada

Aumento dramático en ancho de banda y disminución en costos

Efecto directo en la economía nacional

Page 9: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

1989 World Wide Web (WWW) Desarrollado por Tim Berners-Lee de CERN

(Laboratorio Europeo de Partículas Físicas) Permite localizar y ver documentos de

multimedios por medio de programas y protocolos particulares

Se monta sobre el Internet tras reconocer su potencial

El Internet y el WWW están consideradas en la lista de las invenciones más importantes y revolucionarias en toda la existencia humana

Page 10: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet1991 Tim Berners-Lee funda el World Wide Web

Consortium (W3C) Se dedica al desarrollo de tecnologías no propietarias para

el Web Meta principal: Hacer que el Web este disponible para todos Trabaja la estandarización de Tecnologías:

Recomendaciones Emite los estándares (recomendaciones) principales para el

establecimiento de enlaces entre computadoras

Page 11: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

1993 Primer Browser con un Interfaz Gráfico sencillo

MOSAIC Creado por Marc Andreessen

1994 Marc Andreessen y Jim Clark

Fundan Netscape Communications Corporation Tirada de Netscape Navigator 1.0

Page 12: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

1995 Emerge Java oficialmente como un lenguaje para

el Web Lenguaje Orientado a Objetos similar a C++

creado por James Gosling Desarrollado por Sun Microsystems

1996 WebTV1997 Microsoft Internet Explorer 4.0 (Los puso en el

mapa) 50 millones conectados al Internet

Page 13: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

1998 Telecommuting

Más de 10,000,000 trabajando en remoto desde sus casas

Boom del E-Commerce E-Bay Dell E*Trade Amazon.com

Page 14: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Historia del Internet

1999 Microsoft Office 2000 ofrece el poder crear

contenido para el Internet directamente pudiendo publicar sin conversiones ni tener que hacer procedimientos especializados

Apache para Linux comienza a ganar terreno como la mejor opción entre los Web Servers

2000 Ventas de E-Commerce exceden los $100 billones2002 Wireless Internet

Page 15: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

CrecimientoHoy: Más de 1 billón de nodos

(350 millones en el 2000)

1984

Más de 1,000 nodos

1969

Cuatro nodos

Tomado de Discovering Computers 2005, Thomson Learning y de Internet World Stats 2008

Page 16: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Crecimiento

Según Datos del Gobierno del año 2000: El tráfico del Internet se duplica cada 100

días Crecimiento anual de más de 700% Para capturar la atención de 60 millones de

personas Tomo a la radio 15 años Tomo a la televisión 30 años Tomo al Internet 3 años

Page 17: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Programación en Internet

Muchas tecnologías existentes hoy

Tecnologías basadas en Objetos Object Oriented Programming

Base inicial en programación Web: Java (1995)

Page 18: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Tecnología Basada en Objetos

Beneficios: Componentes de Programación Reutilizables, Más fácil de Entender, Corregir y Modificar

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

Es la base en la programación para el Internet y el Web

Page 19: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Programación en Internet

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, Apache), ADO,

WML, VBScript, ASP, XML, Perl, CGI, Python, PHP, ColdFusion, Java, Java Servlets, JSP

Page 20: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Programación en el Cliente(Client Side)

Page 21: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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.

Surje directamente de una Recomendación del World Wide Web Consortium (W3C).

Page 22: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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, de imágenes y 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

Page 23: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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.

Permite manejo más simple de las páginas e implementar cambios de forma fácil y rápida, principalmente si son muchas.

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.

Ejemplo

Page 24: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Java

Código similar a C en su base pero mucho más fácil que C++ en muchos aspectos 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

Page 25: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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 Proveer aplicaciones para unidades electrónicas

de consumo (celulares, PDA´s) Otros

Page 26: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

JavaScript

Object-Based Scripting para el Web Es uno de los lenguajes tipo Script más utilizado hoy Es 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 XHTML, los

objetos de Dynamic HTML, etc.

Código Corrida

Page 27: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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, además de otros controles como el de Sprite para animaciones

Page 28: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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 OtrosNetscape cuenta con un modelo similar

Page 29: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

XML

Extensible Markup Language Surje también de SGML pero con utilidades muy

mejoradas en términos de usabilidad. Fue creado por el W3C para describir datos en un

formato portátil. Eso implica que no es en sí un lenguaje.

Se ha convertido en 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).

Es una de las tecnologías de mayor importancia hoy y se utiliza en un sinnúmero de áreas.

XML

DTD

Page 30: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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

Page 31: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Programación en el Servidor(Server Side)

Page 32: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Web Servers 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

Page 33: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Web Servers 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

Page 34: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Web Servers

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

Page 35: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

ASPMicrosoft 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

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 o SQL

Server utilizar controles de Active X en el lado del servidor

Page 36: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Perl/CGI

Practical Extraction and Report Language / Common Gateway 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

Page 37: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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

Page 38: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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

Page 39: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

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

Page 40: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Python Lenguaje de propósito general que es

interpretado, orientado a objetos y para distintas plataformas

Creado por Guido van Rossum Permite crear mecanismos de búsqueda a gran

escala, aplicaciones GUI, scripts de administración, CGI scripts, etc.

Es gratis y open source Su mayor ventaja es que permite el rápido

desarrollo de aplicaciones, incluyendo las de GUI

Page 41: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

PHP

Personal Home Page Tools Fue creado en 1994 por Rasmus Lerdorf En 1997 explotó su popularidad como lenguaje script Excelente para la creación de páginas de Web dinámicas En uso en sobre 6 millones de dominios Es Open Source Existe para Linux, Unix y Windows y apoya a bases de

datos como MySQL Interactúa también con cookies Fortaleza: diseñado específicamente para interactuar

con el Web

Page 42: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Cold Fusion

ColdFusion Markup Language (CFML) Diseñado por Allaire y adquirido luego por Macromedia Muy popular en su versión para servidor Formato simple basado en tags (al estilo XHTML) Extensión .cfm a la que se llama ColdFusion template Permite desarrollo rápido y dinámico Apoya XML, ColdFusion Components y Web Services

Page 43: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Java Servlets y JSP

Servlets y Java Server Pages Tecnologías del servidor basadas en Java (no en

JavaScript) JSPs son extensión de Servlets Funcionamiento similar a las tecnologías descritas con:

Capacidades excelentes para redes 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

Page 44: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Java Servlets y JSP JSPs: contenido a enviar al cliente es casi todo

estático y con marcas Servlets:

no siempre producen contenido tareas más avanzadas que incluyen el interactuar con

JDBC, 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 mantener información única de la sesión de cada

cliente que este trabajandoServlet

Page 45: Introducción a la Programación para Internet Prof. Miguel Vélez Rubio Agosto de 2009.

Referencias y Sitios de Importancia

Internet & World Wide Web: How to Program, Deitel, Deitel & Goldberg, Prentice Hall, 2004.

Programming the Web: An Introduction, McGraw-Hill Technology Education, 2004.

Java: How to Program, Deitel & Deitel, Prentice Hall, 2003. Discovering Computers 2005, Shelly, Cashman & Vermaat,

Thomson Learning (scsite.com/dc2005). Web 101: Making the ‘Net Work for you, Lehnert, Addison Wesley,

2001. World Wide Web Consortium (www.w3c.org) www.isoc.org www.isocpr.org www.xml.com www.xbrl.com www.apache.org www.iisanswers.com