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:
View
Essential Course
View
Practical Course
View
Course 3D Style
View
Neodigital CPD Course
View
Laws and Regulations Course
View
Customer Service Course
View
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.