Universidad de Costa Rica

Escuela de Ciencias de la Computación e Informática

Curso CI-2413 Desarrollo de Aplicaciones para Internet

II Semestre 2008

Prof. Braulio José Solano Rojas


Carta al Estudiante

Objetivos

  1. Conocer y utilizar los recursos que provee la red mundial Internet.
  2. Aprender los fundamentos del desarrollo de aplicaciones en arquitecturas distribuidas en ambientes de red TCP/IP para Internet.
  3. Utilizar los servicios de la red Internet en el desarrollo de aplicaciones.
  4. Conocer lenguajes y ambientes de desarrollo utilizados en la creación de aplicaciones para Internet.

Contenido temático

1. La red Internet
Servicios y recursos de la red Internet
Sistemas cliente/servidor, n-capas
Distribución del procesamiento de datos en la red
Aplicaciones de la tecnología de Internet

2. Conceptos de Diseños de Sitios
Diseño de la interfaz
Diseño del sitio
Diseño de página
Tipografías y gráficos

3. Hojas de estilos
Cascading Style Sheets

4. Diseño de páginas HTML/XHTML
Estructura de un documento HTML/XHTML con énfasis en XML
Sintaxis HTML/XHTML con énfasis en XML
Ejemplos de páginas
Diseño básico de DTD
Personalización de XHTML con módulos DTD

5. Lenguajes de programación en páginas (lado cliente)
Sintaxis de Javascript
Programación de capas ("layers")
Ejemplos de uso de Javascript y ActivePHP

6. Lenguajes de programación en servidores
Conceptos básicos
Formularios y validación de formularios (cliente)
Métodos de envío de formularios
Introducción a CGI, PHP, ASP y ASP.NET, Servlet/JSP, Perl, Cold Fusion
Formularios y validación de formularios (cliente)

9. Páginas PHP
Conceptos básicos
Ejemplos de programación en PHP
Creación de extensiones en C para PHP

11. Bases de datos
Acceso a Bases de Datos utilizando PHP
Ejemplos aplicados: PHPlib, ADODB

12. Plantillas
Plantillas como separación de la vista del código
Ejemplos aplicados: PHPlib, Smarty
XPATH, XML/XSLT como plantillas

13. Seguridad
Seguridad de la aplicación diferente de encripción del canal
Ataques: Cross Site Scripting, Cross Site Requeste Forgeries, SQL Injections
Estrategia defensiva: filtrado
Ejemplos

14. Servicios Web
Internet un ambiente de clientes livianos, un mundo dinámico de protocolos
Tres componentes: Descubrimiento, Descripción, Transporte
Interoperabilidad
Ejemplos: SOAP, XML-RPC

15. Frameworks para desarrollo Web
Menos software y convención sobre configuración
Rapid Application Development con Ruby
CakePHP
Patrón Modelo-Vista-Controlador
Ejemplo básico
Ejemplo con AJAX

16. Sistemas Administradores de Contenido (CMS, por sus siglas en Inglés)
Conceptos básicos
Características deseables de un CMS
Ejemplos de varios CMS y su instalación, administración

Referencias

[ASP]
Keyton, A., "ASP in a Nutshell", O'Reilly, 2ª Edición, Julio 2000

[CMS]
Papers & Case Studies: Content Management, http://www.steptwo.com.au/papers/index.php?subject=cm

[CSS1]
B. Bos, H. W. Lie, "Cascading Style Sheets, level 1", 17 de diciembre 1996. Revisado 11 de enero 1999, http://www.w3.org/TR/CSS1.

[CSS2.1]
B. Bos et al., "Cascading Style Sheets, level 2 revision 1 ", Borrador de Trabajo 13 de junio 2005, http://www.w3.org/TR/CSS21.

[CSS3]
Senior, A. , "Creating a Two-Column Layout". http://www.adobe.com/devnet/dreamweaver/articles/css_concepts_pt4.html.

[CVS]
Fuecks, Harry, "Harness the Power of CVS for Your Site", Agosto 2002, http://www.webmasterbase.com/printTemplate.php?aid=831.

[DREAMWEAVER]
Kettel, Jennifer A., "Dreamweaver 4.  Manual de referencia", McGRAW HILL/INTERAMERICANA DE ESPAÑA S.A., Madrid, 2001.

[ISO8879]
"Information Processing -- Text and Office Systems -- Standard Generalized Markup Language (SGML)", ISO 8879:1986, http://www.iso.ch/cate/d16387.html.

[JSP]
"JSP Tutorial", http://www.visualbuilder.com/jsp/tutorial/JSP_tutorial.pdf.

[HTTP]
"Hypertext Transfer Protocol -- HTTP/1.1", http://www.w3.org/Protocols/rfc2616/rfc2616.html.

[HTML]
"HTML 4.01 Specification", D. Raggett, A. Le Hors, I. Jacobs, 24 December 1999, http://www.w3.org/TR/html401.

[PHP]
Sæther, Stig, et al., "Manual de PHP", http://www.php.net/manual/es/.

[PHPSEC]
PHP Security Consortium, http://phpsec.org/.

[PHPSECGUIDE]
PHP Security Guide, PHP Security Consortium, http://phpsec.org/projects/guide/.

[TCP/IP]
"TCP/IP Tutorial and Technical Overview", http://www4.ulpgc.es/tutoriales/tcpip/pru/3376fm.htm.

[WEBREDESIGN]
Cotler, Emily; Goto, Kelly. "Rediseño de sitios web", PEARSON EDUCACIÓN, S.A., Madrid, 2002. http://www.web-redesign.com.

[WWW]
"The World Wide Web Consortium", http://www.w3.org.

[XHTML]
"XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition)", http://www.w3.org/TR/2002/xhtml1/.

[XML2]
Williamson, Heather, "XML. Manual de referencia", McGRAW HILL/INTERAMERICANA DE ESPAÑA S.A., Madrid, 2001.


Evaluación

I Tarea 15%
II Tarea 15%
Tareas cortas, laboratorios y quices 20%
Examen 20%
Proyecto 30%

Entrega de la propuesta de proyecto: viernes 5 de septiembre en su horario de clase.
Fecha del examen: viernes 28 de noviembre en su aula y horario de clase.