Resumen: Actualmente en los negocios, las compañías necesitan comprender una gran parte de permisividad para adaptarse ligeramente al entorno rígido que les demanda. Las arquitecturas tradicionales no han facilitado las respuestas adecuadas a esta necesidad debido a que están pensadas para un propósito específico y limitado, de modo que su integración resulta muy complicada, dificultando la rápida adaptación de los procesos para poder aprovechar nuevas oportunidades de negocio y responder o prevenir amenazas externas. Hoy en día ha surgido una nueva forma de concebir los sistemas de información, denominada Arquitectura Orientada a Servicios (SOA), con opción de brindar mejor respuesta hasta el momento, para dotar a las organizaciones de la permisividad requerida. En una SOA la funcionalidad aplicativa se brinda a través de componentes denominados servicios, que presentan interfaces estándar bien definidas y que representan funciones de negocio.
Palabras clave:ArquitecturaArquitectura,distribuidosdistribuidos,serviciosservicios,sistemassistemas,SOA (arquitectura orientada a servicios)SOA (arquitectura orientada a servicios).
Abstract: In todays business, companies need to understand a great deal of permissiveness to adapt slightly to the demanding rigid environment, traditional architectures have not provided adequate responses to these needs because they are designed to specific and limited purpose so that their integration is very complicated, making it difficult to quickly adapt processes to take advantage of new business opportunities and respond or prevent external threats. Nowadays, a new way of conceiving information systems have appeared, it is called Service Oriented Architecture (SOA), it offers the option of providing a better response up to now in order to provide organizations with required permissiveness. In an SOA, the application functionality is provided through components called services, which have well-defined standard interfaces and represents business functions.
Keywords: Architecture, distributed, services, systems, SOA (Service-Oriented Architecture).
Sistemas y Computación
Arquitectura de Sistemas Distribuidos SOA
SOA Distributed Systems Architecture
Recepción: 28 Mayo 2020
Aprobación: 30 Junio 2021
THE systems of information have route during the last years a way that carries from the primitive monolithic systems, going through systems client/server, difficult to administer, until the architectures based in services, in which the functionality of the applications implements in the form of reusable and available components by means of standard interfaces, that can combine to create functions progressively more complex [1].
In today’s business world, companies need to have an enormous permissiveness to be able to adapt nimbly to what some very demanding surroundings sues them. As we have already commented before, the difficulty of traditional architectures [2][3] for settling in the processes of business [4] resides in that, the applications are not designed to be integrated with others. In these types of architectures, the application designs generally like “silos vertical”, each one of them was thought for a specific and limited purpose.
The main purpose of this document is precisely to describe the technological architecture of integration based in services (SOA) [5].
For the development of this article, we realized the investigation in diverse sources, articles, different Databases of Faculty of Engineering provided by the Library of the Technological University and utility platforms (LTUP). criteria that handled for the sources of information referents to the architecture SOA [6], took in a no main rank to 5 years of antiquity.
The Architecture Oriented to Services (SOA)
SOA [7] Is a model of components that interrelates the different functional units of an application called services through very defined interfaces between mentioned services [8]. The interfaces are defined in a neutral way independently from the hardware platform, operating system [9], or programming language [10] in which the service is implemented. This allows the services to build on a big variety of technologies, they can to interact ones with others of a uniform and universal way [11].
Many of SOA’s ideas are not totally new. However, a characteristic that differentiates SOA of other similar old architectures such as CORBA is the importance that it has purchased in SOA, it means a relatively recent advance that takes advantage of the wide acceptance of the XML as a common language [12] of description of data, and it consists in using interfaces for a group of specifications based in XML, these specifications are called Web Services [13] and they have been officially adopted by the committee in charge of fixing the web standards], the W3C [14]. In a SOA the different services usually do not to interact in shape directly ones with others, but they do it using the mediation of an Enterprise Service Bus (ESB) [15].
An ESB is an integration backbone which connects different services [16] and it serves as a channel that permits the messages flow in order to allow interaction; so that, the integration architecture of the services happen to turn into something like this [17].

Enterprise Service Bus [19], architecture software model as it is showed in the chart. The necessary capacities to implement SOA [20] are:
Businesses Modeling process [21]: the analyst of processes or specialist in methods and procedures applies his business knowledge to create graphically a model of the process and simulate in its workstation the results of its execution (time, costs, income, resources).
Assembling necessary components: It involves completing the modeling process in the previous step with the necessary technical elements (components J2EE [22], structures of data, messages, etc.), so it makes possible a proper execution.
Deployment: that is to say, execute the assembled process using the necessary infrastructure of software and hardware [23], it can include elements such as an engine of processes and an ESB [24].
Task Manager: it means to monitor the execution of the programs to be able to correct it in possible real time deviations and situations of exception that can be generated; like for example, undesirable delays, and to be able to evaluate the results of the execution against put them of business defined.
This architecture (SOA) is confirmed by a big variety of tools like generic interfaces and standardized protocols [25], looking forward to lowering independence in its designs for systems of information that apply it in the technical development and reuse the existent functions. The union of all these groups of services allows it to be very economical in construction and replacement, their independence when being joined allows SOA to be easier and simple to change, even easier than other usual architectures [26]. SOA is a model of architecture software design for computers which applications are designed for interacting with others, by means of the communication protocol providing a countless number of services at work oriented to businesses [27], furthermore it shows that this architecture is an interpretation of information technology [28].
This architecture seems to be a relative paradigm in the information technology fields and the business sector [29], it aims to be an agile and efficient architecture in the future, that means that this model will allow users to change the way they think in the business surroundings, the target of this model is to handle the flow and the development of implementation and services management during the processes and can help to fulfil the scopes of any company that practices this architecture.
In the following image, it will be shown and described the design principles of SOA architecture:
Formal Contract: it Is the specialization of the service in which it must mention and establish important points like the type of consumption taken from the service, the location, rules, and operations characteristics that it offers.
Low Coupling: This definition refers to that the services must adapt to changes in its dependencies in the shortest possible time; in that way, the costs are inferior, and this process can be carried out in a transparent way where the changes are not transcendental.
Composition: This service is made up by another services, so that this group of services can commission to resolve a more complex task.
Discovery: The purpose of this principle is that without mattering how it operates internally, the service must execute the assigned task and launch a result.
No state: This purpose is tied to the agreement of service where it must handle a mechanism of inventories of services in which it specifies the functionality and how can access to it.
Autonomy: This is a fundamental principle to realize tasks without having any dependency of external factors of the system since the controlling part works in the same way.
Reusability [31] This principle presents attainments an unbeliever that has like end be reusable services.
Now we will give a clear example of the concept “service”; in this type of architecture, it refers to the function that applications like Amazone [32], eBay [33], AliExpress [34], amongst other have, these platforms have in common that they work in the e-commerce field [38], so e-market is their model of usage.
An user makes a purchase on a web page [35], after making the request, there is a collection of data of the user and his or her card, once the electronic trading step is done, the buyer coordinates the delivery with a service provider, in that sense, the user can’t tell the difference between these processes.
Some of the advantages that this architecture has is that it permits to work with projects realized by others, in addition it shows that they did not have any inconvenient; moreover, it also allows to optimize the agility and flexibility of the organizations, what stands out the most from them is the reuse that is applied in offered software like this independence and can be expanded to work with diverse platforms.
This architecture has showed to be an applicable tool to any type of business, since the services [36] to which is oriented gives capacity, handle, flexibility, agility control, versatility, time, perspectives of growth and advance in the information technologies application [37] in different platforms [38] applied to the improvement and the management of business sector [39].
If we arrive to a company that has grown a lot in a classical way through the organic growth as well by the acquisition of different companies [40], in many occasions we face complex surroundings to handle.
In these cases, if we do not have an architecture oriented to service [41], every time that it wants to offer a new service, it must develop an application to measure each service with the costs that it has, not only from the economic [42] development point of view, but also from the strategic point of view due to the necessary time to carry out this development [43].
on the other hand, we find a company with a structure and architecture oriented to services [44], where the developments of each service, system or application have been done thinking that this has to integrate with others, we will have distinct modules that will be able to be reused to launch the new service, as in many aspects it will have common elements with the already existent services inside the system.
If is being considered to integrate another recently purchased entity, in the case of the first acquisition, we will possibly have to develop a customized application to be able to access to the data of the system, but as we are reusing the entrance of data to our surroundings, it will be always the same information, so the only thing we would have to redo is the connection with the old data. These structural changes can help to change the feeling that exists in again.
There is a lot of organizations that have departments that turn into brakes for the companies and many times it is necessarily have expenses to help in transforming the department in engines of
There is a lot of organizations that have departments that turn into brakes for the companies and many times it is necessarily have expenses to help in transforming the department in engines of innovation and of development inside of them to be able to realize and offer services [45] every time rapidity.
Anamnesis [46] was developed in the year 2016, in which the problematic that presents the sector of health in Colombia were exposed, problems that go from the health services coverage until the economic problems that health provider entities have, it concluded that the solution in front of this problem was to develop a web applicative, Android and IOS [47][48] that allow by means of the document of identity, consult the vital required information for treating in an emergency case. Due to this project, there were realized several investigations that showed different types of architectures with distributed systems for the project executions, one of the proposal was to work with an architecture that has the capacity to provide distributed accesses to clinical histories through banks of health registers and the handle of SOA architectures, in that way, this development can centralize the data stored in repositories of medical registers and have an order in the accesses to the registers, it would also establish mechanisms of security of the saved information.
The solution posed considered for this project, was to work with two applicative: a web applicative that allows to work in computation teams, and another applicative that works on Smartphones, as it has been mentioned previously, for said applicative which was made following the model of the three layers.
In the review executed during this project, we found a very interesting article [50] on the proofs of integration in the SOA architecture, where it proposes a proof method that applies the SOA model, it comprises phases that go from the knowledge of surroundings of the development until the proof executions.
Tests are applied in this research. Before starting the tests, the software [51] must be identified, then it will be used for a set of finite test cases in order to evaluate and improve the product quality [52] identifying and correcting problems caused by errors.
This integration method of proofs allows to the commissioned people to realize tests in oriented architectures to the service that can be guided in the moment of the execution of tests, where it is recommended to be ordered in the phases of tests and realize a good work in team, informing to the team of development about the activities that the software is realizing, when it is speaker of phases, it refers to four phases that are defined as the ones below:
When initiating the phase 1, as the tests surrounding must be defined, these surroundings are related to the proofs of the black box where it is created a group of proofs and data is inserted in it, afterwards the scope of proofs have to be defined and have the following requests: cases of uses, histories of users, methodology of services consumption that the software has.
For the second phase, the cases and data of proofs are defined, the tester of proof has to verify each determined service by the data requested of the server and define the expected answers, the cases of proofs have to be gathered in an archive, this phase can work with false services, by means of the SoapUI tool [54], this application simulates the operation of a service, finally it has to predetermine proof results that serve to define if there was a failure or not in the phase 3 through the applicative SoapUI, it establishes the staff of proofs, said execution of proofs has to establish the parameters to create the group of data of proofs.
In the last phase, it is made a behavior analysis of the system during tests, these proofs will be found in three different surroundings: in the first surrounding, it is initiate the elements for deployment of the system under proof, in the second surroundings, it is initiated the proofs under the system, in the third surroundings, the data is injected to the system of proofs, finally it executes the case of proofs and attain the results that show the system behavior.
The SOA resolves the transversal integration problem attacking it in the root: it replaces the strong attachment of the applications by a group of independent services linked by an ESB [55].
The ESB caters feeble attachment, so that the services act like true black boxes. If for example, the internal implementation of a service changes and modifies some rules of businesses to level of ESB, it is still possible to keep everything working in transparent way for the remaining services that would not be affected at all.
By means of this article we were able to study the functionality and peculiarities of this architecture oriented to service (SOA).
It is important to highlight the interesting way in which this architecture works offering a big quantity of services of entrance and exit, so those dates can be analyzed through the applicative of service and all the available tools in order to achieve the development of this architecture and apply it to the business, in the business sector.
It is to notice that all these services (SOA) of web applications have a big advantage in the interaction of internal and external platforms without creating any dependency when designing and configure them; they offer agility, efficiency, and security in the surroundings in that it is exerting the software.

Doctor en Informática de la Universidad Pontificia de Salamanca con sede Madrid España Suficiencia investigativa, D.E.A Universidad Pontificia de Salamanca con sede Madrid España, Magister en Investigación de Operativa y Estadística de la Universidad Tecnológica de Pereira. Ingeniero de Sistemas de la Universidad Cooperativa de Colombia. Profesor ISC-UTP, Transitorio Titular en la Facultad de Ingenierías. Ha publicado artículos en revistas nacionales especializadas. Libros publicados: Guía didáctica de estructuras de datos, Pertenece a los grupos de investigación Grupo Grande Grupo de Avanzada en Desarrollo de Software, Grupo GIA - Grupo de investigación en Inteligencia Artificial, Semillero de Investigación GNTO Grupo de Nuevas técnicas de búsqueda y de optimización.

Ingeniero de Sistemas. Especialista en Instrumentación Física. MSc en Comunicación Educativa. PhD en Ciencias de la Educación. Docente de planta categoría Titular, Programa Ingeniería e Sistemas y Computación, Facultad de Ingenierías, Universidad Tecnológica de Pereira. Autor de varios libros de programación y de una buena cantidad de artículos de investigación científica educativa en el área de la programación de computadores sobre aproximación a la optimización de procesos de enseñanza y aprendizaje dentro del contexto de la formación de ingenieros con perfil tecnológico.

Ingeniero de Sistemas. MSc en Ingeniería de Sistemas. Docente Titular de Planta Universidad Tecnológica de Pereira, con 15 años de experiencia en el campo de la formación universitaria. Autor de libros académicos y de investigación. Ha publicado artículos en revistas especializadas nacionales e internacionales. Su área de Investigación se centra en los procesos de enseñanza y aprendizaje de la Programación.



