Professional Documents
Culture Documents
Agenda
1. mbito actual de desarrollo
2. Servidores Web 3. Tecnologas cliente vs servidor 4. Los paradigmas de desarrollo 5. Las metodologas de anlisis y diseo 6. Conclusiones
q Porqu?
Servicio personalizado a clientes y usuario Aplicaciones y bibliotecas distribuidas Independencia de plataforma (portabilidad) Aplicaciones tradicionales pueden utilizar componentes Web Posibilidad de uso de otras aplicaciones Web externas
Evolucin
1990 - 1995 1995 200x 200x .
esttico
Spaghetti code
Ingeniera de Software
Etapas de desarrollo
(1) Requerimientos: (EL CLIENTE) : Comunicacin / Entrevistas Visualizar el Contexto Punto de Validacin Herramientas: IEEE SRS, Contexto, UML y otras... (2) Anlisis y Diseo (LA CALIDAD) : metodologas? Y herramientas? Lo indispensable, lo necesario y el extra (si el tiempo lo permite)... (3) Implementacin (LOS LENGUAJES) : programar con OBJETOS ? RAD or not RAD.... (4) Pruebas :
Ingeniera de Software
bueno, bonito y barato
q Sin descuidar: flexibilidad, robustez, portabilidad, reusabilidad, confiabilidad, interfaz amigable, ergonoma y documentacin ...
q Adems de (en algunos casos): concurrente, distribuido y ligado a una o ms bases de datos.
Ingeniera de Software
La vida real
objetos |
relaciones
Capa 3
ser
Entity Data link
Capa 2
usar
Capa 1
Base de datos
tener
Agenda
1. mbito actual de desarrollo
2. Servidores Web
3. Tecnologas cliente vs servidor 4. Los paradigmas de desarrollo 5. Las metodologas de anlisis y diseo 6. Conclusiones
estructura conceptual
El www se basa en el paradigma cliente / servidor.
transaccin www
URL
1. DNS Lookup
DNS Server
2. 3. 4.
browser tracert
Web Client
Server reply
<html> </html>
estructura conceptual
Web Server
Internet
Web Client
Base de datos
programacin
HTML
Oracle, MySQL, MS-SQL, Informix, Postgres, etc Java, PHP, Perl, Python, MS.net, etc
mayo 2004
Agenda
1. mbito actual de desarrollo 2. Servidores Web
estructura conceptual
Web Server
Internet
Web Client
JavaScript
q Lenguaje con ciertas limitaciones a causa de la interpretacin de navegadores
q Difcil de depurar
VBScript
q Lenguaje peligroso?
Flash
q Opcin verstil y fcil de instalar
q Paginas de servidor
Agenda
1. mbito actual de desarrollo 2. Servidores Web 3. Tecnologas cliente vs servidor
(objetos)
necesidades
programacin (Java)
simple, orientado objeto, distribuido, interpretado, robusto, seguro, portable, multiprocesos y dinmico. Pensado sobre todo para ser portable: J2ME + J2SE + J2EE Apogeo luego de una pequea demostracin de los applets en 1993 A partir de 1998, luego de impulsar varias tecnologas: JSP/Servlets, 3D, dispositivos mviles Desventaja frente al gigante Microsoft
programacin (.net)
programacin y ejecucin en .NET
C#
VB.NET
Compiler
C++
Perl
MSIL + Metadata
Garbage Collection, Security, Multithreading, ...
Loader/ Verifier
JIT
Execution
Managed Code
Compiler
Java
CLASSFiles
Garbage Collection, Security Manager Call-in+Call-out, Multithreading, ...
Classloader/ Verifier
JIT
Interpreter Hotspot
Native Code
C# vs Java
q no existen diferencias fundamentales q C# todo es objeto, no hay tipos primitivos q diferencias de sintaxis mnimas q existen nuevos elementos:
Atributos: Atributos Propiedades Mtodos: Mtodos Eventos Controladores
por qu Java?
Inters acadmico
Ms del 70% de los proyectos de investigacin de universidades tienen como lenguaje de implementacin a Java
Prximos desarrollos
Nuevo paradigma de programacin: Programacin Orientada Aspectos. Agentes mviles
Oracle
Agenda
1. mbito actual de desarrollo 2. Servidores Web 3. Tecnologas cliente vs servidor 4. Los paradigmas de desarrollo
necesidades
anlisis y diseo
Elaboration 20 % 30 %
Construction 65 % 50 %