{"id":{"repo_id":"brazil-ufpe","oai_identifier":"oai:repositorio.ufpe.br:123456789/29769"},"canonical_url":"https://search.dev.ndltd.org/etd/brazil-ufpe/oai:repositorio.ufpe.br:123456789/29769","repository":{"repo_id":"brazil-ufpe","name":"Brazil UFPE","base_url":"https://repositorio.ufpe.br/oai/request"},"display":{"title":"Aplicando Design by Contract em web services RESTful","abstract":"REST é um estilo arquitetural definido em 2000 por Roy Thomas Fielding, baseado no protocolo HTTP, estando hoje em constante adoção, inclusive pelas grandes empresas de tecnologia do mundo, como o Google e Facebook. Design by Contract é uma técnica de programação concebida em 1992 por Bertrand Meyer afim de aumentar a segurança e robustez de softwares através da utilização de contratos. Como o estilo REST não possui especificação de contratos ou validação, na presente pesquisa foi efetuada a aplicação de Design by Contract em Web Services RESTful. Com o objetivo de validar esta proposta, apresentamos provas de conceito entre a especificação oficial de validação Bean Validation do Java EE e do Design by Contract implementada por uma adaptação da linguagem AspectJML, abordando comparações de funcionalidades, desempenho e produção de mensagens de erro. Os resultados demonstraram que esta versão adaptada da linguagem AspectJML possui mais recursos para a implementação de contratos do que as validações que são possíveis de ser criadas com Bean Validation, tendo também um desempenho de retorno de requisição ligeiramente superior para implementar o mesmo contrato e sendo capaz de produzir respostas de erro compatíveis com boas práticas RESTful.","abstract_html":"REST é um estilo arquitetural definido em 2000 por Roy Thomas Fielding, baseado no protocolo HTTP, estando hoje em constante adoção, inclusive pelas grandes empresas de tecnologia do mundo, como o Google e Facebook. Design by Contract é uma técnica de programação concebida em 1992 por Bertrand Meyer afim de aumentar a segurança e robustez de softwares através da utilização de contratos. Como o estilo REST não possui especificação de contratos ou validação, na presente pesquisa foi efetuada a aplicação de Design by Contract em Web Services RESTful. Com o objetivo de validar esta proposta, apresentamos provas de conceito entre a especificação oficial de validação Bean Validation do Java EE e do Design by Contract implementada por uma adaptação da linguagem AspectJML, abordando comparações de funcionalidades, desempenho e produção de mensagens de erro. Os resultados demonstraram que esta versão adaptada da linguagem AspectJML possui mais recursos para a implementação de contratos do que as validações que são possíveis de ser criadas com Bean Validation, tendo também um desempenho de retorno de requisição ligeiramente superior para implementar o mesmo contrato e sendo capaz de produzir respostas de erro compatíveis com boas práticas RESTful.","abstract_has_math":false,"creators":["SILVA, Alan de Oliveira"],"institution":"Universidade Federal de Pernambuco","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":["REBÊLO, Henrique Emanuel Mostaert"],"committee_chairs":[],"committee_members":[],"year":2017,"date_issued":"2017-12-28","date_published":"2017-12-28","updated_at":"2026-07-24T01:18:40Z","subjects":["Ciência da computação","Web services"],"languages":["por"],"rights":["openAccess","Attribution-NonCommercial-NoDerivs 3.0 Brazil"],"rights_urls":["http://creativecommons.org/licenses/by-nc-nd/3.0/br/"],"identifier_entries":[]},"links":{"outbound_url":"https://repositorio.ufpe.br/handle/123456789/29769","outbound_label":"Repository record","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["REBÊLO, Henrique Emanuel Mostaert"]},{"key":"dc:creator","label":"Author","values":["SILVA, Alan de Oliveira"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2019-03-19T21:03:06Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2019-03-19T21:03:06Z"]},{"key":"dc:date.issued","label":"Date","values":["2017-12-28"]},{"key":"dc:publisher","label":"Institution","values":["Universidade Federal de Pernambuco"]},{"key":"dc:type","label":"Dc Type","values":["masterThesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Ciência da computação","Web services"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["por"]},{"key":"dc:rights","label":"Dc Rights","values":["openAccess","Attribution-NonCommercial-NoDerivs 3.0 Brazil"]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://creativecommons.org/licenses/by-nc-nd/3.0/br/"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://repositorio.ufpe.br/handle/123456789/29769"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["REST é um estilo arquitetural definido em 2000 por Roy Thomas Fielding, baseado no protocolo HTTP, estando hoje em constante adoção, inclusive pelas grandes empresas de tecnologia do mundo, como o Google e Facebook. Design by Contract é uma técnica de programação concebida em 1992 por Bertrand Meyer afim de aumentar a segurança e robustez de softwares através da utilização de contratos. Como o estilo REST não possui especificação de contratos ou validação, na presente pesquisa foi efetuada a aplicação de Design by Contract em Web Services RESTful. Com o objetivo de validar esta proposta, apresentamos provas de conceito entre a especificação oficial de validação Bean Validation do Java EE e do Design by Contract implementada por uma adaptação da linguagem AspectJML, abordando comparações de funcionalidades, desempenho e produção de mensagens de erro. Os resultados demonstraram que esta versão adaptada da linguagem AspectJML possui mais recursos para a implementação de contratos do que as validações que são possíveis de ser criadas com Bean Validation, tendo também um desempenho de retorno de requisição ligeiramente superior para implementar o mesmo contrato e sendo capaz de produzir respostas de erro compatíveis com boas práticas RESTful."]},{"key":"dc:title","label":"Title","values":["Aplicando Design by Contract em web services RESTful"]}]}],"canonical_facts":{"dc:contributor.advisor":["REBÊLO, Henrique Emanuel Mostaert"],"dc:creator":["SILVA, Alan de Oliveira"],"dc:date.accessioned":["2019-03-19T21:03:06Z"],"dc:date.available":["2019-03-19T21:03:06Z"],"dc:date.issued":["2017-12-28"],"dc:description.abstract":["REST é um estilo arquitetural definido em 2000 por Roy Thomas Fielding, baseado no protocolo HTTP, estando hoje em constante adoção, inclusive pelas grandes empresas de tecnologia do mundo, como o Google e Facebook. Design by Contract é uma técnica de programação concebida em 1992 por Bertrand Meyer afim de aumentar a segurança e robustez de softwares através da utilização de contratos. Como o estilo REST não possui especificação de contratos ou validação, na presente pesquisa foi efetuada a aplicação de Design by Contract em Web Services RESTful. Com o objetivo de validar esta proposta, apresentamos provas de conceito entre a especificação oficial de validação Bean Validation do Java EE e do Design by Contract implementada por uma adaptação da linguagem AspectJML, abordando comparações de funcionalidades, desempenho e produção de mensagens de erro. Os resultados demonstraram que esta versão adaptada da linguagem AspectJML possui mais recursos para a implementação de contratos do que as validações que são possíveis de ser criadas com Bean Validation, tendo também um desempenho de retorno de requisição ligeiramente superior para implementar o mesmo contrato e sendo capaz de produzir respostas de erro compatíveis com boas práticas RESTful."],"dc:identifier.uri":["https://repositorio.ufpe.br/handle/123456789/29769"],"dc:language.iso":["por"],"dc:publisher":["Universidade Federal de Pernambuco"],"dc:rights":["openAccess","Attribution-NonCommercial-NoDerivs 3.0 Brazil"],"dc:rights.uri":["http://creativecommons.org/licenses/by-nc-nd/3.0/br/"],"dc:subject":["Ciência da computação","Web services"],"dc:title":["Aplicando Design by Contract em web services RESTful"],"dc:type":["masterThesis"]},"updated_at":"2026-07-24T01:18:40Z"}