ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Desarrollo de software con servicios


Enviado por   •  17 de Abril de 2018  •  Ensayos  •  3.103 Palabras (13 Páginas)  •  100 Visitas

Página 1 de 13

2Desarrollo de software con servicios

El desarrollo de software que utiliza servicios se basa en la idea de que usted compone y configura servicios para crear nuevos servicios compuestos. Estos pueden integrarse con una interfaz de usuario implementada en un navegador para crear una aplicación web, o pueden usarse como componentes en alguna otra composición de servicio. Los servicios involucrados en la composición pueden estar especialmente desarrollados para la aplicación, pueden ser servicios comerciales desarrollados dentro de una compañía o pueden ser servicios de un proveedor externo.

Muchas empresas ahora están convirtiendo sus aplicaciones empresariales en sistemas orientados al servicio, donde el componente básico de la aplicación es un servicio en lugar de un componente. Esto abre la posibilidad de una reutilización más generalizada dentro de la empresa. La siguiente etapa será el desarrollo de aplicaciones interorganizacionales entre proveedores de confianza, que utilizarán los servicios de los demás. La realización final de la visión a largo plazo de las SOA se basará en el desarrollo de un "mercado de servicios", donde los servicios se compran a proveedores externos.

La composición del servicio se puede usar para integrar procesos comerciales separados para proporcionar un proceso integrado que ofrece una funcionalidad más amplia. Supongamos que una aerolínea desea proporcionar un paquete completo de vacaciones para los viajeros. Además de reservar sus vuelos, los viajeros también pueden reservar hoteles en su ubicación preferida, organizar el alquiler de automóviles o reservar un taxi desde el aeropuerto, buscar una guía de viaje y hacer reservas para visitar las atracciones locales. Para crear esta aplicación, la aerolínea compone su propio servicio de reserva con servicios ofrecidos por una agencia de reserva de hotel, alquiler de automóviles y compañías de taxis, y servicios de reserva ofrecidos por los propietarios de las atracciones locales. El resultado final es un servicio único que integra los servicios de diferentes proveedores.

Puede pensar en este proceso como una secuencia de pasos separados, como se muestra en la figura 19.12. La información se pasa de un paso a otro, por ejemplo, la empresa de alquiler de vehículos recibe información sobre la hora prevista de llegada del vuelo. La secuencia de pasos se denomina flujo de trabajo: un conjunto de actividades ordenadas en el tiempo, donde cada actividad lleva a cabo una parte del trabajo. Un flujo de trabajo es un modelo de negocio

[pic 1]

proceso (es decir, establece los pasos necesarios para alcanzar una meta particular que es importante para una empresa). En este caso, el proceso comercial es el servicio de reserva de vacaciones ofrecido por la aerolínea.

El flujo de trabajo es una idea simple y el escenario anterior de reservar unas vacaciones parece ser sencillo. En la práctica, la composición del servicio es mucho más compleja de lo que implica este modelo simple. Por ejemplo, debe considerar la posibilidad de falla del servicio e incorporar mecanismos para manejar estas fallas. También debe tener en cuenta las demandas excepcionales realizadas por los usuarios de la aplicación. Por ejemplo, supongamos que un viajero estaba discapacitado y necesitaba una silla de ruedas para alquilarla y llevarla al aeropuerto. Esto requeriría servicios adicionales para ser implementados y compuestos, y pasos adicionales para ser agregados al flujo de trabajo.

Debe ser capaz de hacer frente a las situaciones en las que se debe cambiar el flujo de trabajo debido a que la ejecución normal de uno de los servicios generalmente resulta en una incompatibilidad con alguna otra ejecución del servicio. Por ejemplo, supongamos que un vuelo está reservado para partir el 1 de junio y regresar el 7 de junio. El flujo de trabajo pasa luego a la etapa de reserva de hotel. Sin embargo, el complejo está organizando una gran convención hasta el 2 de junio, por lo que no hay habitaciones de hotel disponibles. El servicio de reserva de hotel informa esta falta de disponibilidad. Esto no es un fracaso; la falta de disponibilidad es una situación común. Usted, por lo tanto, debe 'deshacer' la reserva del vuelo y pasar la información sobre la falta de disponibilidad al usuario. Él o ella debe decidir si cambian sus fechas o su lugar de vacaciones. En la terminología del flujo de trabajo, esto se llama 'acción de compensación'. Las acciones de compensación se utilizan para deshacer acciones que ya se han completado pero que deben modificarse como resultado de las actividades de flujo de trabajo posteriores.

El proceso de diseño de nuevos servicios mediante la reutilización de servicios existentes es esencialmente un proceso de diseño de software con reutilización (Figura 19.13). Diseñar con reutilización implica inevitablemente compromisos de requisitos. Los requisitos "ideales" para el sistema deben modificarse para reflejar los servicios que están realmente disponibles, cuyos costos están dentro del presupuesto y cuya calidad de servicio es aceptable.

En la figura 19.13, he mostrado seis etapas clave en el proceso de construcción del servicio por composición:

  1. Formule el flujo de trabajo del esquema En esta etapa inicial del diseño del servicio, use los requisitos para el servicio compuesto como base para crear un diseño de servicio "ideal". Debe crear un diseño bastante abstracto en esta etapa con la intención de agregar detalles una vez que sepa más sobre los servicios disponibles.
  2. Servicios de descubrimiento Durante esta etapa del proceso, busca registros de servicio o catálogos para descubrir qué servicios existen, quién brinda estos servicios y los detalles de la prestación del servicio.
  3. Seleccione servicios posibles A partir del conjunto de posibles candidatos de servicio que ha descubierto, luego selecciona posibles servicios que pueden implementar actividades de flujo de trabajo. Sus criterios de selección obviamente incluirán la funcionalidad de los servicios ofrecidos. También pueden incluir el costo de los servicios y la calidad del servicio (receptividad, disponibilidad, etc.) que se ofrecen. Puede decidir elegir una cantidad de servicios funcionalmente equivalentes, que podrían vincularse a una actividad de flujo de trabajo según los detalles del costo y la calidad del servicio.
  4. Refine el flujo de trabajo Sobre la base de la información sobre los servicios que ha seleccionado, luego refine el flujo de trabajo. Esto implica agregar detalles a la descripción abstracta y quizás agregar o eliminar actividades de flujo de trabajo. Luego puede repetir las etapas de descubrimiento y selección del servicio. Una vez que se haya elegido un conjunto estable de servicios y se haya establecido el diseño final del flujo de trabajo, pasará a la siguiente etapa del proceso.
  5. Crear un programa de flujo de trabajo Durante esta etapa, el diseño del flujo de trabajo abstracto se transforma en un programa ejecutable y se define la interfaz del servicio. Puede utilizar un lenguaje de programación convencional, como Java o C #, para la implementación de servicios o un lenguaje de flujo de trabajo, como WS-BPEL. Como mencioné en la sección anterior, la especificación de la interfaz de servicio debe escribirse en WSDL. Esta etapa también puede implicar la creación de interfaces de usuario basadas en la web para permitir el acceso al nuevo servicio desde un navegador web.
  6. Prueba de servicio o aplicación completa El proceso de prueba del servicio compuesto completo es más complejo que la prueba de componentes en situaciones donde se utilizan servicios externos. Discuto problemas de prueba en la Sección 19.3.2.

[pic 2]

En el resto de este capítulo, me concentro en el diseño y las pruebas del flujo de trabajo. En la práctica, el descubrimiento de servicios no parece ser un problema importante. Todavía es el caso de que la mayor parte de la reutilización del servicio se realiza dentro de las organizaciones, donde los servicios se pueden descubrir utilizando registros internos y comunicaciones informales entre ingenieros de software. Los motores de búsqueda estándar pueden usarse para descubrir servicios disponibles públicamente.

...

Descargar como (para miembros actualizados)  txt (20.2 Kb)   pdf (171.7 Kb)   docx (75.3 Kb)  
Leer 12 páginas más »
Disponible sólo en Clubensayos.com