SEArch, una infraestructura de ejecución de software basado en servicios

Autores
Montepagano, Pablo
Año de publicación
2023
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
López Pombo, Carlos Gustavo
Descripción
En las últimas décadas, con la explosión de Internet, las APIs (Application Programming Interfaces) se impusieron como el mecanismo ubicuo para hacer disponible una pieza de software como un servicio que puede ser consumido por otro sistema de software. Sin embargo, en la mayoría de los casos las APIs no están documentadas adecuadamente y solo se describen el formato de los datos necesarios para invocarlas y requerimientos básicos de los protocolos de invocación. Para escribir software que utilice un servicio externo a través de una API, se requiere escritura manual de código que utilice dicha API, la cual es específica a un proveedor en particular. En este trabajo implementamos una infraestructura experimental donde se cuenta con un repositorio global de contratos de provisión de servicios. Dichos contratos son descripciones formales de APIs. De esta manera, para desarrollar software que utilice un servicio externo, en lugar de escribir código específico para la API de un proveedor en particular, uno puede utilizar un contrato de requerimiento para describir qué espera del servicio externo. Dicho contrato se envía a un Service Broker que sabe determinar cuáles proveedores del repositorio global satisfacen el requerimiento. De esa manera, la infraestructura se ocupa de manera automática de hallar el mejor servicio disponible en tiempo de ejecución sin necesidad de depender exclusivamente de un proveedor en particular.
In the last decades, with the explosion of the Internet, Application Programming Interfaces (APIs) have emerged as the ubiquitous mechanism for making a piece of software available as a service that can be consumed by another software system. However, in most cases, APIs are not adequately documented, and only the data format needed to invoke them and basic invocation protocol requirements are described. To write software that uses an external service through an API, manual code writing that utilizes that specific API, which is provider-specific, is required. In this work, we implemented an experimental infrastructure where there is a global repository of services and their corresponding contracts. These contracts are formal descriptions of APIs. This way, to develop software that uses an external service, instead of writing specific code for a particular provider’s API, one can write a requirement contract to describe what is expected from the external service. This contract is sent to a Service Broker that can determine which providers in the global repository satisfy the requirement. In this manner, the infrastructure automatically handles finding the best available service at runtime without the need to rely exclusively on a particular provider.
Fil: Montepagano, Pablo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
SOA
CONTRATO
CFSM
INFRAESTRUCTURA
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000524_Montepagano

id BDUBAFCEN_7560fd139cc2942b112a868bb5e518e8
oai_identifier_str seminario:seminario_nCOM000524_Montepagano
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling SEArch, una infraestructura de ejecución de software basado en serviciosSEArch, a service-based infrastructure for software executionMontepagano, PabloSOACONTRATOCFSMINFRAESTRUCTURAEn las últimas décadas, con la explosión de Internet, las APIs (Application Programming Interfaces) se impusieron como el mecanismo ubicuo para hacer disponible una pieza de software como un servicio que puede ser consumido por otro sistema de software. Sin embargo, en la mayoría de los casos las APIs no están documentadas adecuadamente y solo se describen el formato de los datos necesarios para invocarlas y requerimientos básicos de los protocolos de invocación. Para escribir software que utilice un servicio externo a través de una API, se requiere escritura manual de código que utilice dicha API, la cual es específica a un proveedor en particular. En este trabajo implementamos una infraestructura experimental donde se cuenta con un repositorio global de contratos de provisión de servicios. Dichos contratos son descripciones formales de APIs. De esta manera, para desarrollar software que utilice un servicio externo, en lugar de escribir código específico para la API de un proveedor en particular, uno puede utilizar un contrato de requerimiento para describir qué espera del servicio externo. Dicho contrato se envía a un Service Broker que sabe determinar cuáles proveedores del repositorio global satisfacen el requerimiento. De esa manera, la infraestructura se ocupa de manera automática de hallar el mejor servicio disponible en tiempo de ejecución sin necesidad de depender exclusivamente de un proveedor en particular.In the last decades, with the explosion of the Internet, Application Programming Interfaces (APIs) have emerged as the ubiquitous mechanism for making a piece of software available as a service that can be consumed by another software system. However, in most cases, APIs are not adequately documented, and only the data format needed to invoke them and basic invocation protocol requirements are described. To write software that uses an external service through an API, manual code writing that utilizes that specific API, which is provider-specific, is required. In this work, we implemented an experimental infrastructure where there is a global repository of services and their corresponding contracts. These contracts are formal descriptions of APIs. This way, to develop software that uses an external service, instead of writing specific code for a particular provider’s API, one can write a requirement contract to describe what is expected from the external service. This contract is sent to a Service Broker that can determine which providers in the global repository satisfy the requirement. In this manner, the infrastructure automatically handles finding the best available service at runtime without the need to rely exclusively on a particular provider.Fil: Montepagano, Pablo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesLópez Pombo, Carlos Gustavo2023-11-22info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000524_Montepaganospainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-10-16T09:31:12Zseminario:seminario_nCOM000524_MontepaganoInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-10-16 09:31:13.622Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv SEArch, una infraestructura de ejecución de software basado en servicios
SEArch, a service-based infrastructure for software execution
title SEArch, una infraestructura de ejecución de software basado en servicios
spellingShingle SEArch, una infraestructura de ejecución de software basado en servicios
Montepagano, Pablo
SOA
CONTRATO
CFSM
INFRAESTRUCTURA
title_short SEArch, una infraestructura de ejecución de software basado en servicios
title_full SEArch, una infraestructura de ejecución de software basado en servicios
title_fullStr SEArch, una infraestructura de ejecución de software basado en servicios
title_full_unstemmed SEArch, una infraestructura de ejecución de software basado en servicios
title_sort SEArch, una infraestructura de ejecución de software basado en servicios
dc.creator.none.fl_str_mv Montepagano, Pablo
author Montepagano, Pablo
author_facet Montepagano, Pablo
author_role author
dc.contributor.none.fl_str_mv López Pombo, Carlos Gustavo
dc.subject.none.fl_str_mv SOA
CONTRATO
CFSM
INFRAESTRUCTURA
topic SOA
CONTRATO
CFSM
INFRAESTRUCTURA
dc.description.none.fl_txt_mv En las últimas décadas, con la explosión de Internet, las APIs (Application Programming Interfaces) se impusieron como el mecanismo ubicuo para hacer disponible una pieza de software como un servicio que puede ser consumido por otro sistema de software. Sin embargo, en la mayoría de los casos las APIs no están documentadas adecuadamente y solo se describen el formato de los datos necesarios para invocarlas y requerimientos básicos de los protocolos de invocación. Para escribir software que utilice un servicio externo a través de una API, se requiere escritura manual de código que utilice dicha API, la cual es específica a un proveedor en particular. En este trabajo implementamos una infraestructura experimental donde se cuenta con un repositorio global de contratos de provisión de servicios. Dichos contratos son descripciones formales de APIs. De esta manera, para desarrollar software que utilice un servicio externo, en lugar de escribir código específico para la API de un proveedor en particular, uno puede utilizar un contrato de requerimiento para describir qué espera del servicio externo. Dicho contrato se envía a un Service Broker que sabe determinar cuáles proveedores del repositorio global satisfacen el requerimiento. De esa manera, la infraestructura se ocupa de manera automática de hallar el mejor servicio disponible en tiempo de ejecución sin necesidad de depender exclusivamente de un proveedor en particular.
In the last decades, with the explosion of the Internet, Application Programming Interfaces (APIs) have emerged as the ubiquitous mechanism for making a piece of software available as a service that can be consumed by another software system. However, in most cases, APIs are not adequately documented, and only the data format needed to invoke them and basic invocation protocol requirements are described. To write software that uses an external service through an API, manual code writing that utilizes that specific API, which is provider-specific, is required. In this work, we implemented an experimental infrastructure where there is a global repository of services and their corresponding contracts. These contracts are formal descriptions of APIs. This way, to develop software that uses an external service, instead of writing specific code for a particular provider’s API, one can write a requirement contract to describe what is expected from the external service. This contract is sent to a Service Broker that can determine which providers in the global repository satisfy the requirement. In this manner, the infrastructure automatically handles finding the best available service at runtime without the need to rely exclusively on a particular provider.
Fil: Montepagano, Pablo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description En las últimas décadas, con la explosión de Internet, las APIs (Application Programming Interfaces) se impusieron como el mecanismo ubicuo para hacer disponible una pieza de software como un servicio que puede ser consumido por otro sistema de software. Sin embargo, en la mayoría de los casos las APIs no están documentadas adecuadamente y solo se describen el formato de los datos necesarios para invocarlas y requerimientos básicos de los protocolos de invocación. Para escribir software que utilice un servicio externo a través de una API, se requiere escritura manual de código que utilice dicha API, la cual es específica a un proveedor en particular. En este trabajo implementamos una infraestructura experimental donde se cuenta con un repositorio global de contratos de provisión de servicios. Dichos contratos son descripciones formales de APIs. De esta manera, para desarrollar software que utilice un servicio externo, en lugar de escribir código específico para la API de un proveedor en particular, uno puede utilizar un contrato de requerimiento para describir qué espera del servicio externo. Dicho contrato se envía a un Service Broker que sabe determinar cuáles proveedores del repositorio global satisfacen el requerimiento. De esa manera, la infraestructura se ocupa de manera automática de hallar el mejor servicio disponible en tiempo de ejecución sin necesidad de depender exclusivamente de un proveedor en particular.
publishDate 2023
dc.date.none.fl_str_mv 2023-11-22
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000524_Montepagano
url https://hdl.handle.net/20.500.12110/seminario_nCOM000524_Montepagano
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1846142865261985793
score 12.712165