linea del tiempo ingeniería web

45
Linea del tiempo Ingeniería Web https://prezi.com/wwvvwugvq1-q/linea-del-tiempo-ingenieria-de- software /

Upload: others

Post on 14-Jul-2022

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linea del tiempo Ingeniería Web

Linea del tiempo Ingeniería Web

https://prezi.com/wwvvwugvq1-q/linea-del-tiempo-ingenieria-de-software/

Page 2: Linea del tiempo Ingeniería Web
Page 3: Linea del tiempo Ingeniería Web

Ingeniería web vs ingeniería de software

INGENIERÍA DE SOFTWARE INGENIERÍA WEB

Suma total de programas de computadora, procedimientos, reglas para dar enfoque al mantenimiento y retiro del software.

Utilización de enfoque científicos de ingeniería y gestión concentradas en el empleo y mantenimientos de sistemas y aplicaciones basados en la web.

Existen diferentes metodologías para el desarrollo y ejecución de la ingeniería de software.

Involucra metodologías de la ingeniería de software y algunas adicionales.

Se crean sistemas que se alojan por completo en estaciones de trabajo del usuario final.

Las aplicaciones se alojan en servidores y se ejecutan allí mismo pero sus funciones son visibles al usuario final.

Trabaja con procesos más dinámicos consecuencia del campo en el que se está trabajando.

Se apoya en herramientas CASE para mayor optimización

Utiliza herramientas CASE pero con funcionalidades adicionales por el dinamismo de los procesos

Page 4: Linea del tiempo Ingeniería Web

Ingenieria de Software se define como “un conjunto de etapasparcialmente ordenadas con la intención de lograr un objetivo, eneste caso, la obtención de un producto de software decalidad” [Jacobson 1998].

Ingeniera Web es el proceso utilizado para crear, implantar y mantener aplicaciones y sistemas Web de alta calidad

Page 5: Linea del tiempo Ingeniería Web

¿Qué es ingeniería de software?

• La ingeniería de software es una disciplina que estudia los procesos, métodos y herramientas involucradas hacia un software de calidad.

• Este software de calidad tiene que cumplir las necesidades del usuario con el fin que fue realizado, tiende hacer una herramienta confiable, esto quiere decir que no debe de causar daños físicos y económicos a quien lo provee. [2]

• El contenido del software debe ser:• Fácil de usar.

• Modificable.

• Transferible de un entorno a otro.

• Consistente y seguro.

• Hay que tomar en cuenta que la calidad del software es aquella que depende del proceso con el cual fue realizado. [3]

Page 6: Linea del tiempo Ingeniería Web

Ingeniería web vs ingeniería de software• La ingeniería web, a diferencia de la ingeniería de software cuenta con

determinadas características ya es multidisciplinar y posee contribucionesde diferente arquitectura de la información, ingeniería de requisitos,diseño de interfaces para los usuarios, usabilidad, diseño gráfico, diseño yanálisis de sistemas.

• La ingeniería web se fue desarrollando a una velocidad inexplicable con unimpacto para la sociedad aceptable y favorable, ya que el manejo que se leda a la información en las diferentes áreas que se presentan ha tenidocomo resultado que los humanos realicen sus actividades por medio deInternet.

• La ingeniería Web contiene nuevos enfoques de disciplina, metodologías,aplicación de herramientas, técnicas, guía y patrones que tienen comoaspectos científicos de este medio para cubrir las necesidades únicas de lasaplicaciones Web. [1]

Page 7: Linea del tiempo Ingeniería Web
Page 8: Linea del tiempo Ingeniería Web

¿QUÉ SON LOS SERVICIOS WEB?

A los servicios web se le entiende por un conjunto de aplicaciones o detecnologías incluyendo XML, SOAP, WSDL, UDDI con capacidad parainter operar en la Web. Estas aplicaciones o tecnologías intercambiandatos entre sí con el objetivo de ofrecer unos servicios específicos.

Los proveedores del servicio son los que “exponen los servicios”ofreciendo sus servicios como procedimientos remotos, mientras quelos usuarios “consumidores del servicio” solicitan un servicio llamandoa estos procedimientos a través de la Web.

Page 9: Linea del tiempo Ingeniería Web

Servicios web (web services) son un nuevo modelo de desarrollo de aplicaciones distribuidas basadas en Internet

• Un servicio web es un componente al que se puede acceder mediante protocolos Web estándar:

– Los mensajes para invocar el servicio se codifican en XML

– Los mensajes se pueden transportar utilizando HTTP o cualquier otro protocolo de transporte estándar

• Estándar de W3C

– XML

– SOAP

– WSDL

Page 10: Linea del tiempo Ingeniería Web

Algunas características:

• Permiten que las aplicaciones compartan información de forma remota

• Permiten integrar sistemas heterogéneos de manera barata y fiable

• Son unidades de código discretas, cada una de las cuales se encarga de un conjunto limitado de tareas

• Están basados en XML, el lenguaje estándar de intercambio de información en Internet

• Pueden utilizarse en cualquier plataforma o sistema operativo, independientemente del lenguaje de programación utilizado

Page 11: Linea del tiempo Ingeniería Web

• ¿Es algo totalmente nuevo?

• Tecnologías integración:

• RPC

• CORBA

• DCE

• RMI

• …

Page 12: Linea del tiempo Ingeniería Web
Page 13: Linea del tiempo Ingeniería Web
Page 14: Linea del tiempo Ingeniería Web
Page 15: Linea del tiempo Ingeniería Web
Page 16: Linea del tiempo Ingeniería Web
Page 17: Linea del tiempo Ingeniería Web
Page 18: Linea del tiempo Ingeniería Web
Page 19: Linea del tiempo Ingeniería Web
Page 20: Linea del tiempo Ingeniería Web
Page 21: Linea del tiempo Ingeniería Web
Page 22: Linea del tiempo Ingeniería Web
Page 23: Linea del tiempo Ingeniería Web

Posible ejemplo:

• Un servicio de reserva de paquetes de viaje

• Un servicio de agenda compartido

• Consulta de cotizaciones de bolsa, cambio de moneda, datos meteorológicos, etc.

Page 24: Linea del tiempo Ingeniería Web
Page 25: Linea del tiempo Ingeniería Web
Page 26: Linea del tiempo Ingeniería Web

2. Arquitectura Orientada a Servicios

Page 27: Linea del tiempo Ingeniería Web

2.1. Definición y orígenes.

2.1. Definición y orígenes.

2.2.Punto de vista de negocio.

2.3.Punto de vista tecnológico

2.4.Administración de los procesos de negocio.

2.5.Bus de servicios empresariales.

2.6. Integración de aplicaciones.

2.7.Aplicaciones B2B (Business to Business)

2.8. Composición de servicios Web.

2.9.Estrategias de adopción de SOA

Page 28: Linea del tiempo Ingeniería Web

Existen varios métodos para la separación de la presentación y la lógica de negocio.

• Cliente-servidor: el cliente interactúa con el usuario y el servidor procesa lainformación. Es uno de los métodos mas antiguos, y que ha dado lugar a nuevasarquitecturas.

• Arquitecturas multicapa: consiste en dividir la aplicación en varios niveles o capas que realizan tareas concretas. La información fluye entre la

• Arquitectura Modelo – Vista – Controlador (MVC): consiste en separar la aplicación en tres partes, el modelo (datos y reglas de negocio), la vista (representación de los datos) y el controlador (proceso de los datos de entrada). La diferencia fundamental con la arquitectura de tres capas reside en la forma en que se comunican los tres elementos capas contiguas en una organización vertical.

Los mas importantes son:

2.2.Punto de vista de negocio

Page 29: Linea del tiempo Ingeniería Web

Estándares usados en arquitecturas SOA

La arquitectura SOA se basa en estándares. Al ser una arquitectura distribuida y heterogénea necesita estándares para la integración de todos sus componentes. A continuación se describen los mas importantes.

HTML

• El lenguaje HTML ya se ha visto anteriormente. Es un lenguaje de marcas que usan los clientes web para presentar la información.

XML

• XML es un lenguaje de marcas pensado fundamentalmente para el intercambio de información.

SOA hace un uso intensivo de XML para describir los servicios y los contenedores de los datos que usar y ofrece dicho servicio, así como en el paso de mensajes entre componentes.

En Java existen varias API específicas para el procesado de XML. Una de las mas completas u flexibles es JAXP. Permite elegir entre varios parsers y es modular y ampliable mediante plugins.

Se puede elegir entre varias APIs: SAX, DOM y StAX entre otras.

Page 30: Linea del tiempo Ingeniería Web

JSON

Es un formato de texto ligero para el intercambio de datos basado enun subconjunto del lenguaje JavaScript. Es entendible directamente porhumanos y fácilmente interpretable y generable por máquinas, lo cuallo posiciona como un sustituto de XML en algunos casos. Su estructuralo hace especialmente fácil de interpretar para programadoresfamiliarizados con la sintaxis de C, que comparten muchos otroprogramas como C++, Perl, Python o Java.

SOAP

SOAP (Simple Object Access Protocol) es un protocolo de intercambio de información en XML en red que se usa principalmente en servicios web usando HTTP como transporte.

Deriva del protocolo XML-RPC, y actualmente se encuentra auspiciado por el W3C. La versión actual es la 1.2.

Page 31: Linea del tiempo Ingeniería Web

WSDL

WSDL (Web Services Description Language) es una información escritaen XML que proporciona información acerca de un servicio web,permitiendo conocer la interfaz pública del servicio web. La versiónactual es la 2.0.

REST

REST (REpresentational State Transfer) es un modelo arquitectura desoftware distribuida que se aplica a servicios web y mas simple queSOAP y WSDL. Es adecuado para escenarios básicos donde laintegración sea sencilla, en contraposición de los escenarios “grandes”.A las implementaciones que siguen los principios de REST se lasdenomina “RESTful”.

Page 32: Linea del tiempo Ingeniería Web

UDDI

UDDI (Universal Description, Discovery and Integration) es un serviciode registro basado en XML que ayuda a la localización de servicios web.El servicio recibe mensajes SOAP y devuelve información sobre el WSDLdel servicio.

En 2006 Microsoft, IBM y SAP dejaron de dar soporte al registro enInternet, y actualmente se usa de forma residual dentro de algunasempresas.

Page 33: Linea del tiempo Ingeniería Web

Una aplicación Web es proporcionada por un servidor Web y utilizada por usuarios que se Conectan desde cualquier punto vía clientes Web (browsers o navegadores). La arquitectura de un Sitio Web tiene tres componentes principales:

1. Un servidor Web

2. Una conexión de red

3. Uno o más clientes

El servidor Web distribuye páginas de información formateada a los clientes que lassolicitan. Los requerimientos son hechos a través de una conexión de red, y para ello seusa el protocolo HTTP. Una vez que se solicita esta petición mediante el protocolo HTTPy la recibe el servidor Web, éste localiza la página Web en su sistema de archivos y laenvía de vuelta al navegador que la solicitó.

Arquitecturas para el desarrollo de los servicios Web

Page 34: Linea del tiempo Ingeniería Web
Page 35: Linea del tiempo Ingeniería Web

Las aplicaciones Web están basadas en el modelo Cliente/Servidor quegestionan servidores web, y que utilizan como interfaz páginas web.

Las páginas Web son el componente principal de una aplicación o sitio Web.Los browsers piden páginas (almacenadas o creadas dinámicamente)con información a los servidores Web. En algunos ambientes de desarrollode aplicaciones Web, las páginas contienen código HTML y scriptsdinámicos, que son ejecutados por el servidor antes de entregar la página.

Una vez que se entrega una página, la conexión entre el browser y el servidorWeb se rompe, es decir que la lógica del negocio en el servidor solamente seactiva por la ejecución de los scripts de las páginas solicitadas por el browser(en el servidor, no en el cliente). Cuando el browser ejecuta un script en elcliente, éste no tiene acceso directo a los recursos delservidor. Hay otros componentes que no son scripts, como los applets (unaaplicación especial que se ejecuta dentro de un navegador) olos componentes ActiveX. Los scripts del cliente son por lo general códigoJavaScript o VBSscript, mezclados con código HTML.

Page 36: Linea del tiempo Ingeniería Web

La colección de páginas son en una buena parte dinámicas (ASP, PHP, etc.), y están agrupadas lógicamente para dar un servicio al usuario. El acceso a las páginas está agrupado también en el tiempo (sesión). Los componentes de una aplicación Web son:

1. Lógica de negocio.

• Parte más importante de la aplicación.

• Define los procesos que involucran a la aplicación.

• Conjunto de operaciones requeridas para proveer el servicio.

2. Administración de los datos.

• Manipulación de BD y archivos.

3. Interfaz

• Los usuarios acceden a través de navegadores, móviles, PDAs, etc.

• Funcionalidad accesible a través del navegador.

• Limitada y dirigida por la aplicación.

Las aplicaciones web se modelan mediante lo que se conoce como modelo de capas, Una capa representa un elemento que procesa o trata información. Los tipos son:

• Modelo de dos capas: La información atraviesa dos capas entre la interfaz y la administración de los datos.

• Modelo de n-capas: La información atraviesa varias capas, el más habitual es el modelo de tres capas.

Page 37: Linea del tiempo Ingeniería Web

Modelo de dos Capas.

Gran parte de la aplicación corre en el lado del cliente (fat client).

Las capas son:

• Cliente (fat client): La lógica de negocio está inmersa dentro de la aplicación que realiza el interfaz de usuario, en el lado del cliente.

• Servidor: Administra los datos.

Las limitaciones de este modelo son.

• Es difícilmente escalable

• Número de conexiones reducida

• Alta carga de la red.

• La flexibilidad es restringida

• La funcionalidad es limitada.

Page 38: Linea del tiempo Ingeniería Web
Page 39: Linea del tiempo Ingeniería Web

Modelo de tres Capas.

Esta diseñada para superar las limitaciones de las arquitecturas ajustadas al modelo de dos capas, introduce una capa intermedia (la capa de proceso) Entre presentación y los datos, los procesos pueden ser manejados de forma separada a la interfaz de usuari o y a los datos, esta capa intermedia centraliza la lógica de negocio, haciendo la administración más sencil a, los datos se pueden integrar de múltiples fuentes, las aplicaciones web actuales se ajustan a este modelo.

Las capas de este modelo son:

1. Capa de presentación (parte en el cliente y parte en el servidor)

• Recoge la información del usuario y la envía al servidor (cliente)

• Manda información a la capa de proceso para su procesado

• Recibe los resultados de la capa de proceso

• Generan la presentación

• Visualizan la presentación al usuario (cliente)

Page 40: Linea del tiempo Ingeniería Web

2. Capa de proceso (servidor web)

• Recibe la entrada de datos de la capa de presentación

• Interactúa con la capa de datos para realizar operaciones

• Manda los resultados procesados a la capa de presentación

3. Capa de datos (servidor de datos)

• Almacena los datos

• Recupera datos

• Mantiene los datos

• segura la integridad de los datos

Page 41: Linea del tiempo Ingeniería Web
Page 42: Linea del tiempo Ingeniería Web

Arquitecturas para el desarrollo de los servicios Web

Las aplicaciones en tres niveles queutilizan los XML Web Services sonadecuadas tanto para aplicacionesbasadas en Web como paraaplicaciones simples. Estaarquitectura es útil cuando senecesita la capacidad de unaaplicación de escritorio pero losusuarios se conectan desde muchossitios distintos a través de unainterfaz http.

Page 43: Linea del tiempo Ingeniería Web

El SQL reside en el interior de los XML Web Services.

Los conjuntos de datos se generan en el servidor y se envían alcliente como una secuencia XML, donde se pueden volver a convertiren conjunto de datos.

El conjunto de datos devueltos por el XML Web Services se puedeenlazarse directamente a los controles de los formularios.

Los conjuntos de datos devueltos por los XML Web Services sepueden utilizar para cargar datos manualmente en los distintoscontroles de los formularios.

Todas las reglas de empresa están dentro del código de losformularios.

Page 44: Linea del tiempo Ingeniería Web
Page 45: Linea del tiempo Ingeniería Web

Bibliografía

• http://cs.uns.edu.ar/~pmd/sosd/downloads/Slides/10-WebServices.pdf

• https://desarrolloeinnovacionwebpe.wordpress.com/2015/05/12/ingenieria-web-vs-ingenieria-de-software/#:~:text=La%20ingenier%C3%ADa%20web%2C%20a%20diferencia,dise%C3%B1o%20y%20an%C3%A1lisis%20de%20sistemas.

• https://programacionwebisc.wordpress.com/2-1-arquitectura-de-las-aplicaciones-web/

• https://programacionwebisc.wordpress.com/

• https://www.fib.upc.edu/es/estudios/grados/grado-en-ingenieria-informatica/plan-de-estudios/asignaturas/ASW