Persistencia en arquitecturas software
👨💻 Persistencia en arquitecturas software
Dentro de las arquitecturas software es importante el concepto de persistencia, que se refiere a la capacidad de que los datos puedan ser almacenados de forma permanente después de que la aplicación haya terminado de ejecutarse
Arquitectura Java EE/Jakarta EE:
- La API de persistencia (JPA) se puede usar en ambas plataformas y constituye un ORM (Object-Relational Mapping), permitiendo la interacción entre las tablas de la base de datos y la programación orientada a objetos (POO).
- Hibernate es una de las implementaciones más utilizadas de JPA.
- La anotación
@Entity, la interfaz EntityManager (operaciones CRUD) y la API JDBC (Java Database Connection) permiten la interacción con la BBDD. - El uso de objetos POJO (Plain Old Java Object) por parte de las entidades es fundamental para que se cumpla esta persistencia.
- Posee un lenguaje propio de consultas JPQL (Java Persistence Query Language).
Arquitectura .NET:
- El ORM principal es Entity Framework (EF / EF Core), que permite el mapeo de objetos C# a tablas de bases de datos SQL/NoSQL.
- El lenguaje de consultas es LINQ (Language Integrated Query).
- EF permite trabajar con enfoques como Code First, Database First y Model First.
- La persistencia se basa en entidades, contexto de datos (
DbContext) y migraciones para gestionar cambios en el esquema.
Otras plataformas/arquitecturas:
- NodeJS/TypeScript: Uso de TypeORM, Prisma o Sequelize
- Python (Django/FastAPI): Uso de SQLAlchemy o DjangoORM
- Rust: Librerías como Diesel o SQLx
- Servicios Cloud: AWS Lambda + DynamoDB, AzureFunctions + CosmosDB...
TAICord