Está en la página 1de 34

ARQUITECTURA DE SOFTWARE ORIENTADA A SERVICIOS

PLANETAS API

JOAN SEBASTIAN OVIEDO TINJACA


JAVIER HELY MEDRANO BERMÚDEZ
WILMER GUERRA MORA

ARQUITECTURA DEL SOFTWARE


DEPARTAMENTO DE CIENCIAS BÁSICAS
FACULTAD DE INGENIERÍA Y CIENCIAS BÁSICAS
Tutora: Isabel Andrea Mahecha Nieto
INSTITUCIÓN UNIVERSITARIA POLITÉCNICO GRANCOLOMBIANO
POLITÉCNICO GRANCOLOMBIANO
2020
INDICE

 Proyecto
 Introducción
 Objetivos
 Actividades
 Marco Teórico
 Cronograma
 Conclusiones

PROYECTO
Desarrollo de un proyecto implementado usando uno de los patrones de desarrollo de software
orientado a servicios (SOA). En nuestro caso se desarrollará una API que suministrará servicios
para información y actualización de los planetas de nuestro sistema solar.

INTRODUCCIÓN
Debido al desarrollo exponencial de los servicios ofrecidos por los productos implementados
por los ingenieros de software se han vuelto un aliado estratégico de las empresas en todos sus
niveles, en el caso que nos ocupa el desarrollo de los servicios ofrecidos por nuestras
aplicaciones ayudan a facilitar las operaciones de cualquier entorno empresarial, el presente
proyecto pretende mostrar el funcionamiento de una aplicación completa, FrontEnd y BackEnd
con su correspondiente base de datos que refleje el avance logrado en suministro de servicios
empresariales.
Objetivo General
● Desarrollar un servicio API REST que permita borrar, actualizar, consultar y guardar
información de planetas y estrellas en una base de datos no relacional. La aplicación debe
guardar el nombre y el tamaño en Km de los planetas y estrellas. También debe asociar las
estrellas con los planetas que la orbitan.
Objetivos Específicos
● Guardar, borrar, consultar y actualizar registros almacenados en una base de datos no
relacional.
● Almacenar información de planetas y estrellas.
● Conectar usuarios con los datos almacenados en la nube.
Justificación
Los avances tecnológicos han permitido estudiar mas aspectos de nuestro universo en
menos tiempo. Debido a la gran cantidad de datos obtenidos de planetas y estrellas con las
nuevas tecnologías utilizadas por la astronomía se necesita un servicio web que permita
gestionar la información obtenida y que pueda ser consultada por cualquier tipo de cliente
sin importar su plataforma.

Patrón de arquitectura Modelo Vista Controlador (MVC)

La arquitectura del patrón Modelo Vista Controlador divide una aplicación interactiva en 3
componentes. El Modelo que se encarga de la funcionalidad del servicio y la información
almacenada en la base de datos. La Vista que se encarga de mostrar la información al usuario y
los Controladores que se encargan de información introducida por el usuario y la traduce en
solicitudes al servicio.

Este patrón de diseño se utiliza generalmente en creación de aplicaciones interactivas con una
interfaz de usuario.

Situación problemática

Se necesita una aplicación que almacene información y pueda presentar de formas distintas en
diferentes ventanas o vistas, por ejemplo, puede mostrar la misma información en un diagrama
de barras o de torta. Los cambios generados en la Interfaz de Usuario se deben implementar de la
forma más sencilla posible y preferiblemente durante tiempo de ejecución.

Sería muy conveniente poder separar los componentes que se encargan de hacer las consultas
a la base de datos y los componentes que se encargan de la interfaz del usuario.
Solución que ofrece la arquitectura MVC

La arquitectura Modelo Vista Controlador divide una aplicación interactiva en 3 componentes


que separa las funcionalidades del servicio y de la interfaz del usuario, se puede manipular la
información proveniente del servicio como sea más conveniente en la interfaz del usuario.

El modelo se encarga de almacenar la información en la base de datos y especificar un modelo


que debe ser utilizado en las vistas y controladores para enviar y recibir información desde la
base de datos.

La funcionalidad del modelo no depende de la funcionalidad de la vista o el controlador. La


vista se encarga de manipular o mostrar la información proveniente de la base de datos en la
interfaz del usuario.

Puede haber múltiples vistas en la interfaz del usuario y todas utilizan el mismo modelo para
enviar y recibir información de la base de datos.

Cada vista está asociada con un controlador que se encarga de manipular las entradas de los
usuarios y traducirlas en solicitudes al servicio. El usuario puede trabajar desde la vista, pero
toda la funcionalidad se basa en el uso de controladores.
Caracteristicas del patron MVC Descripción de la categoria

Crear una aplicación interactiva que separe las operaciones en la


Requerimiento
base de datos y las funcionalidades de la interfaz de usuario.

Icono

Se necesita una aplicación que almacene


información y pueda presentar de formas
distintas en diferentes ventanas o vistas,
Problema por ejemplo, puede mostrar la misma
información en un diagrama de barras o de
torta. Los cambios generados en la Interfaz
de Usuario se deben implementar de la
La arquitectura Modelo Vista Controlador
Solución divide una aplicación interactiva en 3
componentes que separa las
Modelo: El modelo se encarga de
almacenar la información en la base de
datos y especificar un modelo que debe ser
Resumen utilizado en las vistas y controladores para
Vista: La vista se encarga de manipular o
Aplicación mostrar la información proveniente de la
base de datos en la interfaz del usuario.
Controlador: Cada vista está asociada
con un controlador que se encarga de
manipular las entradas de los usuarios y
La arquitectura Modelo Vista Controlador
divide una aplicación interactiva en 3
componentes que separa las
Impacto funcionalidades del servicio y de la interfaz
del usuario, se puede manipular la
información proveniente del servicio como
sea más conveniente en la interfaz del

MARCO TEORICO

Cada día, la arquitectura orientada a servicios (SOA) gana más popularidad. Los mercados
cada vez más competitivos han visto una oportunidad de mejorar sus procesos productivos y sus
servicios invirtiendo en sus estructuras IT. En muchos casos parece ser la respuesta para
interconectar procesos, personas e información.
¿Qué es SOA?

La arquitectura orientada a servicios (service oriented architecture) es una estructura de


diseño para la integración de aplicaciones que permite unir los objetivos de negocio con la
infraestructura IT, alineando las capacidades IT con las metas de la organización y proveer de
una infraestructura técnicamente ágil para responder fácil y rápidamente frente a los cambios
requeridos.

SOA aporta flexibilidad desde la automatización de las infraestructuras y herramientas


necesarias consiguiendo de esta manera reducir los costes de integración y que estos se
coordinen de forma rápida y efectiva.

Capas de Software:

 Aplicaciones básicas.
 De exposición de funcionalidades.
 De integración de servicios.
 De composición de procesos.
 De entrega.

Arquitectura SOA.

Dentro de esta arquitectura podemos decir que SOA estará formada por la combinación de
tecnologías, productos, API’s (Interfaces relacionales de aplicaciones) extensiones de la
tecnología de soporte y otras partes varias.

Sin embargo, muchas veces el SOA viene asociado a la introducción de nuevas


herramientas o tecnologías dentro de la empresa que den soporte a la creación, ejecución, y
evolución de las soluciones dentro de la misma.

Ventajas de la SOA.

Es un marco de trabajo que establece una estructura para la integración de aplicaciones lo que
permite a las organizaciones unir los objetivos y procesos de negocio con sistemas legados o
nuevos en la infraestructura de TI. Todo esto facilita la reducción de costos, innovación de
servicios, adaptación rápida y reacción temprana ante la competencia.

SOA permite formular una estrategia que combine nuevas tecnologías y aplicaciones
independientes, permitiendo que los componentes del proceso se integren y coordinen.

Cronograma de Actividades

Tabla cronograma de actividades para desarrollo del servicio y segunda entrega

Rutas del Servicio API REST

El servicio esta alojado en una plataforma basada en la nube que funciona como PaaS
(Platform as a Service) llamada Heroku que nos ha brindado el siguiente URL para acceder al
servicio.

https://pure-beach-54311.herokuapp.com

Obtener todos los planetas almacenados en la base de datos

https://pure-beach-54311.herokuapp.com/planets

Método: GET

Descripción: Permite consultar todos los planetas almacenados en la base de datos.


Ejemplo: {

"count": 3,

"planets": [

"_id": "5e90a357e3281848587a81a5",

"name": "Earth",

"size": 6371,

"star": "5e8e9044f815351e245b0def",

"starUrl": "http://localhost:3000/stars/5e8e9044f815351e245b0def"

},

"_id": "5e90a58392bfd00e04565a25",

"name": "Venus",

"size": 6051.8,

"star": "5e8e9044f815351e245b0def",

"starUrl": "http://localhost:3000/stars/5e8e9044f815351e245b0def"

},

"_id": "5e90a5d792bfd00e04565a28",

"name": "Mars",

"size": 3389.5,

"star": "5e8e9044f815351e245b0def",

"starUrl": "http://localhost:3000/stars/5e8e9044f815351e245b0def"

}
]}

Obtener un planeta con un ID

https://pure-beach-54311.herokuapp.com/planets/:id

Método: GET

Descripción: Permite consultar un planeta usando su identificador único.

Ejemplo: {

"message": "Planet found",

"planet": {

"_id": "5e90a357e3281848587a81a5",

"name": "Earth",

"size": 6371,

"star": "5e8e9044f815351e245b0def",

"starUrl": "http://localhost:3000/stars/5e8e9044f815351e245b0def"

Actualizar un planeta dado un identificador

https://pure-beach-54311.herokuapp.com/planets/:id

Método: PATCH

Descripción: Permite actualizar un planeta según un identificador. Cuando el registro es


actualizado correctamente en la base de datos devuelve un documento JSON con las propiedades
actualizadas del planeta.
Ejemplo: https://pure-beach-54311.herokuapp.com/planets/:id

“name”: “Mars”

Borrar un planeta

https://pure-beach-54311.herokuapp.com/planets/:id

Método: DELETE

Descripción: Permite borrar un planeta de la base de datos usando su identificador.

Crear un planeta

https://pure-beach-54311.herokuapp.com/planets

Método: POST

Descripción: Permite crear un planeta en la base de datos.

Estrellas

Obtener todas las estrellas en una base de datos

https://pure-beach-54311.herokuapp.com/stars

Método: GET

Descripción: Permite consultar todas las estrellas de una base de datos


Ejemplo: {

"count": 2,

"stars": [

"_id": "5e8e9044f815351e245b0def",

"name": "Sun",

"size": 696340

},

"_id": "5e8e90d010908c4e487e07f6",

"name": "Alpha Centauri A",

"size": 851120

Obtener una estrella con un identificador

https://pure-beach-54311.herokuapp.com/stars/id

Método: GET

Descripción: Permite consultar una estrella con un identificador.


Ejemplo: {

"message": "Star found",

"star": {

"_id": "5e8e9044f815351e245b0def",

"name": "Sun",

"size": 696340

Actualizar una estrella

https://pure-beach-54311.herokuapp.com/stars/id

Método: PATCH

Descripción: Permite actualizar propiedades de una estrella en la base de datos dado un


identificador.

Borrar una estrella

https://pure-beach-54311.herokuapp.com/stars/id

Metodo: DELETE

Descripción: Permite borrar una estrella de la base de datos.


Crear una estrella

https://pure-beach-54311.herokuapp.com/stars

Método: POST

Descripción: Permite crear una estrella en la base de datos.

Pruebas del servicio

Se realizaron las pruebas con todas las rutas del servicio API REST usando un cliente llamado
Postman.

Obtener todos los planetas almacenados en la base de datos

Objetivo: Obtener todos los planetas almacenados en la base de datos.

Ruta: https://pure-beach-54311.herokuapp.com/planets

Método: GET
Conclusión: prueba exitosa

Obtener un planeta con un ID

Objetivo: Obtener un planeta dependiendo del ID introducido en los parámetros del URL

Ruta: https://pure-beach-54311.herokuapp.com/planets/5e90a5d792bfd00e04565a28

Método: GET

Conclusión: prueba exitosa

Crear un planeta

Objetivo: Crear un nuevo planeta en la base de datos que se cumpla lo siguiente.

1. Su nombre debe ser TEST.


2. Su tamaño debe ser 123.
3. Deber estar asociado con el sol “5e8e9044f815351e245b0def”.
4. No debe permitir nuevos planetas que no tengas nombre, tamaño o estrella.
5. Debe mostrar las propiedades del nuevo planeta agregado a la base de datos.

Ruta: https://pure-beach-54311.herokuapp.com/planets
Método: POST

Cuerpo de la repuesta con las propiedades requeridas

Creación del planeta exitosa

Creación no exitosa cuando se omite el nombre, tamaño o estrella


Conclusión: prueba exitosa

Actualizar un planeta

Objetivo: Actualizar un nuevo planeta en la base de datos que se cumpla lo siguiente.

1. Actualizar el planeta con id 5e9e6b21988ee60004ef413f


2. Su nombre debe ser actualizado a TEST-1.
3. Su estrella debe ser actualizada solo cuando se usa el ID valido de una estrella en
la base de datos.
4. Debe mostrar las propiedades del planeta actualizado.

Ruta: https://pure-beach-54311.herokuapp.com/planets

Método: POST
La ruta funciona correctamente y permite actualizar la información de un planeta, sin
embargo, cuando el cuerpo de la respuesta tiene un número de estrella no valido permite seguir
la operación sin actualizar el id de la estrella. Si se introduce un ID valido de una estrella, la ruta
permite actualizar la propiedad star.

Conclusiones: Prueba exitosa

Borrar un planeta

Objetivo: Borrar un nuevo planeta que tenga un identificador dado como parámetro.

1. Borrar el planeta con id 5e9e6cfd988ee60004ef4141.


2. Debe devolver un mensaje que diga que el planeta fue borrado.

Ruta: https://pure-beach-54311.herokuapp.com/planets/:id

Método: DELETE
La ruta borrar exitosamente el planeta que tenga el ID en el parámetro del URL y muestra un
mensaje diciendo que el planeta fue borrado exitosamente.

Conclusiones: Prueba exitosa

1. Descargar la aplicación POSTMAN en la siguiente dirección


https://www.postman.com/downloads/

2. Después de realizar la instalación de la aplicación e iniciamos el programa le


damos en clic en NEW y luego REQUEST
3. Ingresamos nuestro requerimiento para las pruebas a realizar

CONSULTA PLANETAS
En este apartado seleccionamos el método GET y escribimos el url a consultar en este caso el
de planetas, damos clic en Send.
https://pure-beach-54311.herokuapp.com/planets
4. Este método GET lo que realiza es la consulta de información al servidor sobre
los planetas en general que se encuentran disponibles con sus características como se
muestra a continuación.
5. Si deseamos realizar una consulta de un solo planeta debemos colocar el ID de
nuestro planeta, por ejemplo:
Vamos a escoger el ID del planeta Venus que se muestra en la anterior imagen lo
ingresamos a la url de planeta agregándolo con un / y le damos clic en SEND como se
muestra a continuación.

6. El resultado es el siguiente con solo la información del planeta solicitado, a esto


lo llámanos consulta por GET
CREACION PLANETAS

7. Realizaremos la creación de un nuevo planeta para esto damos clic en BODY

8. Clic en RAW luego TEXT y por último JSON

9. Este apartado escribimos las 3 propiedades obligatorias para crear el planeta, el


ID se crea automáticamente igualmente la url, donde:
“Name”: hace referencia al nombre del planeta a crear.
“size”: Tamaño del planeta
“start”: estrella perteneciente, este tiene que ser una existente

10. Luego de haber digitado las propiedades damos clic en POST y luego SEND para
crear nuestro planeta.
POST: Es utilizado para solicitar la creación de un nuevo registro, es decir, algo que
no existía previamente, es equivalente a realizar un INSERT en la base de datos.

ACTUALIZACIÓN INFORMACIÓN

11. Para realizar una actualización de nuestro planeta realizamos lo siguiente:


Colocamos el ID del planeta luego damos clic en PATCH.
12. Después de realizar la modificación necesaria damos clic en SEND para guardar
la modificación.
PATCH: Este método permite actualizar un registro existente, sin embargo, este se
utiliza cuando actualizar solo un fragmento del registro y no en su totalidad, es
equivalente a realizar un UPDATE a la base de datos.

ELIMINAR PLANETA

13. Para eliminar un planeta colocamos el ID del planeta a eliminar luego la opción
DELETE y luego en SEND. Con esto el planeta queda eliminado como en siguiente
ejemplo
DELETE: Este método se utiliza para eliminar un registro existente, es similar a
DELETE a la base de datos.

CONSULTA INFORMACION ESTRELLAS

1. En este apartado seleccionamos el método GET y escribimos el url a consultar en


este caso el de estrellas, damos clic en Send.
https://pure-beach-54311.herokuapp.com/starts
Se visualiza todas las estrellas en general disponibles.

2. Si deseamos realizar una consulta de una solo estrella debemos colocar el ID por
ejemplo:
Vamos a escoger el ID la estrella sun que se muestra en la anterior imagen lo
ingresamos a la url de planeta agregándolo con un / y le damos clic en SEND como se
muestra a continuación

CREACION ESTRELLAS

3. Realizaremos la creación de una nueva estrella para esto damos clic en BODY
Clic en RAW luego TEXT y por último JSON

14. Este apartado escribimos 2 propiedades obligatorias para crear la estrella


“Name”: hace referencia al nombre del planeta a crear.
“size”: Tamaño del planeta
Para guardarlo borramos el ID de la estrella y le damos SEND
Par PATCH Y DELETE se realiza el mismo procedimiento como la mención anterior sobre
planeta

Correcciones de la primera entrega

1. El objetivo general ha sido actualizado, ahora es un solo objetivo concreto que


describe la meta de la aplicación.
2. Los objetivos específicos han sido actualizados y ahora describen la funcionalidad
de la aplicación.
3. La justificación ha sido agregada describiendo el contexto y la necesidad del
servicio.
4. El patrón ha sido debidamente descripción usando los elementos presentados en el
módulo.
5. El cronograma de actividades incluye las tareas y sus respectivas fechas.

Conclusiones y recomendaciones

Los patrones de diseño de arquitectura de software son una metodología muy útil para el
desarrollo de sistemas de software que presenten una problemática de implementación
recurrente. Existen soluciones y buenas prácticas que solucionan estos problemas recurrentes y
ahorran tiempo y recursos para el desarrollo de los proyectos.

La arquitectura del Modelo Vista Controlador ofrece una solución para aplicaciones que
necesiten separar las funcionalidades de la interfaz de usuario y del servicio. Se pueden
implementar más funcionalidades en la interfaz de usuario en menos tiempo sin afectar la
funcionalidad del servicio o la integridad de la base de datos.

Los usuarios de la aplicación interactúan con el modelo y la información almacenada en la


base de datos mediante controladores, sin embargo, todo este proceso es abstraído y el usuario
solo tiene que lidiar con las funcionalidades ofrecidas por la interfaz de usuario.

Esta arquitectura soluciona los problemas de diseño e implementación de nuestro servicio


“Planetas API” permitiéndonos crear un puente entre el cliente y la base de datos.

Hemos escogido Nodejs, Express y MongoDB y ATLAS como las tecnologías para crear
nuestro servicio que puede ser consumido desde un cliente mediante solicitudes con métodos
GET, POST, PUT y DELETE.

Conclusiones y recomendaciones de la segunda entrega del proyecto

El patrón de diseño Modelo Vista Controlador permite crear aplicaciones escalables y de


rápido desarrollo y que no genera dependencia mutua de los componentes de la aplicación.
Hemos creado un servicio que esta disponible y puede ser usado por cualquier cliente sin
importar sus plataforma, móvil, escritorio, etc.

La fase de pruebas es muy importante y necesaria para el desarrollo de un producto de


software, sin embargo, la fase de pruebas depende de los requisitos definidos en la fase de
diseño.

Se recomienda una ampliación de la API que permita guardar más información de diferentes
cuerpos celestes.

Tercera entrega del proyecto

ACDM y SCRUM
Una de las diferencias más notorias entre las dos metodologías de desarrollo es la cantidad de
roles que existen en cada metodología ya que ACDM propone un número mayor de roles que se
encargan de taras específicas.
ACDM SCRUM
Ingeniero gerente Scrum Team
Ingeniero de soporte Product Owner
Arquitecto jefe Scrum Master
Científico jefe Developement Team
Ingeniero de requisitos
Ingeniero de procesos de calidad
Ingeniero de producción

El número de roles que propone el ACDM resulta en equipos más grandes y difíciles de
manejar. SCRUM ofrece una ventaja sobre ACDM debido a que sus roles son autoorganizados y
multifuncionales, por lo tanto, no dependen de actores externos al equipo.
La administración del tiempo es mas optima utilizando SCRUM debido a que los Sprints
tienen duración fija, mientras que en ACDM la duración de cada iteración no es clara al principio
del desarrollo.

QAWM y SCRUM
La primera diferencia que logramos identificar evaluando los dos enfoques es que QAWM no
es una metodología de desarrollo y su finalidad es la captura de requerimientos, escenarios y
drivers de arquitectura.
QAWM es un taller que dura un solo día y hace parte de la primera fase de un proceso de
arquitectura y cuyo enfoque principal es la calidad.
SCRUM propone una forma de trabajo que ataca los problemas relacionados con la gestión de
proyectos y como tal necesita de un complemento que se ocupe de los aspectos técnicos.
El tamaño de los equipos es muy similar, QAWM puede ser mayor en algunas ocasiones y
siempre necesitara de dos roles que son el Lead QAW y el escritor de QAW.

Modelo de vista “4+1” y SCRUM


El modelo 4+1 no es una metodología de desarrollo sino un modelo que describe las vistas
UML de la arquitectura de un proyecto de software. Este modelo permite resolver de forma
separada las distintas problemáticas presentadas por los stakeholders.
SCRUM no propone un modelo que permite describir la arquitectura y los componentes
necesarios para el desarrollo de un proyecto, pero propone lanzamientos que permite una
comunicación active entre los stakeholders.

FURPS+ y SCRUM
El modelo FURPS se enfoca principalmente en desarrollar los requerimientos funcionales, no
funcionales y restricciones adicionales. No es una metodología de desarrollo como SCRUM pero
es un modelo que debería ser aplicado en toda fase de levantamiento de requerimientos.

Postmortem

Contexto del proyecto


El proyecto Planetas-API tuvo como finalidad la creación de un servicio web tipo REST que
permite almacenar, borrar, actualizar y consultar cuerpos celestes como planetas y estrellas. Se
utilizó el patrón de diseño Modelo Vista Controlador (MVC) para la arquitectura del servicio
utilizando las tecnologías NodeJS y MongoDB.
La finalidad de este postmortem es documentar los aspectos mas importantes de la creación
del servicio, los retos del equipo diseñando, e implementando del proyecto y recomendaciones
para futuros proyectos.
Línea temporal del proyecto

Análisis del problema


En búsqueda de gestionar todos los datos obtenidos de cuerpos celestes encontrados en los
últimos años, surgió la necesidad de automatizar el proceso de almacenar la información, su
futura consulta y actualización de la información almacenada en una base de datos.
Sin embargo, debido a que los astrónomos trabajan en distintas partes del mundo, se requiere
que el acceso a dicha base de datos esté disponible para ser accedida desde cualquier tipo de
plataforma en cualquier lugar del mundo.
Se optó por el desarrollo de un servicio web que puede ser consumido desde cualquier
plataforma y permite ejecutar operaciones en la base de datos.

Cumplimiento de los objetivos específicos


El servicio web cumple con las operaciones necesarias sobre la base de datos que son guardar,
borrar, actualizar y consultar registros de la base de datos que cumple con el primer objetivo
específico.
La base de datos almacena información de dos tipos de entidades que son planetas y estrellas,
esto cumple el segundo objetivo específico.
El servicio web puede ser consultado desde cualquier tipo de plataforma usando el enlace
https://pure-beach-54311.herokuapp.com y la ruta correcta, esto cumple el tercer objetivo
específico.

Áreas de mejora
Los requerimientos del servicio web no fueron claramente definidos en el principio del
proyecto. Esto resultó en un tiempo mas extendido del proceso de pruebas debido a que los
requerimientos eran ambiguos y no definía una funcionalidad clara por parte del servicio.
En consecuencia, se tuvo que hacer pruebas adiciones después de varias sesiones de desarrollo
no contempladas en el cronograma para obtener un producto de calidad.

Recomendaciones
El grupo de trabajo ha llegado a la conclusión de que una definición solida de los
requerimientos del proyecto permite un diseño mas optimo y robusto del producto. Además,
permite un proceso de pruebas mas confiable en un tiempo menor.
Se recomienda hacer la gestión necesaria para hacer un levantamiento de requerimientos
exitoso.

Conclusiones del proyecto


Las tecnologías modernas permiten el desarrollo de aplicaciones web que son muy fáciles de
integrar con software ya desarrollado en muy poco tiempo.
Los patrones de diseño son una herramienta indispensable para solucionar problemas
recurrentes en el área del desarrollo de software. Entregan un marco de trabajo flexible con
buenas practicas para el desarrollo de distintos tipos de arquitectura.
Las bases de datos no relacionales son muy flexibles y fáciles de implementar. Ofrecen
soluciones a problemas existentes en el área de las bases de datos. No se recomienda usar este
tipo de base de datos si se necesita hacer transacciones o mantener un modelo relacional.
GLOSARIO

API: Una API es un conjunto de definiciones y protocolos que se utiliza para desarrollar e
integrar el software de las aplicaciones. API significa interfaz de programación de aplicaciones.

SOA: service oriented architecture

SOFTWARE: Software es un término informático que hace referencia a un programa o


conjunto de programas de cómputo, así como datos, procedimientos y pautas que permiten
realizar distintas tareas en un sistema informático.

SERVICIOS: Un servicio podría ser un conjunto de actividades que buscan satisfacer las
necesidades de un cliente

BASE DE DATOS: Una base de datos es un conjunto de datos pertenecientes a un mismo


contexto y almacenados sistemáticamente para su posterior uso.

MVC: Modelo - Vista - Controlador un patrón de diseño de software para programación que
propone separar el código de los programas por sus diferentes responsabilidades.

IT: Tecnología de la información Así, el concepto de IT se refiere a la búsqueda, gestión y


almacenamiento de la información utilizando los medios tecnológicos al alcance de cada
compañía. Por eso se trata de un nuevo modelo de trabajo que está siendo explotado por muchas
empresas.
Referencias

Frank Buschman, R. M. (1996). Pattern Oriented Software Architecture a System of


Patterns. West Sussex: Wiley.

Centro Europeo de Postgrado. (s.f.). Obtenido de https://www.ceupe.com/blog/que-es-


soa.html
Epicor. (s.f.). Obtenido de https://www.epicor.com/es-mx/technology/service-
oriented-architecture/

También podría gustarte