[en] In the present days, software tools that execute a distributed and decentralized process and data handling represent key figures for the good performance of a high number of industrial processes and business models. Specifically, Service Oriented Architectures (SOA) define an scenario where a set of entities belonging to a network collaborate among them with in an independent way to the underlying technology of each one of the entities, thus forming a flexible and auto-managed service federation. The main goal of this project is the implementation of service oriented architecture in a software component editing and assembling tool provided with graphical interface. This goal is reached by means of the Jini / Apache River platform, a set of libraries and frameworks extending the native Java platform to ease and provide tools to deploy these kinds of architectures. The starting point of the project is a simple software component assembling platform, entirely written in the Java programming language. This platform implements a user-friendly graphical interface to represent software components as black boxes that the user can interconnect to achieve their mutual collaboration; allowing in that way the creation and building of arbitrary complex processing networks as the aggregation, connection and encapsulation of many single components. Thanks to the environment established by Jini / Apache River, this project aims to achieve the publication as services of the component aggregations built using that tool. The latter means that any of the entities belonging to the federation may invoke and use the services in a remote way, without knowledge about their physical place of execution or their implementation details. Services must be reusable and must allow concurrent utilization by a large number of users. In that way, black boxes handled by the assembling tools user interface may represent software processes running on the local machine or in any other place of the federation. Interaction between both types of component aggregations is possible, including their reutilization and publication as a totally brand new service. The assembling tool is capable of browsing and obtaining any service available within the federation in the same way that its own software components are shown and used. The secondary goal of this project is the regular improvement of the functionalities offered by the component editing tool. As well as the adaptation and optimization of its graphical user interface to allow and ease the utilization of new service obtaining and publishing, many new features have been implemented to complement and improve the new process of service building and deployment, endowing this process with very flexible and powerful capabilities. Upon the ending of this project a very versatile tool has been produced, with capability to build complex processing networks by means of the aggregation of many other networks and services that may operate in different and indeterminate points within the Jini / Apache River entities' federation. It is as well capable of performing the deployment and initialization of such networks as public and standalone services in any point within the federation endowed with the possibility of doing so. It also allows remote control and management of published services.

[es] En la actualidad, las herramientas software que llevan a cabo un procesado y tratamiento de los datos distribuido y descentralizado resultan esenciales para la buena marcha de multitud de procesos industriales y modelos de negocio. En concreto, las Arquitecturas Orientadas a Servicios (SOA) proponen un escenario en el cual un conjunto de entidades pertenecientes a una red colaboran entre ellas de manera independiente a la tecnología subyacente de cada una de estas entidades, formando de esta manera una federación flexible y auto-gestionada de servicios. El principal objetivo de este proyecto consiste en dotar de una arquitectura orientada a servicios a una plataforma de edición y ensamblaje de componentes software mediante interfaz gráfica. Para ello se utiliza la plataforma Jini / Apache River, un conjunto de librerías y frameworks que extienden a la plataforma Java para favorecer y facilitar el despliegue de este tipo de arquitecturas. El punto de partida del proyecto es una plataforma de ensamblaje de componentes software simples escrita en el lenguaje de programación Java. Dicha plataforma representa a los componentes software de manera gráfica como cajas negras que es posible interconectar entre sí para conseguir su colaboración mutua, permitiendo de esta manera la construcción de redes de procesado arbitrariamente complejas en base a la agregación, conexionado y encapsulación de multitud de componentes sencillos. Gracias al entorno propuesto por Jini / Apache River, se pretende conseguir que las agregaciones de componentes construidas mediante la herramienta puedan ser publicadas como un servicio. Esto significa que el resto de entidades pertenecientes a la federación pueden hacer un uso remoto de dichos servicios sin conocimiento de su lugar físico de ejecución ni de sus detalles de implementación. Los servicios deben ser reutilizables y deben permitir el uso concurrente por parte de diferentes clientes. De esta manera, las cajas negras mostradas por la interfaz de usuario de la herramienta de ensamblaje pueden representar procesos software que se ejecutan en la máquina local o en cualquier otro punto de la federación. Es posible la interacción entre ambos tipos de agregaciones de componentes e incluso su reutilización y publicación como un servicio totalmente nuevo. La herramienta de ensamblaje es capaz de visualizar y obtener los servicios disponibles en la federación de la misma manera que visualiza los componentes software propios. El objetivo secundario de este proyecto es la mejora constante de las funcionalidades ofrecidas por la herramienta de edición de componentes. Además de la adaptación y optimización de la interfaz gráfica para facilitar el uso de las posibilidades de publicación y obtención de servicios, se han implementado multitud de nuevas características que complementan el nuevo proceso de construcción y despliegue de servicios y lo dotan de flexibles y potentes posibilidades. Al término de este proyecto se dispone de una herramienta versátil capaz de construir redes de procesado complejas como resultado de la agregación de multitud de otras redes y servicios que operan en puntos muy diversos de la federación de entidades Jini / Apache River. Es posible asimismo el despliegue e inicialización de dichas redes como servicios públicos en cualquier punto de la federación habilitado a tal efecto, y el control y la gestión remota de los servicios publicados.