Está en la página 1de 3

“Año de la Universalización de la Salud”

INFORME N° 0XX – 2020 – MTC/23

A : EDUARDO MARTIN MORAN HUANAY


Director General de la Oficina General de Tecnología de la Información

ASUNTO : Desarrollo e implementación de aplicaciones Web y móviles


FECHA : Lima, 06 de Julio de 2020

Tenemos el agrado de dirigirnos a ustedes, en atención a las aplicaciones Web y móviles que se
vienen implementando y desarrollando.

1. INTRODUCCIÓN

Actualmente nuestro equipo Web/Móvil, para desarrollar aplicaciones Web o Móvil sigue el
principio Domain Driven Design (DDD), que es un enfoque de desarrollo de software
utilizado por Eric Evans en su libro “Domain-Driven Design — Tackling Complexity in the
Heart of Software, 2004”. Que representa distintas claves, terminología y patrones
utilizados para desarrollar software, donde el dominio es lo más central e importante de una
determinada organización. Además, la estratificación de la base de código de una aplicación
es la técnica ampliamente aceptada para ayudar a reducir la complejidad y mejorar la
reutilización del código.

Sus principios se basan en:

 Colocar los modelos y reglas de negocio de la organización, en el CORE de la


aplicación
 Basar nuestro dominio complejo, en un modelo de software.
 Se utiliza para tener una mejor perspectiva a nivel de colaboración entre expertos del
dominio y los desarrolladores, para concebir un software con los objetivos bien claros.

Existen con cuatro capas fundamentales en el diseño controlado por dominio (DDD):

 Capa de presentación: proporciona una interfaz para el usuario y utiliza la capa de


aplicación para lograr interacciones del usuario. Las tecnologías utilizadas para el
desarrollo son: AngularJS y HTML5.
 Capa de aplicación: es una capa mediadora entre la presentación y capa de dominio e
implementa los servicios que son utilizados por la capa de presentación. En esta capa
se generan de manera dinámica todos los servicios API REST para ser consumida por
terceros.
 Capa de dominio: incluye los objetos del negocio y sus reglas. Este es el core de la
aplicación.
 Capa de infraestructura: implementa la gestión de la base de datos utilizando
herramientas ORM (es un modelo de programación que transforma las tablas de una
base de datos en entidades para simplificar enormemente la tarea del programador) y
proporciona capacidades técnicas genéricas que admiten capas superiores,
principalmente utilizando bibliotecas de terceros. En esta capa se utiliza la tecnología
Entity Framework de Microsoft.

2. ANÁLISIS

Jirón Zorritos 1203 – Lima - Perú


T. (511) 615-7800
www.mtc.gob.pe
“Año de la Universalización de la Salud”

Para el desarrollo de las aplicaciones se usa ASP.NET Boilerplate, es un Framework de


aplicación de propósito general especialmente diseñado para nuevas aplicaciones web
modernas. Utiliza herramientas ya conocidas como EntityFramework e implementa las
mejores prácticas a su alrededor para proporcionar una experiencia de desarrollo SÓLIDO.

ASP.NET Boilerplate, es un Framework Open Source bien documentado. No es solo un


Framework, sino que también proporciona un modelo arquitectónico sólido basado en el
diseño dirigido por dominio “Domain Driven Design (DDD)” con todas las mejores
prácticas.

Las características de ASP.NET Boilerplate que ofrece es muy amplio, aquí solo se lista las
más relevantes:

- Tiene una arquitectura sólida en capas y modular.


- Implementa el diseño dirigido por dominio (DDD).
- Usa inyección de dependencias para todas partes incluso en la capa de presentación.
- Permite gestionar multiTenant para aplicaciones SaaS.
- Tiene implementado toda la capa de seguridad como es Autorización y Autenticación
(Gestión de roles, usuarios, permisos, recuperación de accesos y otros).
- Permite el rápido desarrollo de aplicaciones, sólo basta con descargar un proyecto y al
compilar se tiene corriendo la aplicación.
- Genera toda la capa de servicio de manera dinámica.
- Es multi lenguaje y completamente localizada.

2.1 SQL Server como Motor de Base de Datos

Entity Framework es el ORM (Object-Relational Mapper) de Microsoft, con versiones


tanto para la plataforma .NET "tradicional" como para .NET Core y es una herramienta que
genera mayor productividad a la hora de realizar aplicaciones.

Por otro lado, ORM (Object Relational Mapping) es un tipo de librería de acceso a datos.
Así, a la hora de acceder a datos, en lugar de utilizar otro lenguaje (generalmente SQL), un
ORM permite que puedas utilizar los paradigmas habituales de la programación orientada a
objetos: clases y objetos. En lugar de pensar en tablas y relaciones, se piensa en objetos y
propiedades.

La implementación del Entity Framework en SQL Server es natural ya que tiene soporte
oficial de la propia plataforma .NET de Microsoft.

Por el contrario, la implementación de Entity Framework para ORACLE es necesario


contar con Oracle EF Core Database Provider que actualmente se encuentra en su versión
ODP.NET 11.2.0.3.0 incluye soporte para ADO.NET Entity Framework y LINQ to
Entities. Sin embargo, este proveedor un producto de pago y tiene algunas limitaciones que
podemos ver en su sitio oficial (https://blog.devart.com/entity-framework-core-1-entity-
framework-7-support.html#limitations). Además, los creadores del Framework ASP.NET
Boilerplate no garantizan la estabilidad de la aplicación.

2.2 Aplicaciones desarrolladas con Framework ASP.NET BOILERPLATE

Jirón Zorritos 1203 – Lima - Perú


T. (511) 615-7800
www.mtc.gob.pe
“Año de la Universalización de la Salud”

Actualmente el Ministerio de Transportes y Comunicaciones cuenta con diferentes


aplicaciones Web que se encuentra implementadas y desarrolladas con el framework
ASP.NET BOILERPLATE, y mencionaremos las más relevantes:

- Consulta Vehicular, Viaje Seguro(https://viajeseguro.mtc.gob.pe/)


- Sistema de Reserva de Citas del MTC (https://citas.mtc.gob.pe/)
- Sistema de Acreditación de Ingreso al MTC (http://sigaweb.mtc.gob.pe/acreditacion)
- Sistema Ficha de Salud del MTC (http://sigaweb.mtc.gob.pe/efsalud)
- Libro de Reclamaciones y Sugerencias (https://lreclamos.mtc.gob.pe/inicio)

Por otro lado, se listan otras entidades que hacen uso del framework ASP.NET
BOILERPLATE para el desarrollo e implementación de sus aplicaciones:

- IZENDA (https://www.izenda.com)
- TEMPUS (http://www.tempus.no/)
- PARSUS (http://www.parsus.com/)
- KEYREPLY (https://keyreply.com/)

3. CONCLUSIONES

 Por lo anteriormente expuesto, con el framework ASP.NET Boilerplate podemos


desarrollar aplicaciones Web modernas en muy poco tiempo y con las mejores prácticas
porque tiene desarrollado gran parte de las funcionalidades tradicionales de una
aplicación común.

 El framework ASP.NET Boilerplate, por su parte la solución potencial utiliza una


biblioteca como Entity Framework donde el desarrollo será mucho más rápido para
construir el modelo CRUD.

4. RECOMENDACIONES

 Se recomienda utilizar el framework ASP.NET Boilerplate porque permite que el


desarrollo sea mucho más rápido para construir el modelo CRUD usando LINQ y sea
más fácil de mantener.

Jirón Zorritos 1203 – Lima - Perú


T. (511) 615-7800
www.mtc.gob.pe

También podría gustarte