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:

Essential Course

Practical Course

Course 3D Style

Neodigital CPD Course

Laws and Regulations Course

Customer Service Course

Dynamic Visual Course

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

Índice

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

Desarrollo APX

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

Tecnólogias

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

Herramientas

Herramientas

TECNOLOGIAS

MEJORES PRACTICAS

Propiedades que deben contener los componentes APX

ACID

Patrones que hay que evitar en el desarrollo APX

Antipatrones

Patrones empleados para el desarrollo de componentes APX

Patrones

Prohibiciones que marca la arquitectura APX para un lograr mejor eficiencia

Restricciones

Patrones

DTO
CRUD
Paginación

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

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

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

Antipatrones

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..

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.

Isolation
Atomicity
Consistency
Durability

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.

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

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

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

Restricciones

9 Dependecias invocadas

3 niveles de profundidad

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

COMPONENTES APX

TRANSACCIÓN
LIBRERIA
DTO
JOB

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.

UUAACXXX

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.

UUAARXXX

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.

UUAATXXX-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.

UUAAJXXX-XX-MX

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