Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

1.3 Tecnologías para el desarrollo de aplicaciones web

No description
by

jose montoya guzman

on 26 August 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of 1.3 Tecnologías para el desarrollo de aplicaciones web

Introducción
La programación para muchos es considerada un arte, pero en sus inicios se tornaba un poco difícil para la mayoría de las personas, pero con el tiempo se han ido descubriendo y desarrollando formas, guías generales y estilos de programación, con el objetivo de resolver aquellos problemas.

A este conjunto de patrones y abstracciones presentes en la programación de hoy, que guían la construcción del software se le conoce como
Arquitectura de Software
.

Arquitectura cliente - servidor
La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de información en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, servicios o recursos.

Se denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor al proceso que responde a las solicitudes.

En este modelo las aplicaciones se dividen de forma que el servidor contiene la parte que debe ser compartida por varios usuarios, y en el cliente permanece solo lo particular de cada usuario.


Caracteristicas del cliente
*Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación.

*Espera y recibe las respuestas del servidor.

*Por lo general, puede conectarse a varios servidores a la vez.

*Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.

Caracteristicas del servidor


*Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación.

*Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.


Arquitectura de 3 capas
La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios niveles y, en caso de que sobrevenga algún cambio, solo se ataca al nivel requerido sin tener que revisar entre código mezclado. Además, permite distribuir el trabajo de creación de una aplicación por niveles; de este modo, cada grupo de trabajo está totalmente abstraído del resto de los niveles.

Capa de presentación:
es la que ve el usuario, presenta el sistema al usuario.

Capa de negocio:
esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos para almacenar o recuperar datos de él
.

Capa de datos:
es donde residen los datos y es la encargada de acceder a los mismos. Está formada por uno o más gestores de bases de datos que almecenan la información.
Tecnologias en la capa de presentación
Java Server Faces (JSF)

La tecnología Java Server Faces es un marco de desarrollo de los componentes de la interfaz de usuario, válido para todas aquellas aplicaciones web basadas en la tecnología Java.

Richfaces

RichFaces es un marco de código abierto que añade 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 validación, los medios de conversión y la gestión de los recursos estáticos y dinámicos.

Ajax

AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica 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 comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y usabilidad en las aplicaciones.
Lenguaje de Marcado de Hipertexto Extensible (XHTML)

Es una versión más estricta y limpia de HTML, que nace con el objetivo de remplazar a HTML ante su limitación de uso con las cada vez más abundantes herramientas basadas en XML. XHTML extiende HTML 4.0 combinando la sintaxis de HTML, diseñado para mostrar datos, con la de XML, diseñado 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 información.

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. También puede utilizarse directamente en aplicaciones web y aplicaciones clientes; incluso fuera de la plataforma Java EE.

En su definición, 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 implementación JPA.

Framework Hibernate

Hibernate es una capa de persistencia objeto/relacional y un generador de sentencias SQL. Permite diseñar objetos persistentes que podrán incluir polimorfismo, relaciones, colecciones, y un gran número de tipos de datos. Hibernate ofrece también un lenguaje de consulta de datos llamado HQL (Hibernate Query Language.
La selección de las herramientas y tecnologías para el desarrollo de un software debe estar dada por el conocimiento que tenga el programador de las mismas.

Hoy en dia se cuenta con muchisimas herramientas para el desarrollo de aplicaciones web tanto de IDE, como de lenguajes o manejadores de BD.
1.3 Tecnologías para el desarrollo de aplicaciones web
Profesora: Miquelina Sánchez Pulido
Alumno: José Montoya Guzmán

Lenguajes de programación
Java
es un lenguaje orientado a objetos desarrollado por Sun Microsystems. La programación 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 más computadoras u ordenadores, ejecutando tareas simultáneamente, y de esta forma logra distribuir el trabajo a realizar.

PHP
es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante.
Tecnologias en la capa de negocios
Se clasifican en:

*Servidor de aplicaciones:

Usualmente se trata de un dispositivo de software que proporciona servicios de aplicación a las computadoras cliente.

*Herramientas:
Conjunto de programas informaticos o utilidades que brindan la resolución 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 aplicación 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 programación java. Permite a los desarrolladores enfocarse en la lógica del negocio sin tener que emplear tiempo en la conformación del código de la infraestructura.


Adobre Dreamweaver

Es una aplicación en forma de estudio que está destinada a la construcción, diseño y edición de sitios, vídeos y aplicaciones Web basados en estándares. Creado inicialmente por Macromedia (actualmente producido por Adobe Systems) es uno de los programas más utilizados en el sector del diseño y la programación web, por sus funcionalidades, su integración con otras herramientas como Adobe Flash y, recientemente, por su soporte de los estándares del World Wide Web Consortium.

Eclipse Ganymede

Es un entorno integrado (IDE) para desarrollo de aplicaciones con java. Está 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 estándar de facto de los entornos de desarrollo para Java.

PostgreSQL Server 8.3.

Es un potente gestor de código abierto, ofrece servicios de control de concurrencia multi-versión, soportando casi toda la sintaxis SQL (incluyendo subconsultas, transacciones, tipos y funciones definidas por el usuario), contando también con un amplio conjunto de enlaces con lenguajes de programación (incluyendo C, C++, Java, Perl y Python). Es extensible, brinda gran estabilidad y confiabilidad y es multiplataforma.
Full transcript