Want to create interactive content? It’s easy in Genially!
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.