Prueba de Aceptación de Tecnología

Actualmente las estudiantes investigadoras Jhoana Chacón y Alejandra Cuervo nos encontramos realizando un proyecto de investigación en la Universidad Piloto de Colombia, dicha investigación busca brindar un recurso a los arquitectos y /o ingenieros de software, que les permita contar con un modelo de toma de decisiones, facilitando la elección de los patrones de diseño en una arquitectura orientada a servicios, por esta razón se diseñó la presente wiki que relaciona los problemas más comunes que se presentan en la etapa de diseño SOA y los respectivos patrones que pueden solucionarlos.

Para validar la efectividad y utilidad de la propuesta, hemos diseñado una prueba que se basa en un caso de estudio real de la compañía eBay, para describir la arquitectura de la plataforma, enunciando varios requerimientos de diseño planteados, de tal forma que usted pueda interactuar con la wiki en la búsqueda de la información necesaria acerca de los problemas y patrones de diseño.

De antemano agradecemos su participación, para nuestra investigación es muy importante contar con su criterio, experiencia y opinión. La prueba está diseñada para ser resuelta en una hora aproximadamente. Recuerde que la prueba está dividida en 2 encuestas que deberá diligenciar de acuerdo a las herramientas que le brindamos y bajo su criterio experto.

### **Instrucciones** **para el desarrollo de la prueba**

Inicialmente es necesario que proceda a leer la descripción del caso de estudio y la descripción de la arquitectura de la plataforma eBay, esto le brindará el contexto de la situación planteada en la que se aplicarán los patrones de diseño.

En la sección “Problema” usted encontrará 4 requerimientos de diseño independientes, para los que es necesario que ingrese a “Problemas Recurrentes en la Etapa de Diseño SOA” donde encontrará los problemas más comunes con el respectivo enlace. En cada uno de ellos encontrará los patrones que solucionan cada problema, una matriz con las características, descripción, ventajas y desventajas de cada patrón; para que usted pueda encontrar la información necesaria y pueda diligenciar los patrones que a su criterio pueden solucionar cada uno de los requerimientos planteados. Le recordamos que puede encontrar inmerso en cada enunciado uno o dos problemas de diseño.

La pregunta número 5 es de opción múltiple, por lo que de acuerdo al enunciado debe seleccionar el patrón que se ajuste al problema planteado.

En la pregunta número 6 usted puede sugerir algún patrón que conozca y no se encuentre documentado en la presente wiki, de tal forma que pueda resolver uno o varios problemas de los que se encuentran allí contemplados.

## **Descripción del Caso de Estudio**

eBay Inc. es una empresa líder global de comercio y pagos,  proporcionando una plataforma sólida donde los comerciantes de todos los tamaños pueden competir y ganar. Manejando un modelo Buyer-Seller que involucra sectores específicos de clientes, donde compradores, vendedores y empresas de entrega de productos interactúan mediante una plataforma web, la cual facilita la compra y venta en casi todos los países de la tierra y a través de PayPal, se brinda el servicio de envío y recepción de pagos digitales de forma segura, fácil y rápida.

Tanto eBay como Paypal son plataformas Multisided puesto que enlazan grupos diferentes de clientes de forma online, de modo que si quiere atraer a los vendedores a su sitio web, debe ser capaz de conectar los vendedores con los compradores potenciales y, preferiblemente, una buena cantidad de compradores, ya que es una subasta con elementos de compra competitivos. Así mismo, brinda canales de comunicación, distribución y venta de artículos, de forma tal que facilita la búsqueda a los compradores y garantiza que los vendedores puedan especificar el artículo en venta a los pocos minutos de registrarse.

## **Descripción de la Arquitectura**

La plataforma de eBay durante el 2014 tuvo más de 162 millones de usuarios registrados, 155 millones de compradores activos, 72 billones de dólares en Volumen de Comercio Habilitado (ECV), 1 millón de vendedores tiempo completo y una capacidad de procesar un billón de transacciones por día.

La arquitectura ha sido diseñada bajo la premisa de “¿que pasaría si la carga se incrementa 10 veces a la actual?”, por lo que ha sido implementada para realizar un escalamiento horizontal y no vertical. Así, está estrictamente dividida en capas de datos, aplicación, web y cliente. (Figura 2.)

La plataforma posee 9 petabytes de almacenamiento de datos, 10000 servidores de aplicaciones, 44 millones de líneas de código y 2 billones de imágenes. En un día típico se hacen en promedio 75 billones de llamados a bases de datos, se visitan 4 billones de páginas, se hacen 250 billones de consultas de búsqueda (queries), varios billones de llamados a servicios y cientos de millones de eventos internos asincrónicos.

La compañía dispone de 30 arquitectos para 1500 desarrolladores (in-house), donde no todos los problemas reciben la atención de un arquitecto, se delega mucha responsabilidad sobre los mismos y sólo se asignan arquitectos a tareas que lo requieran.

Para gestionar todo el desarrollo existen catálogos bien definidos de principios y patrones a aplicar, junto con un repositorio de reglas que se deben seguir para cada servicio. Los desarrolladores deben ser capaces de aplicar el catálogo de patrones correctamente y de solucionar problemas complejos utilizándolos. En caso de tener que romper algún patrón o regla, un comité decide si es apropiado y da el visto bueno.

Los objetivos de la arquitectura son:

* Optimización del tiempo de respuesta
* Mantener la continuidad del negocio
* Facilitar la Escalabilidad (Evolución), Disponibilidad, Rendimiento y Flexibilidad de la plataforma.

## **Problema**

Es necesario que para el correcto desarrollo de la presente prueba, usted diligencie las siguientes 2 encuentas:

### **Prueba de Aceptación de Tecnología.**

**¡Gracias por la colaboración prestada! :)**