Arquitectura de desarrollo


En Softitlan el profesionalismo es una de nuestras virtudes, realizamos nuestros desarrollos basados en una estructura que nos permite realizar software de calidad.

Responsive image
Segmentación de Proyectos
  • Base de datos: En esta sección, es donde se guardan todos los datos, se encuentra en una sección fuera por razones de seguridad y organización, las bases de datos de Softitlan utilizan MYSQL y están gestionadas por Workbench.

  • Back-End: En el área del Back-End encontramos toda la lógica/funcionalidad del software dividido también en capas, proporciona vida al sistema, entre sus funciones es hacer la conexión con la BD y la implementación de la lógica así como la estructuración de los objetos.

  • Front-End: El area del Front-End se encuentra toda la parte que usuario podrá observar, se encuentra la interfaz gráfica de usuario, entre sus funciones es la de recibir la información del usuario y mandarla al Back-End para ser tratada y viceversa.


Responsive image
Acceso a cada ambiente
  • Nuestros servidores se encuentran alojados en AWS Amazon Web Service (AWS) es un conjunto de servicios almacenados en la nube, Softitlan usa AWS por razones de estabilidad y seguridad, almacenando sus datos y servidores ahí. Los desarrolladores de Softitlan realizan la implementación del software desde repositorios para después ser evaluados y una vez que el proceso sea validado poder aplicar los cambios en el servidor.



  • Repositorios: La organización y el acceso a los repositorios se lleva a cabo por medio de GIT permitiendo el manejo de versiones. Softitlan y sus desarrolladores almacenan sus repositorios en GitHub de manera privada, de la rama MASTER se hacen diferentes despliegues de ramas entre ellas DEV, por otra parte, se desprende de la rama DEV haciendo subramas para poder agregar funcionalidades y características al desarrollo del software. El proceso consta de etapas de desarrollo y revisión.



Responsive image
Spring Boot Java 8

Es una herramienta para el desarrollo del software del lado del Back-End con Java utilizando características Enterprise con arquitecturas basadas en servicios web como REST Y SOAP. Su infraestructura ligera que elimina la parte del trabajo de configurar las aplicaciones, simplifica la selección de jars con maven y desplegar el servidor para poder enfocarnos en el desarrollo de nuestro software.

  • Intuitivo: Tiene valores predeterminados razonables, para que se pueda desarrollar una aplicación rápidamente a través de los valores usados habitualmente.

  • Personalizable: Permite personalizar fácilmente una aplicación de Sprint Boot para que coincida con los gustos de cada programador. Permite personalizar en la configuración inicial y posteriormente durante en el ciclo de desarrollo.



Responsive image
Distribucion del Back
  • Seguridad interceptor: El interceptor es una capa de seguridad que nos permite restringir al acceso al Back-End. Es una implementación de AOP que intercepta solicitudes en segundo plano para recursos dinámicos, es decir, intercepta solicitudes a la capa de control. Los escenarios incluyen juzgar si el usuario tiene permiso para entrar al backend y luego un nivel más alto de escenarios de uso. Por ejemplo, el interceptor se puede usar junto con WebSocket para interceptar solicitudes de WebSocket y realizar el procesamiento correspondiente.

  • Capa de comunicación: Endponint: Se encarga de conectar con la aplicación cliente (frameworks clientes) mediante protocolos HTTP y hacer una llamada a la capa inferior para retornar una respuesta en formato JSON.

  • Capa lógica de negocios: Service: Contiene una interfaz en la cual se especifican los métodos y sus parámetros para que después sean implementados en la clase que contiene la lógica y su comportamiento. Solo debe de contener la lógica de negocio o procesos robustos.

  • Capa de ecceso a datos: Repository Esta capa se encarga de realizar el acceso a los datos con cada entidad, en esta Solo existe una interfaz que extienda de JPA Repository y debe ser una por cada entidad que se contenga en la base de datos.

  • Capa de datos: Model Esta capa contiene una copia de la estructura de las tablas de la base de datos que se va a utilizar. Se implementa una interfaz con su estructura para tener facilidad de recuperar los datos de un objeto.


Responsive image
Frameworks en el Front

Estos frameworks funcionan como clientes, nos ayudan a consumir los recursos del Back-End y mostrarlos en la interfaz de usuario.

  • React: React nos ayuda a crear interfaces de usuario mas sencillas. Diseña vistas simples para cada estado de la aplicación, además, se encarga de actualizar y renderizar de manera eficiente los componentes cuando los datos cambien. Para su uso crea componentes encapsulados que manejen su propio estado y conviértelos en interfaces de usuario complejas.


  • Sencha: Es una biblioteca de JavaScript sirve para desarrollar aplicaciones web interactivas. Tiene la funcionalidad de crear interfaces bastante funcionales gracias a que permite flexibilizar el manejo de los componentes como el DOM, Peticiones AJAX y DHTML.
    -Contiene componentes de Interfaz de usuario de alto performance y personalizables.
    -Licencias Open Source y comerciales.
    -API fácil de usar.