Está en la página 1de 8

Análisis Crítico de Paper de Investigación 1

Generación Automática de API REST a partir de API Java, basada en

transformación de Modelos (MDD)

Luigui A. Parodi, Karla A. Villegas, Nicolas M. Vallejos, Hugo Murillo y Pedro

Pfura

Facultad de Ingeniería, Universidad Tecnológica del Perú

Sistemas Distribuidos

Ing. Iván Robles Fernández

24 de junio del 2021


Análisis Crítico de Paper de Investigación 2

Contenido

Resumen...............................................................................................................3

Contexto ...............................................................................................................3

Introducción ........................................................................................................4

Investigación y desarrollo ...................................................................................6

Resultados esperados ...........................................................................................6

Recursos humanos ...............................................................................................6

Conclusiones ........................................................................................................7

Bibliografía ..........................................................................................................8
Análisis Crítico de Paper de Investigación 3

Resumen

La presente investigación propone la forma de generar un API REST a partir de las


existentes versiones API JAVA bajo el contexto de MDD (Model-Driven Development)
para la construcción de WSs. Aplicando técnicas de modelos que son diferentes a las
convencionales de las cuales se basan en generar AST mediante un parser. A partir de
esto, permitirá generar código hacia implementaciones de WS. Además, Actualmente
existen una gran cantidad de proyectos y servicios web conocidos que usan este tipo de
API; ya que, es una interfaz entre sistemas que usa el protocolo HTTP además que
genera las operaciones en los formatos XML, JSON, HTTP, etc. Debido a esto, logro un
gran impacto en los servicios web; por que permitió desplazar a SOAP por su eficiencia
y su sencillez en la forma de usarlo.

Palabras clave: MDD, QVT Operational,API REST

Contexto

Como línea de investigación dicho trabajo se desarrolló en el marco de la Ingeniería de


Software. La transformación de Modelos aplicada a la Mejora Continua de Procesos de
desarrollo de Software es perteneciente a los Proyectos y Programas de Investigación.
Además, dicha línea de investigación se encuentra dentro de un trabajo de tesis de
Maestría en Ing. De Software de la Universidad Nacional de Rio Cuarto.
Análisis Crítico de Paper de Investigación 4

Introducción

El desarrollo dirigido por modelos mas conocido como MDD es una de las
metodologías dentro del desarrollo de software que se encarga en crear y explotar los
modelos de dominios; ósea, que los conocimientos y actividades que se rigen en un
dominio de aplicación particular. Dicha metodología tiene como objetivo aumentar la
productividad a través de la maximización de compatibilidad de sistemas a través de
modelos ya estandarizados llegando a simplificar los procesos de diseño, promoviendo
así la comunicación entre individuos y equipos que trabajan en un sistema por medio de
una estandarización y mejores usos en el dominio de aplicación. Dichos modelos son
desarrollados que contemplan la comunicación entre los individuos del dominio de la
aplicación.

Así mismo, el Object Management Group es un acercamiento al diseño de software.


Bajo la metodología MDA la funcionalidad de un sistema se define como un modelo
independiente de la plataforma (PIM) dado un modelo de definición de la plataforma
(PDM). El primer modelo puede traducirse a uno o más modelos específicos de la
plataforma (PSM). En el cual se usa diferentes lenguajes específicos del dominio. La
traducción de PIM y PSM se realiza usando herramientas automatizadas, como son las
herramientas de la transformación de modelos, las cuales son aquellas que cumplen el
están OMG denominado (QVT). Además, se realiza estas automatizaciones en la
transformación de modelos y la generación de códigos. De la misma forma, el MDA se
relaciona con bastantes normas como en el caso del UML; ya que, este es un estándar y
el UML sigue el paradigma de orientado a objetos y permite describir aspectos
dinámicos y estáticos de los sistemas de software

Por otro lado, hay una demanda en la interacción con los sistemas y aplicaciones
remotas, como por ejemplos las aplicaciones móviles. Para esto, se usaron la API ya que
toman un rol importante en el diseño e implementación con sistemas o aplicaciones ya
existentes o heterogéneas.

Con respecto a las WS, son un soporte adecuado y transparente en la interacción de


sistemas remotos. Según la W3C define a las WS como sistemas para soportar una
interacción interoperable de maquina a maquina sobre la red. Dicho WS suele ser una
APIs Web que son accedidas dentro de la red y se ejecutan en el sistema que se aloja.

Una clase de WS se basa a RPC lo cual es familiar para los desarrolladores. Dicha
interfaz está definida a través de un archivo WSDL con un formato XML. Las primeras
herramientas estaban centradas en esta visión y tuvo un auge; sin embargo, tuvo unas
críticas por su débil acoplamiento; ya que se implementa por medio de los mapeos de
servicios de manera directa a funciones especificas o llamadas de métodos. Uno de los
puede ser implementado a la arquitectura orientado al servicio mas conocido como SOA
donde la unidad básica en la comunicación es el mensaje; por lo cual es referenciado
como el servicio orientado a mensaje. Los WS que se basan en SOA se soportan por una
cantidad de desarrolladores de software y analistas; al contrario, los servicios web que
se basan en RPC son débilmente acoplados.
Análisis Crítico de Paper de Investigación 5

En los últimos años un estilo de software conocido como REST. Este nuevo modelo
brindo una nueva opción de estilo de uso en los Servicios Web. Los WS que se basan en
este estilo emulan el código HTTP o protocolos similares mediante la restricción de
establecer la interfaz en un conjunto. Dicho estilo, interactúa con recursos de estado a
diferencia con mensajes y operaciones. Este estilo también permite el intercambio y la
manipulación de datos en los servicios de internet que genero un cambio en el desarrollo
de software en los últimos años. Actualmente dichas APIs Rest permite la creación de
servicios profesionales conocidos en los cuales las empresas generan negocios. Dicho
estilo como se explico en el inicio del análisis critico logro superar a SOAP ya que
presenta un estilo bastante simple además que tiene mayor eficiencia; así mismo, para la
obtención de los datos usa HTTP y para la generación de datos los usa en los formatos
posibles como XML,JSON y HTTP.
Análisis Crítico de Paper de Investigación 6

Investigación y desarrollo

En el Api Rest se debe aplicar transformaciones de modelos para que sea una
generación automática. Por ello, tiene que analizarse de un modelo de origen
establecido. El Api Rest, debe tener un proceso en donde pasa por transformaciones. En
primer lugar, se debe de tener una interfaz aplicando Java (XMI) que tendrá una
transformación texto modelo (T2M). Después, se convierte en un modelo convencional
(QVT Operacional, ATL, etc.) y termina siendo M2M (modelo a modelo). Por último,
este modelo de Api Rest (XMI) se extrae un código para que se haga la transformación
de modelo a texto (M2T). Con esto, habrá una compenetración de sistemas
heterogéneos.
Para generar un API web a partir de modelos, se tiene que igualar el camino para
administrar modelos y colaborar en ellos en línea. El enfoque, denominado EMF-REST,
toma los modelos de datos de Eclipse Modeling Framework (EMF) como entrada y
genera API web siguiendo los principios REST y basándose en bibliotecas y estándares
conocidos, lo que facilita su comprensión y mantenimiento. Además, EMF-REST
integra características específicas del modelo y de la Web para proporcionar
capacidades de validación y seguridad del modelo, respectivamente, a la API generada.

Mediante el uso de EMF-REST, los desarrolladores tienen la liberta para aprovechar los
proveedores de plataforma como servicio (PaaS), en los que la administración de
modelos aprovecharía sus capacidades de escalabilidad. Además, la adopción de una
solución basada en la Web promovería la colaboración entre los modeladores,
facilitando así el desarrollo colaborativo de nuevos modelos de software. Mediante el
uso de EMF-REST, los desarrolladores tienen el terreno para aprovechar los
proveedores de plataforma como servicio (PaaS), en los que la administración de
modelos aprovecharía sus capacidades de escalabilidad. Además, la adopción de una
solución basada en la Web promovería la colaboración entre los modeladores,
facilitando así el desarrollo colaborativo de nuevos modelos de software.

Resultados esperados

Cuando se inicia el cambio con el lenguaje de programación Java, se presenta en XMI o


mejor en ECORE, utilizando la herramienta MoDisco.
Sobre este modelo se aplica M2M en QVT que va a permitir una nueva versión de Api
Reset a través M2T y como vía la herramienta Acceleo.
Para hacer un uso del Api Rest, se tiene que tener un mecanismo de cambio de Java, con
ello, tener estándares y herramientas en el ámbito de los modelos, para tener como
resultado la interacción de sistemas heterogéneos y promover la gestión de modelos en
un ambiente de sistemas distribuidos.

Formación de recursos humanos

Mientras se realizaba la investigación, nosotros como estudiantes de ingeniería hemos


buscado información y temas en diferentes cursos que nos han ayudado de manera
favorable en este trabajo. Si bien es cierto, estos temas nos dirigen a una investigación
profunda y nos invita a seguir aprendiendo e investigando más de nuestra carrera.
Análisis Crítico de Paper de Investigación 7

Conclusiones

Los servicios web RESTful se han vuelto cada vez más populares como una solución
ligera para conectar sistemas remotos en arquitecturas distribuidas y basadas en la nube.

EMF-REST toma los modelos de datos de Eclipse Modeling Framework (EMF) como
entrada y genera API web siguiendo los principios REST.

El Api se utiliza para desarrollar e integrar el software de las aplicaciones, permitiendo


la comunicación entre dos aplicaciones de software a través de un conjunto de reglas.

Una de las principales funciones de las API es poder facilitar el trabajo a los
desarrolladores y ahorrarles tiempo y dinero.
Análisis Crítico de Paper de Investigación 8

Bibliografía

C. Javier Luis. 14 de abril 2015. EMF-REST: Generación de APIs RESTful a partir de


modelos. ArXiv- Recuperado de [1504.03498] EMF-REST: Generación de API RESTful a
partir de modelos (arxiv.org)

E. Hamaza., 26 de mayo 2016. EMF- REST: Sus modelos en la web a través de una API
RESTful. API, ingeniería en la nube y web, herramientas. Recuperado de EMF-REST:
Sus modelos en la web a través de una API RESTful (modeling-languages.com)

F. Yúbal., 23 de agosto 2019. API: qué es y para qué sirve. Xataka Basics. Recuperado de API:
qué es y para qué sirve (xataka.com)

IONOS., 2021. ¿Qué es el HTTP?. Digital Guide IONOS. Recuperado de HTTP: cuál es la
función del protocolo en Internet - IONOS

También podría gustarte