Want to create interactive content? It’s easy in Genially!

Get started free

APX(Arquitectura Plataforma Extendida )

Lalo

Created on March 19, 2025

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

APX(Arquitectura Plataforma Extendida )

Quiñonez Molina Eduardo

¡Vamos!

¿Que es APX?

Es una extensión de la Arquitectura Backend. Backend transaccional ligero y escalable basado en estándares abiertos JavaEE.

Empezar curso

Despliegue

Índice

Desarrollo APX
Mejores Prácticas
Componentes APX
APX Online
APX Batch
Diferencias

Desarrollo APX

Herramientas

Software necesario para el desarrollo, gestión y monitoreo de APX

Tecnólogias

Frameworks o tecnologías utilies para el desarrollo y despliegue de componentes APX

Herramientas

TECNOLOGIAS

Antipatrones
Restricciones

Prohibiciones que marca la arquitectura APX para un lograr mejor eficiencia

Patrones que hay que evitar en el desarrollo APX

MEJORES PRACTICAS

ACID
Patrones

Patrones empleados para el desarrollo de componentes APX

Propiedades que deben contener los componentes APX

Patrones

Paginación

Divide grandes conjuntos de datos en fragmentos más pequeños o páginas para mejorar la eficiencia

CRUD

Se utiliza en los casos donde se requiere realizar altas, bajas, cambios y consultas a alguna entidad

DTO

Define la estructura de los datos que se enviarán o recibirán a través de los niveles de la arquitectura

Antipatrones

Un patrón BLOB es una librería compuesta de sola clase con gran cantidad de funcionalidad, normalmente es muy complicada de reutilizar y probar, por lo cual, la solución es realizar un “refactoring” del rediseño entre las librerías involucradas.

Un contenedor mágico una librería que contiene un sólo método “execute” con parámetros que actúan como filtros y que engloba diversas funcionalidades dispares en función de sus parámetros de entrada, por lo que, la solución es realizar un “refactoring” del rediseño entre las librerías involucradas..

Durability

Garantiza que una vez que se ha comprometido una transacción, permanecerá comprometida incluso en caso de una falla del sistema.

Isolation

Garantiza que la ejecución simultánea de transacciones con exactamente la misma información mantenga los datos en el mismo estado que se habrían obtenido si las transacciones se ejecutaran secuencialmente.

Consistency

Asegura que una transacción solo pueda realizar operaciones de un estado válido a otro estado válido, cumpliendo con las reglas e indicaciones de integridad de recursos

Atomicity

Si todos los procesos finalizan exitosamente, se consolida la operación ejecutada. Si ocurre una falla, los procesos ejecutados se cancelan.

* Debe evitarse la invocación cíclica de componentes

3 niveles de profundidad

Restricciones

9 Dependecias invocadas

JOB

COMPONENTES APX

DTO
LIBRERIA
TRANSACCIÓN

UUAACXXX

DTO

Es una representación de una entidad de negocio, se utiliza par encapsular los datos y facilitar su transporte, estos objetos no deben contener ninguna lógica empresarial pero pueden contener mecanismos para transferir los datos entres los diferentes componentes APX. Hacer uso de DTOs dentro de la arquitectura ayuda a evitar la duplicidad de código y mantener la coherencia en todo el sistema.

UUAARXXX

LIBRERIAS

Es un componente que encapsula la lógica de negocio y el acceso a los datos, este contiene una interfaz y una implementación. Publica su interfaz para poder ser utilizada por terceros. El acceso a los datos se realiza unicamente desde la implementación de este componente con la utilización de la utileria de JDBC.

UUAATXXX-XX-MX

TRANSACCIONES

Una transacción es el proceso principal que define la lógica aplicativa que se va a ejecutar en APX Online, aquí se mapean los datos de entrada que se enviaran a la librería para que se aplique la lógica de negocio y los se mapean los datos de salida que la librería regresa. Tiene dependencia con la interfaz y con la dependencia.

UUAAJXXX-XX-MX

JOBS

Es un proceso masivo de información que se ejecuta de forma programada, estos están conformados por steps los cuales son los encargados de tratar la información. Los Jobs tienen un limite de proceso de datos a la vez, para procesar la información por lotes.

APX ONLINE

Un proceso Online es un programa que procesa cierta cantidad de información ya sea por consulta, inserción, actualización, etc, como su nombre lo dice de manera online(al momento) la mayoría de las veces son consultas. También hay procesos online que sólo se encargan de hacerle algún tratamiento a la información que recibe y transferirla a algún servicio o a otra transacción dependiendo del caso.

APX BATCH

Un proceso Batch es una tarea calendarizada que busca el tratamiento masivo de datos mediante "steps", los cuales separan la informacion por lotes. Tienen un flujo de reader, processor, writer el cual puede extraer información ya sea de un sistema de archivos o de una base de datos y de igual manera retornar la información procesada creando o editando archivos o registros en una base de datos.

STEPS

Los steps de tipo chunk van a estar formados por tres componentes: Reader: Es el subpaso que hace la lectura, ya sea de un archivo o de la base de datos. Processor: Este subpaso recibe la información leída en el Reader, y en él se hace un tratamiento de la información. Se puede omitir. Writer: Éste a su vez se encarga de hacer la escritura del archivo de salida o hacia la Base de Datos. Recibe la información del Processor, y en caso de que no se haya utilizado, la recibe directamente del Reader. Los steps de tipo task tienen asociada una clase que implemente la interfaz tasklet, la cuál tiene un método execute dónde el desarrollador introducirá la lógica de negocio necesaria.

APX ONLINE VS APX BATCH

GESTIÓN DE ERRORES

EJEMPLO

LOGS

DESPLIEGUE

EJECUCIÓN ONLINE

EJECUCIÓN BATCH

EJECUCIÓN BATCH