Вы находитесь на странице: 1из 13

Instituto Tecnolgico de Nuevo

Len
Programacin Web
Prof. Lic. Marta Alicia Casillas Careaga
Unidad IV Arquitectura
Proyecto Investigacin de los temas de la unidad
Lzaro Edain Itz Balam # 11480029
Ingeniera en Sistemas Computacionales

29 de Agosto de 2015

pg. 1

Programacin web

Unidad I

ndice de la Unidad
Introduccin........................................................................................................ 3
Unidad I Arquitectura....................................................................................... 3
1. Evolucin del desarrollo de aplicaciones web................................................3
2. Arquitectura de las aplicaciones Web.............................................................4
3. tecnologas para el desarrollo de Aplicaciones Web........................................7
4. Planificacin de aplicaciones web.................................................................10
Conclusin........................................................................................................ 12
Bibliografa........................................................................................................ 12

pg. 2

Programacin web

Unidad I

Introduccin
La necesidad de las persona por mantenerse comunicadas logro la
creacin y la apertura de la internet, a partir de ese forma de
comunicacin por medio de la internet comenzaron las necesidades de
satisfacer las necesidades del usuario de comunicacin o de navegar y
volver ms sofisticadas las pginas de internet, a medida de la
demanda fue avanzando las formas de crear pginas web, que sus
inicios fue de una forma de texto sin formas o caractersticas
sencillas, hoy en da gracias al avance tecnolgico las pginas web
son ms robustas y ofrecen al usuario ms interaccin y contenidos en
ellas, para llevar acabo estos avance fue necesarios implementar
lenguajes o creacin de lenguajes ms interactivos por ejemplo: java
scrip, html5, php, entre otros. En este documento se tratara de
explicar de manera sencilla un poco de historia y la evolucin de la
programacin web.

Unidad I Arquitectura
1. Evolucin del desarrollo de aplicaciones web
Una aplicacin web es similar a un programa tradicional, con la diferencia que
este se puede ejecutar desde cualquier ordenador con acceso a internet o a
una red local este donde este.
El usuario accede a la aplicacin a travs de un simple navegador de internet,
no requiriendo ningn otro software para su ejecucin.
Las ventajas son independientes del sistema operativo que utilice, adems ya
no tendr que instalar el programa en cada ordenador donde desee utilizarlo
nicamente basta con instalarlas en su servidor.
mbito: habitualmente, las aplicaciones web se utilizan para controlar el
funcionamiento interno de los diferentes departamentos de la empresa,
gestionando:

pg. 3

Contactos
Reuniones
Eventos
Correos electrnico
Etc

Programacin web

Unidad I

Aunque no solamente es este su campo de aplicacin; la evolucin de los


lenguajes de desarrollo est haciendo que cada vez ms acaparen el mercado
propio de los programas tradicionales
El desarrollo de aplicaciones web ha evolucionado por los siguientes aspectos:

Evolucin del uso/demandas


Evolucin de Tecnologas/Navegador
Evolucin de Tecnologas/Servidores
Marketing de ventas
Hiper-Hype y las Dot.com
.
Informativos y contenido esttico (HTML esttico).

.
DHTML (D de dinmico), que incluye la posibilidad de incluir
comportamiento dinmico en la pgina. Ejemplo: mens, hojas de estilo.

.
Lenguajes de programacin del lado del cliente como Javascript,
Vbscript, Applets (Java).
.
Incorporacin de multimedia (Flash, SilverLigth).
.
Lenguajes de programacin del lado del servidor (tecnologa CGI).
.
Lenguajes de programacin del lado del servidor de siguiente
generacin (ASP, PHP, JSP, etc.).
.
Desarrollo de tecnologa para la seguridad (uso de claves,
encriptacin).
.
Aplicaciones en Web como Comercio Electrnico.
.
E-Government, E-procurement, Internet banking, etc.

2. Arquitectura de las aplicaciones Web.


Web es proporcionada por un servidor Web y utilizada por usuarios que
se Conectan desde cualquier punto va clientes Web (browsers o navegadores).
La arquitectura de un Sitio Web tiene tres componentes principales:

Un servidor Web
Una conexin de red
Uno o ms clientes

El servidor Web distribuye pginas de informacin formateada a los clientes


que las solicitan. Los requerimientos son hechos a travs de una conexin de
red, y para ello se usa el protocolo HTTP. Una vez que se solicita esta peticin
mediante el protocolo HTTP y la recibe el servidor Web, ste localiza la pgina
Web en su sistema de archivos y la enva de vuelta al navegador que la solicit.

pg. 4

Programacin web

Unidad I

Las aplicaciones Web estn basadas en el modelo Cliente/Servidor que


gestionan servidores web, y que utilizan como interfaz pginas web.
Las pginas Web son el componente principal de una aplicacin o sitio Web.
Los browsers piden pginas (almacenadas o creadas dinmicamente) con
informacin a los servidores Web. En algunos ambientes de desarrollo de
aplicaciones Web, las pginas contienen cdigo HTML y scripts dinmicos,
que son ejecutados por el servidor antes de entregar la pgina.
Una vez que se entrega una pgina, la conexin entre el browser y el servidor
Web se rompe, es decir que la lgica del negocio en el servidor solamente se
activa por la ejecucin de los scripts de las pginas solicitadas por el browser
(en el servidor, no en el cliente). Cuando el browser ejecuta un script en el
cliente, ste no tiene acceso directo a los recursos del servidor. Hay otros
componentes que no son scripts, como los applets (una aplicacin especial
que se ejecuta dentro de un navegador) o los componentes ActiveX. Los
scripts del cliente son por lo general cdigo JavaScript o VBSscript,
mezclados con cdigo HTML.
La coleccin de pginas son en una buena parte dinmicas (ASP, PHP, etc.), y
estn agrupadas lgicamente para dar un servicio al usuario. El acceso a las
pginas est agrupado tambin en el tiempo (sesin). Los componentes de una
aplicacin Web son:
1. Lgica de negocio.
Parte ms importante de la aplicacin.
Define los procesos que involucran a la aplicacin.
Conjunto de operaciones requeridas para proveer el servicio.
2. Administracin de los datos.
Manipulacin de BD y archivos.
3. Interfaz

pg. 5

Los usuarios acceden a travs de navegadores, mviles, PDAs, etc.


Funcionalidad accesible a travs del navegador.
Limitada y dirigida por la aplicacin.

Programacin web

Unidad I

Las aplicaciones web se modelan mediante lo que se conoce como modelo de


capas, Una capa representa un elemento que procesa o trata informacin. Los
tipos son:

Modelo de dos capas: La informacin atraviesa dos capas entre la


interfaz y la administracin de los datos.
Modelo de n-capas: La informacin atraviesa varias capas, el ms
habitual es el modelo de tres capas.

Modelo de dos Capas.


Gran parte de la aplicacin corre en el lado del cliente (fat client).
Las capas son:

Cliente (fat client): La lgica de negocio


est inmersa dentro de la aplicacin
que realiza el interfaz de usuario, en el
lado del cliente.
Servidor: Administra los datos.

Las limitaciones de este modelo son.

Es difcilmente escalable
Nmero de conexiones reducida
Alta carga de la red.
La flexibilidad es restringida
La funcionalidad es limitada.

Modelo de tres Capas.


Est diseada para superar las limitaciones de las arquitecturas ajustadas al
modelo de dos capas, introduce una capa intermedia (la capa de
proceso) Entre presentacin y los datos, los procesos pueden ser
manejados de forma separada a la interfaz de usuario o y a los datos, esta
capa intermedia centraliza la lgica de negocio, haciendo la administracin
ms sencil a, los datos se pueden integrar de mltiples fuentes, las
aplicaciones web actuales se ajustan a este modelo.
Las capas de este modelo son:
1. Capa de presentacin (parte en el cliente y parte en el servidor)
Recoge la informacin del usuario y la enva al servidor (cliente)
Manda informacin a la capa de proceso para su procesado
Recibe los resultados de la capa de proceso
Generan la presentacin
Visualizan la presentacin al usuario (cliente)

pg. 6

Programacin web

Unidad I

2. Capa de proceso (servidor web)


Recibe la entrada de datos de la capa de presentacin
Interacta con la capa de datos para realizar operaciones
Manda los resultados procesados a la
capa de presentacin
3. Capa de datos (servidor de datos)
Almacena los datos
Recupera datos
Mantiene los datos
Segura la integridad de los datos

3. tecnologas para el desarrollo de Aplicaciones Web


Hoy en da se cuenta con muchsimas herramientas para el desarrollo de
aplicaciones web tanto de IDE, como de lenguajes o manejadores de BD.
Tecnologas en la capa de presentacin
Java Server Faces (JSF)
La tecnologa Java Server Faces es un marco de desarrollo de los componentes
de la interfaz de usuario, vlido para todas aquellas aplicaciones web basadas
en la tecnologa Java.
Richfaces
RichFaces es un marco de cdigo abierto que aade a las aplicaciones
capacidad de Ajax en JSF, sin recurrir a Java Script. RichFaces aprovecha el
framework Java Server Faces, incluyendo su ciclo de vida, la validacin, los
medios de conversin y la gestin de los recursos estticos y dinmicos.
Ajax
AJAX, acrnimo de Asynchronous JavaScript And XML (JavaScript asncrono y
XML), es una tcnica de desarrollo web para crear aplicaciones interactivas o
RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es
decir, en el navegador de los usuarios mientras se mantiene la comunicacin
asncrona con el servidor en segundo plano. De esta forma es posible realizar
cambios sobre las pginas sin necesidad de recargarlas, mejorando la
pg. 7

Programacin web

Unidad I

interactividad, velocidad y usabilidad en las aplicaciones.


Lenguaje de Marcado de Hipertexto Extensible (XHTML)
Es una versin ms estricta y limpia de HTML, que nace con el objetivo de
remplazar a HTML ante su limitacin de uso con las cada vez ms abundantes
herramientas basadas en XML. XHTML extiende HTML 4.0 combinando la
sintaxis de HTML, diseado para mostrar datos, con la de XML, diseado para
describir los datos.
Extensible Markup Language (XML)
Es un lenguaje de etiquetas no predefinidas previamente, es decir, el
programador es el que las crea en cada caso. El XML ahorra tiempos de
desarrollo y proporciona ventajas, dotando a webs y a aplicaciones de una
forma realmente potente de guardar la informacin.
Java Persistence API (JPA)
El Java Persistence API fue desarrollado por el grupo de expertos de EJB 3.0,
aunque su uso no se limita a los componentes software EJB. Tambin puede
utilizarse directamente en aplicaciones web y aplicaciones clientes; incluso
fuera de la plataforma Java EE.
En su definicin, se han combinado ideas y conceptos de los principales
frameworks de persistencia como Hibernate, Toplink y JDO y de las versiones
anteriores de EJB. Todos estos cuentan actualmente con una implementacin
JPA.
Framework Hibernate
Hibernate es una capa de persistencia objeto/relacional y un generador de
sentencias SQL. Permite disear objetos persistentes que podrn incluir
polimorfismo, relaciones, colecciones, y un gran nmero de tipos de datos.
Hibernate ofrece tambin un lenguaje de consulta de datos llamado HQL
(Hibernate Query Language.
La seleccin de las herramientas y tecnologas para el desarrollo de un
software debe estar dada por el conocimiento que tenga el programador de las
mismas.
Java
es un lenguaje orientado a objetos desarrollado por Sun Microsystems. La
programacin en Java, permite el desarrollo de aplicaciones bajo el esquema
de Cliente - Servidor, como de aplicaciones distribuidas, lo que lo hace capaz
de conectar dos o ms computadoras u ordenadores, ejecutando tareas
simultneamente, y de esta forma logra distribuir el trabajo a realizar.
PHP

pg. 8

Programacin web

Unidad I

es un lenguaje de programacin de uso general de cdigo del lado del servidor


originalmente diseado para el desarrollo web de contenido dinmico. Fue uno
de los primeros lenguajes de programacin del lado del servidor que se podan
incorporar directamente en el documento HTML en lugar de llamar a un archivo
externo que procese los datos. El cdigo es interpretado por un servidor web
con un mdulo de procesador de PHP que genera la pgina Web resultante.
Tecnologas en la capa de negocios
Se clasifican en:
*Servidor de aplicaciones:
Usualmente se trata de un dispositivo de software que proporciona servicios de
aplicacin a las computadoras cliente.
*Herramientas:
Conjunto de programas informticos o utilidades que brindan la resolucin de
una determinada tarea.
Servidor de aplicaciones
JBoss
JBoss es un servidor de aplicaciones para Java. Es muy reconocido por ser de
los primeros servidores de aplicacin empresarial gratuito y open source. Al
estar basado en Java, puede ser utilizado en cualquier sistema operativo que lo
soporte, ofreciendo una plataforma de alto rendimiento para aplicaciones java,
aplicaciones Web y Portales.
Enterprise Java Beans (EJB)
Es una plataforma para construir aplicaciones de negocio portables, escalables,
y reutilizables utilizando el lenguaje de programacin java. Permite a los
desarrolladores enfocarse en la lgica del negocio sin tener que emplear
tiempo en la conformacin del cdigo de la infraestructura.

Adobre Dreamweaver
Es una aplicacin en forma de estudio que est destinada a la construccin,
diseo y edicin de sitios, vdeos y aplicaciones Web basados en estndares.
Creado inicialmente por Macromedia (actualmente producido por Adobe
Systems) es uno de los programas ms utilizados en el sector del diseo y la
programacin web, por sus funcionalidades, su integracin con otras
herramientas como Adobe Flash y, recientemente, por su soporte de los
estndares del World Wide Web Consortium.
Eclipse Ganymede
Es un entorno integrado (IDE) para desarrollo de aplicaciones con java. Est
pg. 9

Programacin web

Unidad I

soportado por IBM, es un proyecto open source, multiplataforma para


desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido". Se
est convirtiendo en el estndar de facto de los entornos de desarrollo para
Java.
PostgreSQL Server 8.3.
Es un potente gestor de cdigo abierto, ofrece servicios de control de
concurrencia multi-versin, soportando casi toda la sintaxis SQL (incluyendo
subconsultas, transacciones, tipos y funciones definidas por el usuario),
contando tambin con un amplio conjunto de enlaces con lenguajes de
programacin (incluyendo C, C++, Java, Perl y Python). Es extensible, brinda
gran estabilidad y confiabilidad y es multiplataforma.

4. Planificacin de aplicaciones web


A la hora de crear una aplicacin web y si la aplicacin se construye con fines
comerciales es imprescindible que seamos capaces de seguir los pasos de cada
usuario y tambin suele ser necesario controlar que tipo de acciones puede
realizar un usuario concreto.
Nos podemos encargar utilizando mecanismos de control de sesiones de
usuario.
Aunque la seguridad es lo ms odiado por los programadores a la hora de
crear unas aplicaciones en un entorno web resulta esencial porque cualquiera
con una conexin puede acceder a nuestras aplicaciones
Planificar los mecanismos necesarios para evitar acceso no autorizado a
nuestras aplicaciones y servicios web algo que todo programador debera saber
hacer correctamente.

Planificar una aplicacin web implica pensar y definir


muchas cuestiones de importancia:
1. Planificar el futuro
Puede sonar un poco duro que nos tengamos planear
el futuro de algo que an no existe pero es as, que
pasa si en un futuro tuviramos problemas de escalabilidad, y s
tuviramos que migrar las bases de datos de MySql a Oracle, de una buena
planificacin depende la dificultad en un futuro de realizar cambios en la
plataforma que sostiene nuestra aplicacin.

pg. 10

Programacin web

Unidad I

2. Documentacin
Documenta todo lo que puedas tu aplicacin en especial aquellas partes de la
misma que hayan requerido un mayor tiempo de desarrollo, en un futuro
cercano te librar de ms de un quebradero de cabeza.
3. No empieces por los pequeos detalles
A menudo es ms sencillo plantearse el desarrollo de pequeos servicios cmo
pueden ser los RSS o una galera de imgenes, pero es fundamental comenzar
por lo que vendr a ser la base de nuestra aplicacin, de este modo podremos
ir completando nuestra aplicacin en un orden lgico, primero los cimientos.
4. Diseo de la interfaz
Esta entrada puede que te ayude en esta parte, es importante conseguir un
buen diseo para nuestra interfaz, es importante conseguir un interfaz que se
atractivo y til para la gran mayora de los usuarios, lo ms importante es
llegar a conectar con el usuario y la mejor manera es ofrecerle la mayor
cantidad de informacin posible para que se llegue a sentir parte del proyecto
pero todo esto muchas veces no lo llegamos a conseguir por una mala eleccin
en la combinacin de los colores que se integran en nuestra interfaz.
5. Evita construirte libreras o frameworks innecesarios
Muchas personas siempre sostienen que es mejor que cada desarrollador
utilic sus propias libreras, pero la realidad es que en muchas ocasiones esto
supone una gran prdida de tiempo, es mejor buscar una librera o frameworks
que se parezca lo ms posible a lo deseado que desarrollarlo por ti mismo.
6. Ten un plan de proyecto
Asegrate de que cada desarrollador que trabaje en el proyecto sepa qu es lo
que debe de hacer y cundo tiene que hacerlo, teniendo todo esto redactado
en un documento te ayudar a identificar problemas.
7. Elige el lenguaje adecuado
Ya sabes que hay numerosas discusiones sobre Cul es el mejor lenguaje de
programacin?, la respuesta a menudo es depende de para que quieras
utilizarlo, por eso asegrate de escoger el lenguaje adecuado.
8. Evita las distracciones
Optimiza tu tiempo, cuando ests trabajando que nada te distraiga, ni llamadas
telefnicas, ni clientes de mensajeras instantneas, proponte un buen nmero
de horas al da de trabajo aislado dedicado al proyecto.
pg. 11

Programacin web

Unidad I

9. Sigue un buen control de calidad


Muchas veces nos equivocamos al planificar los tiempos de proyecto y esto
lleva a menudo a los desarrolladores a tener que escribir cdigo sucio, esta
es una buena opcin si lo que quieres es una demo de la aplicacin
funcionando pero esa actitud te traer problemas en el futuro.
10. Plantate los pasos a seguir despus del desarrollo
Ten en cuenta que est fase de desarrollo algn da deber acabar, estudia con
qu frecuencia se deber actualizar y que se necesita para que este funcione.

Conclusin

Hoy en da la programacin web es dispensable ya que la mayor parte de las personas


navegan en la internet y acceden a pginas web diariamente, y gracias a la programacin
web es posible tener buen contenido en las pginas y ya no solo ofrecen textos o lecturas
como en sus inicios, si no ya va ms haya por que ofrecen al usuario una alta gama de
informacin, videos, msica, monitoreo en tiempo real, etc., creo que dentro de unos aos
ms sern ms sofisticadas las pginas web por la necesidades de crear mejores pginas
y nuevas metodologas de programar y administrar la informacin en la paginas web

Bibliografa
Fernando Berzal. (1999). Desarrollo Profesional de Aplicaciones
Web con ASP.NET. 2003, de Microsoft Corporation Sitio web:
https://books.google.com.mx/books?
id=J1d_9l6zlAIC&pg=PA60&lpg=PA60&dq=Desarrollo+Profesion
al+de+Aplicaciones+Web+con+ASP.NET&source=bl&ots=GqR7j
KXo8H&sig=KfgITb35mb94Ric887o8d4G4Hw&hl=es&sa=X&ei=EddcVdmhOImQsAXxn4HYCg&ved=0CDo

pg. 12

Programacin web

Unidad I

Q6AEwBA#v=onepage&q=Desarrollo%20Profesional%20de
%20Aplicaciones%20Web%20con%20ASP.NET&f=false
http://www.um.es/docencia/barzana/DIVULGACION/INFORMATICA/Histo
ria-desarrollo-aplicaciones-web.html
https://prezi.com/ohanpxoyzgyx/13-tecnologias-para-el-desarrollo-de-aplicacionesweb/
http://es.slideshare.net/MeliVidal/tecnologia-web-5778008?related=1

pg. 13

Programacin web

Unidad I

Вам также может понравиться