Taller123


Evaluando propuestas
Descripción:
Universal Bank - TALLER DE RENDIMIENTO
Descripción del problema
Universal bank ha decidido incorporar una solución empresarial de DATAGRID basada en Pivotal
Gemfire ( https://pivotal.io/pivotal-gemfire ) con el proposito de aprovisionar una base de datos en
memoria que será usada por el resto de plataformas empresariales a disposición del banco, este
DATAGRID debe ser alimentado con la información proveniente de los eventos producidos por el CRM
(recuerde que este CRM es el canal con mayor dedicación para la adquisición de productos por parte de
los clientes), se espera que desde este canal al menos 9000 transacciones (incluyendo pagos, adquisicion
de cuentas y tarjetas) sean generados en un minuto
Un proveedor de tecnología ha construido una solución de integración argumentando el uso de buenas
prácticas de arquitectura y frameworks de alta participación en el mercado, sin embargo 1 mes antes de
salir a producción se ha identificado que el sistema no es capaz de tolerar la carga esperada.
Constraints
● Debido a las políticas aprobadas de infraestructura del banco NO ES POSIBLE acomodar
estrategias de escalabilidad HORIZONTAL
● La estrategia de escalabilidad VERTICAL ya ha sido puesto en práctica (para el propósito del
ejercicio un máximo de 256 megas puede ser puestos a disposición del servidor )
● El servidor usado para desplegar los servicios (wildfly-13.0.0.Final) tendrá un limitante de 256
MB en -Xmx
Puntos del taller
identifique los puntos de colapso del servicio haciendo uso de herramientas de test performance
(JMeter) con el objetivo de proponer e implementar mejoras significativas en el desempeño del sistema
realizando un análisis con una herramienta de profiling (JProfiler), El servicio de integración puede ser
encontrado en el siguiente endpoint:
http://{host}:{port}/universal-bank-integration-service/FinancialActionsProcessorWS?wsdl
● Fecha de entrega: Octubre 31 - máximo 11:59 PM (trabajos enviados posterior a esta hora no
serán calificados)
● El fuente de los servicios con los ajustes correspondientes
● Documento con la de descripción de los hallazgos encontrados y la estrategia de solución
implementada (recuerde describir la situación actual y los resultados luego de aplicar los
ajustes)
● Grabe un video de no más de 15 minutos mostrando cómo se usó JMeter y JProfiler para
encontrar los problemas de los servicios y la solución asociada.
Nota:
Identificar las fallas en los servicios requiere el planteamiento de escenarios para pruebas de stress,
apóyese en este concepto para marcar la línea base de resistencia (límite) del sistema y mostrar las
evidencias de superación una vez que se apliquen los ajustes de afinamiento correspondientes.
Guia de instalacion del servicio
Descargue los productos de referencia del servicio:
● Gemfire (Pivotal GemFire Zip): https://network.pivotal.io/products/pivotal-gemfire
● Wildfly (Java EE7 Full & Web Distribution): http://wildfly.org/downloads/
● Oracle-XE:
http://www.oracle.com/technetwork/database/database-technologies/express-edition/downlo
ads/index.html
● Gradle: https://gradle.org/releases/
● Java-JDK8:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
1. Instale el JDK y Oracle bajo las preferencias indicadas para su sistema operativo, recuerde que
gradle es un archivo comprimido que puede ser ubicado en un directorio también de su
preferencia, descomprimalo y asegúrese de adicionar la carpeta bin a la variable PATH del
sistema.
2. Clone los fuentes del proyecto (esto requiere tener GIT instalado en el sistema) directamente
desde el sitio de github: https://github.com/aes-pica/performance-workshop.git
3. Para compilar y empaquetar las aplicaciones a desplegar abra una terminal desde la raíz del
proyecto y ejecute el siguiente comando: gradle clean build shadowJar
Una vez finalizado el comando podrá ver los assemblies listos para ser desplegados:
Para este caso en particular considere al archivo universal-bank-jms-sandboxes-all.jar para el
deployment
4. Descomprima el Wildfly en un directorio de su preferencia y proceda a crear un usuario
siguiendo esta guia: https://bgasparotto.com/add-user-wildfly
5. Debido a que el Wildfly usa el puerto http 8080 para correr las aplicaciones es posible que este
entre en conflicto, se recomienda cambiarlo ajustando el siguiente archivo:
$WILDFLY_HOME/standalone/configuration/standalone-full.xml
6. Adicionalmente sobre el mismo archivo proceda a crear las siguientes queues y connection
factory sobre el subsystem urn:jboss:domain:messaging-activemq:3.0
● java:/jms/queue/financial-tracking
● java:/jms/queue/financial-errors
● java:/jms/queue/financial-operations
● java:/financial-operations-cf
7. Proceda a subir la instancia del Wildfly emitiendo el siguiente comando desde una terminal en el
siguiente ruta: $WILDFLY_HOME/bin
standalone -c standalone-full.xml
8. Descomprima el zip de Gemfire a un directorio de su preferencia y abra una terminal en el
directorio bin, dentro de este lance el ejecutable gfsh
9. Dentro del gfsh ejecute los siguientes comandos para iniciar el locator y un servidor del grid
(tenga presente que Gemfire requiere del puerto 10334, 7070 y 40411):
● start locator --name=locator1
● start server --name=server1 --server-port=40411
● create region --name=finance --type=REPLICATE_PERSISTENT
Si todo está en orden debería poder ver el sitio web de administración del DATAGRID en la url
http://localhost:7070/pulse/login.html (credenciales admin/admin)
10. Proceda a colocar los assemblies generados en el paso 3 sobre el directorio
$WILDFLY_HOME/standalone/deployments , de esta forma quedarán los servicios desplegados
y listos para ser usados (recuerde que puede ver el sitio web del wildfly en la url
http://localhost:9990/console/index.html con el usuario creado en el paso 4)
TENGA PRESENTE EL SERVICIO PUEDE SER PROBADO USANDO SOAP-UI , EN EL
REPOSITORIO GIT SE ENCUENTRA UN PROYECTO SOAP-UI QUE CONTIENE EL
MENSAJE DE REFERENCIA QUE DEBE SER USADO PARA EL PROPÓSITO DEL TALLER

Categoría: Programación y Tecnología
Subcategoría: Programación Web
¿Cuál es el alcance del proyecto?: Cambio mediano
¿Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo el diseño
Disponibilidad requerida: Según se necesite
Roles necesarios: Desarrollador

C

Abierto

Presupuesto

1

Propuestas

4

Freelancers interesados

Vencimiento de la publicación: 2 días

Publicado: Hace 24 días

Plazo: 10 días

Crea tu propio proyecto

¿Buscas un freelancer para realizar un proyecto similar? Crea tu propio proyecto y recibirás ofertas de los mejores freelancers.


Otros proyectos de este cliente

Para ver más detalles del cliente

Ingresa a Workana

Freelancers que ya aplicaron para este trabajo

William G. Graduado de Finanzas y Negocios internacionales, estuve vinculado a una entidad financiera durante 12 años, me desempeñe como cajero, asesor comercial segmento personas y asesor comercial segmento empresas, la termina... + detalles