• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Cursos Gerais ·

Engenharia de Software

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Tutorial Flask - Construindo API REST com Arquitetura SOA e SQLite

24

Tutorial Flask - Construindo API REST com Arquitetura SOA e SQLite

Engenharia de Software

UNAERP

Texto de pré-visualização

Prof Dr Rodrigo Plotze rodrigoplotzegmailcom Arquitetura Orientada a Serviço ARQUITETURA ORIENTADA A SERVIÇO SOA 2 ServiceOrientedArchitecture é um estilo de arquitetura de software cuja finalidade é que suas aplicações devem ser disponibilizadas na forma de serviços serviços estão conectados através de um barramento de serviços que disponibiliza interfaces acessíveis através de Web Services SW ou outra forma de comunicação entre aplicações 3 Arquitetura Orientada a Serviço COULORIS et al 2001 Arquitetura baseada em computação distribuída Comunicação por requestresponse integrando os sistemas clientes e os sistemas que implementam o serviço O serviço é a principal componente desta arquitetura e tem como resultado maior agilidade para entender as novas demandas flexibilidade para atender às mudanças 4 Arquitetura Orientada a Serviço Segundo OASIS 2006 5 Arquitetura Orientada a Serviço é um meio para organização e utilização de competências distribuídas que estão sob controle de diferentes domínios proprietários um meio para organizar as soluções que promovem o reuso crescimento de interoperabilidade Segundo GARTNER GROUP 2013 6 Arquitetura Orientada a Serviço SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas Evolução das Tecnologias de Sist Distribuídos 7 Arquitetura Orientada a Serviço MOM Message Oriented Middleware Características Baixo Acoplamento Loose coupling Cada atividade funcionalidade do negócio é implementada como um serviço Um componente independente poderá ser utilizado quantas vezes forem necessárias em partes diversas do sistema 8 Arquitetura Orientada a Serviço Características Neutralidade de Implementação Não existem limitações técnicas em relação a modo de implementação Não há limitações em função de tecnologias linguagens ou plataformas 9 Arquitetura Orientada a Serviço Características Interoperabilidade Liberdade de desenvolvimento Possibilidade de sistemas coexistirem e comunicaremse independente de fabricantes ou tecnologias 10 Arquitetura Orientada a Serviço Service Consumers Messages Messages Messages Service Bus Configuration Rules Management Reporting Service Interfaces and Service Implementations Vantagens Reuso de Código Redução de Redundância de Funcionalidades Redução do Custo de Manutenção 12 Arquitetura Orientada a Serviço SERVIÇOS WEB No cenário da computação distribuída os Serviços Web ou Web Service SW têm se tornado uma tendência e estão sendo explorados nos mais variados tipos de aplicações 14 Serviços Web Um SW pode ser definido como um substrato para construir aplicativos distribuídos utilizando softwares que são executados em diferentes sistemas operacionais e dispositivos EWALD 2002 15 Serviços Web Os serviços são independentes e não estão restritos a uma plataforma específica e nem a uma infraestrutura tecnológica Assim é possível que um SW em qualquer plataforma e em qualquer linguagem de programação seja atrativo pelo fato desse modelo ser baseado em tecnologias padronizadas 16 Serviços Web Ciclo de vida de um Serviço Web 17 Serviços Web O serviço Web SW é atualmente uma das tecnologias mais utilizadas para a implementação da arquitetura SOA Esses serviços são otimizados para serem usados por outros programas e não por pessoas O uso transparente de HTTP possibilita a adoção dos serviços Web 18 Serviços Web Consulta de Serviços httpswwwprogrammablewebcomapis httpusgovxmlcom httpsrapidapicom httpsgithubcompublicapispublicapis AnyAPI BrasilAPI 19 Serviços Web Tipos de Serviços Web SOAP Restful 20 Serviços Web SOAP WEB SERVICES Componentes Simple Access Object Protocol SOAP Web Services Description Language WSDL Universal Description Discovery and IntegrationUDDI 22 Soap Web Services Simple Access Object Protocol SOAP Troca de informações utilizando o modelo de requisiçãoresposta no formato XML A comunicação ocorre por meio do protocolo HTTP 23 Soap Web Services Simple Access Object Protocol SOAP Principal elemento da infraestrutura dos Web Services Independentemente de plataformas sistemas operacionais modelos de objetos e linguagens de programação auxiliando muito a interoperabilidade entre objetos e componentes distribuídos 24 Soap Web Services Simple Access Object Protocol SOAP Os pedidos SOAP podem ser feitos em três padrões GET POST e SOAP Os padrões GET e POST são idênticos aos pedidos feitos por navegadores de web O SOAP é um padrão semelhante ao POST Os pedidos são feitos em XML e permitem recursos mais sofisticados como passar estruturas e arrays 25 Soap Web Services Simple Access Object Protocol SOAP 26 Soap Web Services Web Services Description Language WSDL Documento proposto pela Word Wide Web Consortium W3C a partir de Junho de 2007 Escrito em XML que visa à padronização das descrições das funcionalidades oferecidas por Web Services de forma independente de plataforma ou linguagem 27 Soap Web Services Web Services Description Language WSDL Sua estrutura é extremamente simplificada e possui elementos descritivos de um documento WSDL sendo types descrevem os tipos de dados suportados pelo serviço em questão message especificam os padrões de entrada e saída de dados dos Web Services portType descrevem os agrupamentos lógicos das operações São as operações executadas pelo Web Services binding apresentam os protocolos de comunicação que os Web Services utilizam 28 Web Services Description Language WSDL operation região que permite a especificação das assinaturas dos métodos disponibilizados definitions elemento padrão de todos os documentos WSDL Permite efetuar descrições sobre schemas e namespaces 29 Soap Web Services Universal Description Discovery and IntegrationUDDI Integração e Descoberta da Descrição Universal UDDI Especificação da indústria para publicar e localizar informações sobre Serviços da Web 30 Soap Web Services 31 Fonte httpwwwjava2blogcom 1 Service provider registra no UDDI 2 Client procura um serviço no UDDI 3 UDDI retorna todos os serviços disponíveis 4 Client escolhe o provedor do serviço 5 UDDI retorna WSDL do provedor do serviço escolhido 6 Usando o WSDL do serviço o cliente pode acessar as operações do serviço web JAXWS Java API for XML Web Services Padrão XML para criação de SOAP Web Services em Java 32 Soap Web Services JAXWS Arquitetura Java para criação de Soap Web Services Endpoint Endereço utilizado para as aplicações acessarem o Serviço Web Por exemplo httpswwww3schoolscomxmltempconvertasmx Para descobrir quais operações estão disponíveis no serviço basta adicionar wsdl no final do Endpoint httpswwww3schoolscomxmltempconvertasmxwsdl 33 RESTFUL WEB SERVICES REpresentational State Transfer REST Arquitetura criada por Roy Fielding 2000 Modelo ClienteServidor stateless sem estado Serviço é visualizado como um recurso e identificado por meio da sua URI 35 RESTful Web Services Fonte httpwwwjava2blogcom REpresentational State Transfer REST REST não é um protocolo pois a troca de dados é feita utilizando HTTP As requisições do recurso são realizadas com os métodos do protocolo HTTP 36 RESTful Web Services Métodos HTTP GET leitura de dados do recurso PUT escrita de dados no recurso DELETE remove um recurso POST criar um novo recurso PATCH escrita de dados parciais no recurso 37 RESTful Web Services JAXRS Arquitetura Java para criação de RESTful Web Services Troca de dados utilizando HTTP 38 RESTful Web Services SOAPUI Ferramenta opensource para teste de aplicações baseada em serviços web Site oficial httpwwwsoapuiorg 40 SoapUI soapUI Pro 362SNAPSHOT File Tools Desktop Help Search Forum Projects Sample Project SampleServiceSoapBinding login Request 1 logout search buy Sample Simple TestSuite Simple Login and Logout w Properties Steps Test Steps 5 Properties Username and Password 2 Property Transfer Move Username and Password Test Request login Property Transfer Move sessionID Test Request logout Load Tests 1 LoadTest 1 Simple Login and Logout Property Expansion Test Steps 5 Properties Username and Password 2 Test Request login Test Request logout DataSource Groovy Script Load Tests 0 Simple Login and Logout and Login Again Simple Search TestCase Sample TestSuite fails if we dont get faults Sample expanded TestSuite SampleServiceSoapBinding MockService Simple Login and Logout w Properties Steps Request 1 DataSource Groovy Script FAILED TestSteps TestCase Coverage TestCase Requirements Properties Username and Password 2 Property Transfer Move Username and Password Test Request login Property Transfer Move sessionID Test Request logout Description Properties Setup Script TearDown Script Report Script Report Parameters Test started at 20110408 081432183 Step 1 Properties Username and Password OK took 3 ms Step 2 Property Transfer Move Username and Password OK took 308 ms Performed transfer TransferUser Performed transfer TransferPass Step 3 Test Request login FAILED took 4685 ms javanetConnectException Connection refused connect TestCase failed Cancelling due to failed test step time taken 4996 TestCase Log Properties soapUI log http log jetty log error log wsrm log memory log script log Exemplo W3Schools TempConvert Web Service Disponível em httpswwww3schoolscomxmltempconvertasmx 42 SoapUI Criação de um Novo Projeto File New SOAP Project 43 SoapUI SoapUI 520 File Project Suite Case Step Tools Desktop Help Empty SOAP REST Import Save All Forum Trial Preferences Proxy Search Forum Online Help Navigator Projects TempConvert TempConvertSoap CelsiusToFahrenheit SO AP Request 1 FahrenheitToCelsius SO AP Request 1 TempConvertSoap12 CelsiusToFahrenheit FahrenheitToCelsius Request Properties Property Value Name Request 1 Description Message Size 344 Encoding UTF8 Endpoint httpwwww3schoolscomwebservicestempconvertasmx Timeout Bind Address Follow Redirects Properties soapenvEnvelope xmlnssoapenvhttpsc soapenvHeader soapenvBody webCelsiusToFahrenheit Optional webCelsius 40 webCelsius webCelsiusToFahrenheit soapenvBody soapenvEnvelope soapEnvelope xmlnssoaphttpschemasxmlsoaporgsoap soapBody CelsiusToFahrenheitResponse xmlnshttpwwww3sc CelsiusToFahrenheitResult104CelsiusToFahren CelsiusToFahrenheitResponse soapBody soapEnvelope SoapUI 520 File Project Suite Case Step Tools Desktop Help Empty SOAP REST Import Save All Forum Trial Preferences Proxy Search Forum Online Help Navigator Projects TempConvert TempConvertSoap CelsiusToFahrenheit SO AP Request 1 FahrenheitToCelsius SO AP Request 1 TempConvertSoap12 CelsiusToFahrenheit FahrenheitToCelsius Request Properties Property Value Name Request 1 Description Message Size 344 Encoding UTF8 Endpoint httpwwww3schoolscomwebservicestempconvertasmx Timeout Bind Address Follow Redirects Properties soapenvEnvelope xmlnssoapenvhttpsc soapenvHeader soapenvBody webCelsiusToFahrenh Optional webCelsius 40 webCelsius webCelsiusToFahrenheit soapenvBody soapenvEnvelope soapEnvelope xmlnssoaphttpschemasxmlsoaporgsoap soapBody CelsiusToFahrenheitResponse xmlnshttpwwww3sc CelsiusToFahrenheitResult104CelsiusToFahren CelsiusToFahrenheitResponse soapBody soapEnvelope SoapUI 520 File Project Suite Case Step Tools Desktop Help Empty SOAP REST Import Save All Forum Trial Preferences Proxy Search Forum Online Help Navigator Projects TempConvert TempConvertSoap CelsiusToFahrenheit SO AP Request 1 FahrenheitToCelsius SO AP Request 1 TempConvertSoap12 CelsiusToFahrenheit FahrenheitToCelsius Request Properties Property Value Name Request 1 Description Message Size 344 Encoding UTF8 Endpoint httpwwww3schoolscomwebservicestempconvertasmx Timeout Bind Address Follow Redirects Properties soapenvEnvelope xmlnssoapenvhttpsc soapenvHeader soapenvBody webCelsiusToFahrenheit Optional webCelsius 40 webCelsius webCelsiusToFahrenheit soapenvBody soapenvEnvelope soapEnvelope xmlnssoaphttpschemasxmlsoaporgsoap soapBody CelsiusToFahrenheitResponse xmlnshttpwwww3sc CelsiusToFahrenheitResult104CelsiusToFahren CelsiusToFahrenheitResponse soapBody soapEnvelope SoapUI 520 File Project Suite Case Step Tools Desktop Help Empty SOAP REST Import Save All Forum Trial Preferences Proxy Search Forum Online Help Projects TempConvert TempConvertSoap CelsiusToFahrenheit Request 1 FahrenheitToCelsius Request 1 TempConvertSoap12 CelsiusToFahrenheit FahrenheitToCelsius Request Properties Property Value Name Request 1 Description Message Size 344 Encoding UTF8 Endpoint httpwwww3sc Timeout Bind Address Follow Redirect Properties SoapUI log http log jetty log error log wsrm log memory log soapenvEnvelope xmlnssoapenvhttpsc soapenvHeader soapenvBody webCelsiusToFahrenheit Optional webCelsius 40 webCelsius webCelsiusToFahrenheit soapenvBody soapenvEnvelope soapEnvelope xmlnssoaphttpschemas soapBody CelsiusToFahrenheitResponse xmln CelsiusToFahrenheitResult104CelsiusToFahren CelsiusToFahrenheitResponse soapBody soapEnvelope ATIVIDADE PRÁTICA 48 Objetivo Desenvolver uma aplicação Java para consumir um Serviço Web SOAP desenvolvido por um terceiro 49 Atividade Prática Criação de um novo projeto JavaAplicação Java Elaborar um formulário conforme a figura 50 Atividade Prática JButton JList Novo Cliente para Web Service 51 Atividade Prática httpwwwwebservicexnetcountryasmxWSDL Estrutura do Projeto 52 Atividade Prática Consumindo uma Operação do WS private void exibirListaPaises try CountrySoap ws new CountrygetCountrySoap String response wsgetCountries Parser da resposta response response replaceNewDataSet replaceNewDataSet replaceTable replaceTable replaceName replaceName String paises responsesplit DefaultListModel m new DefaultListModel for String p paises maddElementptrim lstPaisessetModelm catch Exception e JOptionPaneshowMessageDialognull egetMessage ATIVIDADE PRÁTICA Objetivo Desenvolver uma aplicação Java para consumir um Serviço Web RESTful desenvolvido por um terceiro 55 Atividade Prática Criação de um novo projeto JavaAplicação Java Elaborar um formulário conforme a figura 56 Atividade Prática JButton JList Operações disponíveis 57 Atividade Prática 58 Consumindo uma Operação do WS 12 59 Consumindo uma Operação do WS 22 ATIVIDADE PRÁTICA Objetivo Desenvolver uma aplicação PHP para consumir um Serviço Web desenvolvido por um terceiro 61 Atividade Prática Atividade Prática php Endereço do Serviço WSDL WSDL httpwwww3schoolscomwebservicestempconvertasmxWSDL Criação do Objeto para Consumir o Serviço ws new SoapClientWSDL Especificação dos Parâmetros parametros arrayCelsius 40 Chamada da Operação resultado wsCelsiusToFahrenheitparametros Exibição do Resultado echo resultadoCelsiusToFahrenheitResult ATIVIDADE PRÁTICA CONSUMIR UM SERVIÇO RESTFUL 63 Objetivo Desenvolver uma aplicação Java para consumir a API REST para Consulta da Tabela FIPE 64 Atividade Prática httpsfipeapiappspotcom Requisitos NãoFuncionais Apache HttpComponents httpshcapacheorg Gson httpsgithubcomgooglegson Repositório httpmvnrepositorycom 65 Atividade Prática Criar um novo projeto Java Aplicação Java FIPERest Adicionar as dependências Ou criar no novo projeto Maven e adicionar as dependências 66 Atividade Prática Recurso para retornar a lista de Marcas de Veículos httpfipeapiappspotcomapi1carrosmarcasjson 67 Atividade Prática Modelo de dados 68 Atividade Prática Consumir o Recurso final String URL httpfipeapiappspotcomapi1carrosmarcasjson HttpClient client HttpClientBuildercreatebuild HttpGet requisicao new HttpGetURL try requisicaoaddHeaderAccept applicationjson HttpResponse resposta clientexecuterequisicao String conteudo EntityUtilstoStringrespostagetEntity Gson gson new Gson ListMarca lista gsonfromJsonconteudo new TypeTokenArrayListMarcagetType forMarca m lista SystemoutprintlnmgetName catch IOException ParseException JsonSyntaxException e SystemoutprintlnERRO egetMessage Demonstrar o consumo do recurso para exibir todos os veículos da marca FORD Apresentar na tela todos os dados relacionados a um determinado Veículo 70 Atividade Prática ATIVIDADE PRÁTICA CRIAR E CONSUMIR UM SERVIÇO RESTFUL 71 Objetivo Desenvolver uma aplicação Java para construir e consumir um Serviço RESTful 72 Atividade Prática Maven Aplicação Web 73 Atividade Prática Atividade Prática Novo Aplicação Web Etapas 1 Escolher Projeto 2 Nome e Localização 3 Definições Nome e Localização Nome do Projeto AlunoREST Localização do Projeto CUsersRodrigo PlotzeDocumentsNetBeansProjects Procurar Pasta do Projeto odrigo PlotzeDocumentsNetBeansProjectsAlunoREST ID de Artefato AlunoREST ID de Grupo br Versão 10SNAPSHOT Pacote bralunorest Opcional Voltar Próximo Finalizar Cancelar Ajuda Atividade Prática webxml Novo Arquivo Etapas 1 Escolher Tipo de Arquivo 2 Escolher Tipo de Arquivo Projeto AlunoREST Filtro Categorias Web HTML5JavaScript JavaServer Faces Validação do Bean Struts Spring Framework Enterprise JavaBeans Injeção de Dependência e C Tipos de Arquivos Arquivo JavaScript json Handler de Tags Descriptor da Biblioteca de Tags Arquivo de Tags Localizador do Serviço Armazenamento em Cache para o Localizador do Sei Páginas JSF de Classes de Entidade Descriptor de Implantação Padrão webxml Descrição Cria um novo descriptor de implantação webxml para aplicações Web Voltar Próximo Finalizar Cancelar Ajuda Adicionar dependências do projeto 76 Atividade Prática pomxml Configurar o arquivo webxml 77 Atividade Prática servlet servletnamerestservletname servletclass orgglassfishjerseyservletServletContainer servletclass initparam paramname jerseyconfigserverproviderpackages paramname paramvalueserviceparamvalue initparam servlet servletmapping servletnamerestservletname urlpatternurlpattern servletmapping nome do pacote public class Aluno private int codigo private String nome private String curso public Aluno 2 linhas public Alunoint codigo String nome String curso 5 linhas public int getCodigo 3 linhas public void setCodigoint codigo 3 linhas public String getNome 3 linhas public void setNomeString nome 3 linhas public String getCurso 3 linhas public void setCursoString curso 3 linhas Override public String toString 3 linhas public static ListAluno listar ListAluno list new ArrayList listaddnew Aluno1João da Silva Engenharia da Computação listaddnew Aluno2Ana Maria Enfermagem return list Modelo de Dados 79 Recurso AlunoService Path URI referente ao caminho do recurso httplocalhost8080AlunoRESTaluno 80 GET tipo de requisição do recurso httplocalhost8080AlunoRESTalunohelloworld Recurso AlunoService 81 Produces tipo de retorno TEXT JSON XML httplocalhost8080AlunoRESTalunoget Recurso AlunoService 82 PathParam envia dados para o recurso com parâmetros na URL httplocalhost8080AlunoRESTalunogetparam1 Recurso AlunoService 83 QueryParam envia dados para o recurso com query na URL httplocalhost8080AlunoRESTalunogetparam1 Recurso AlunoService 84 GSON Retorno de dados no formato de um Lista JSON httplocalhost8080AlunoRESTalunolist Recurso AlunoService 85 PUT Envio de dados para o recurso httplocalhost8080AlunoRESTalunoinsert Recurso AlunoService final String URL httplocalhost8080AlunoRESTalunolist HttpClient client HttpClientBuildercreatebuild HttpGet requisicao new HttpGetURL try requisicaoaddHeaderAccept applicationjson HttpResponse resposta clientexecuterequisicao String conteudo EntityUtilstoStringrespostagetEntity Systemoutprintlnconteudo catch IOException e SystemoutprintlnERRO egetMessage Requisição com GET final String URL httplocalhost8080AlunoRESTalunoinsert HttpClient client HttpClientBuildercreatebuild HttpPut requisicao new HttpPutURL try requisicaoaddHeaderContentType applicationjson Aluno obj new Aluno3 José Antônio Medicina StringEntity se new StringEntitynew GsontoJsonobj requisicaosetEntityHttpEntity se HttpResponse resposta clientexecuterequisicao String conteudo EntityUtilstoStringrespostagetEntity Systemoutprintlnconteudo catch IOException e SystemoutprintlnERRO egetMessage Requisição com PUT FIM

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Tutorial Flask - Construindo API REST com Arquitetura SOA e SQLite

24

Tutorial Flask - Construindo API REST com Arquitetura SOA e SQLite

Engenharia de Software

UNAERP

Texto de pré-visualização

Prof Dr Rodrigo Plotze rodrigoplotzegmailcom Arquitetura Orientada a Serviço ARQUITETURA ORIENTADA A SERVIÇO SOA 2 ServiceOrientedArchitecture é um estilo de arquitetura de software cuja finalidade é que suas aplicações devem ser disponibilizadas na forma de serviços serviços estão conectados através de um barramento de serviços que disponibiliza interfaces acessíveis através de Web Services SW ou outra forma de comunicação entre aplicações 3 Arquitetura Orientada a Serviço COULORIS et al 2001 Arquitetura baseada em computação distribuída Comunicação por requestresponse integrando os sistemas clientes e os sistemas que implementam o serviço O serviço é a principal componente desta arquitetura e tem como resultado maior agilidade para entender as novas demandas flexibilidade para atender às mudanças 4 Arquitetura Orientada a Serviço Segundo OASIS 2006 5 Arquitetura Orientada a Serviço é um meio para organização e utilização de competências distribuídas que estão sob controle de diferentes domínios proprietários um meio para organizar as soluções que promovem o reuso crescimento de interoperabilidade Segundo GARTNER GROUP 2013 6 Arquitetura Orientada a Serviço SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas Evolução das Tecnologias de Sist Distribuídos 7 Arquitetura Orientada a Serviço MOM Message Oriented Middleware Características Baixo Acoplamento Loose coupling Cada atividade funcionalidade do negócio é implementada como um serviço Um componente independente poderá ser utilizado quantas vezes forem necessárias em partes diversas do sistema 8 Arquitetura Orientada a Serviço Características Neutralidade de Implementação Não existem limitações técnicas em relação a modo de implementação Não há limitações em função de tecnologias linguagens ou plataformas 9 Arquitetura Orientada a Serviço Características Interoperabilidade Liberdade de desenvolvimento Possibilidade de sistemas coexistirem e comunicaremse independente de fabricantes ou tecnologias 10 Arquitetura Orientada a Serviço Service Consumers Messages Messages Messages Service Bus Configuration Rules Management Reporting Service Interfaces and Service Implementations Vantagens Reuso de Código Redução de Redundância de Funcionalidades Redução do Custo de Manutenção 12 Arquitetura Orientada a Serviço SERVIÇOS WEB No cenário da computação distribuída os Serviços Web ou Web Service SW têm se tornado uma tendência e estão sendo explorados nos mais variados tipos de aplicações 14 Serviços Web Um SW pode ser definido como um substrato para construir aplicativos distribuídos utilizando softwares que são executados em diferentes sistemas operacionais e dispositivos EWALD 2002 15 Serviços Web Os serviços são independentes e não estão restritos a uma plataforma específica e nem a uma infraestrutura tecnológica Assim é possível que um SW em qualquer plataforma e em qualquer linguagem de programação seja atrativo pelo fato desse modelo ser baseado em tecnologias padronizadas 16 Serviços Web Ciclo de vida de um Serviço Web 17 Serviços Web O serviço Web SW é atualmente uma das tecnologias mais utilizadas para a implementação da arquitetura SOA Esses serviços são otimizados para serem usados por outros programas e não por pessoas O uso transparente de HTTP possibilita a adoção dos serviços Web 18 Serviços Web Consulta de Serviços httpswwwprogrammablewebcomapis httpusgovxmlcom httpsrapidapicom httpsgithubcompublicapispublicapis AnyAPI BrasilAPI 19 Serviços Web Tipos de Serviços Web SOAP Restful 20 Serviços Web SOAP WEB SERVICES Componentes Simple Access Object Protocol SOAP Web Services Description Language WSDL Universal Description Discovery and IntegrationUDDI 22 Soap Web Services Simple Access Object Protocol SOAP Troca de informações utilizando o modelo de requisiçãoresposta no formato XML A comunicação ocorre por meio do protocolo HTTP 23 Soap Web Services Simple Access Object Protocol SOAP Principal elemento da infraestrutura dos Web Services Independentemente de plataformas sistemas operacionais modelos de objetos e linguagens de programação auxiliando muito a interoperabilidade entre objetos e componentes distribuídos 24 Soap Web Services Simple Access Object Protocol SOAP Os pedidos SOAP podem ser feitos em três padrões GET POST e SOAP Os padrões GET e POST são idênticos aos pedidos feitos por navegadores de web O SOAP é um padrão semelhante ao POST Os pedidos são feitos em XML e permitem recursos mais sofisticados como passar estruturas e arrays 25 Soap Web Services Simple Access Object Protocol SOAP 26 Soap Web Services Web Services Description Language WSDL Documento proposto pela Word Wide Web Consortium W3C a partir de Junho de 2007 Escrito em XML que visa à padronização das descrições das funcionalidades oferecidas por Web Services de forma independente de plataforma ou linguagem 27 Soap Web Services Web Services Description Language WSDL Sua estrutura é extremamente simplificada e possui elementos descritivos de um documento WSDL sendo types descrevem os tipos de dados suportados pelo serviço em questão message especificam os padrões de entrada e saída de dados dos Web Services portType descrevem os agrupamentos lógicos das operações São as operações executadas pelo Web Services binding apresentam os protocolos de comunicação que os Web Services utilizam 28 Web Services Description Language WSDL operation região que permite a especificação das assinaturas dos métodos disponibilizados definitions elemento padrão de todos os documentos WSDL Permite efetuar descrições sobre schemas e namespaces 29 Soap Web Services Universal Description Discovery and IntegrationUDDI Integração e Descoberta da Descrição Universal UDDI Especificação da indústria para publicar e localizar informações sobre Serviços da Web 30 Soap Web Services 31 Fonte httpwwwjava2blogcom 1 Service provider registra no UDDI 2 Client procura um serviço no UDDI 3 UDDI retorna todos os serviços disponíveis 4 Client escolhe o provedor do serviço 5 UDDI retorna WSDL do provedor do serviço escolhido 6 Usando o WSDL do serviço o cliente pode acessar as operações do serviço web JAXWS Java API for XML Web Services Padrão XML para criação de SOAP Web Services em Java 32 Soap Web Services JAXWS Arquitetura Java para criação de Soap Web Services Endpoint Endereço utilizado para as aplicações acessarem o Serviço Web Por exemplo httpswwww3schoolscomxmltempconvertasmx Para descobrir quais operações estão disponíveis no serviço basta adicionar wsdl no final do Endpoint httpswwww3schoolscomxmltempconvertasmxwsdl 33 RESTFUL WEB SERVICES REpresentational State Transfer REST Arquitetura criada por Roy Fielding 2000 Modelo ClienteServidor stateless sem estado Serviço é visualizado como um recurso e identificado por meio da sua URI 35 RESTful Web Services Fonte httpwwwjava2blogcom REpresentational State Transfer REST REST não é um protocolo pois a troca de dados é feita utilizando HTTP As requisições do recurso são realizadas com os métodos do protocolo HTTP 36 RESTful Web Services Métodos HTTP GET leitura de dados do recurso PUT escrita de dados no recurso DELETE remove um recurso POST criar um novo recurso PATCH escrita de dados parciais no recurso 37 RESTful Web Services JAXRS Arquitetura Java para criação de RESTful Web Services Troca de dados utilizando HTTP 38 RESTful Web Services SOAPUI Ferramenta opensource para teste de aplicações baseada em serviços web Site oficial httpwwwsoapuiorg 40 SoapUI soapUI Pro 362SNAPSHOT File Tools Desktop Help Search Forum Projects Sample Project SampleServiceSoapBinding login Request 1 logout search buy Sample Simple TestSuite Simple Login and Logout w Properties Steps Test Steps 5 Properties Username and Password 2 Property Transfer Move Username and Password Test Request login Property Transfer Move sessionID Test Request logout Load Tests 1 LoadTest 1 Simple Login and Logout Property Expansion Test Steps 5 Properties Username and Password 2 Test Request login Test Request logout DataSource Groovy Script Load Tests 0 Simple Login and Logout and Login Again Simple Search TestCase Sample TestSuite fails if we dont get faults Sample expanded TestSuite SampleServiceSoapBinding MockService Simple Login and Logout w Properties Steps Request 1 DataSource Groovy Script FAILED TestSteps TestCase Coverage TestCase Requirements Properties Username and Password 2 Property Transfer Move Username and Password Test Request login Property Transfer Move sessionID Test Request logout Description Properties Setup Script TearDown Script Report Script Report Parameters Test started at 20110408 081432183 Step 1 Properties Username and Password OK took 3 ms Step 2 Property Transfer Move Username and Password OK took 308 ms Performed transfer TransferUser Performed transfer TransferPass Step 3 Test Request login FAILED took 4685 ms javanetConnectException Connection refused connect TestCase failed Cancelling due to failed test step time taken 4996 TestCase Log Properties soapUI log http log jetty log error log wsrm log memory log script log Exemplo W3Schools TempConvert Web Service Disponível em httpswwww3schoolscomxmltempconvertasmx 42 SoapUI Criação de um Novo Projeto File New SOAP Project 43 SoapUI SoapUI 520 File Project Suite Case Step Tools Desktop Help Empty SOAP REST Import Save All Forum Trial Preferences Proxy Search Forum Online Help Navigator Projects TempConvert TempConvertSoap CelsiusToFahrenheit SO AP Request 1 FahrenheitToCelsius SO AP Request 1 TempConvertSoap12 CelsiusToFahrenheit FahrenheitToCelsius Request Properties Property Value Name Request 1 Description Message Size 344 Encoding UTF8 Endpoint httpwwww3schoolscomwebservicestempconvertasmx Timeout Bind Address Follow Redirects Properties soapenvEnvelope xmlnssoapenvhttpsc soapenvHeader soapenvBody webCelsiusToFahrenheit Optional webCelsius 40 webCelsius webCelsiusToFahrenheit soapenvBody soapenvEnvelope soapEnvelope xmlnssoaphttpschemasxmlsoaporgsoap soapBody CelsiusToFahrenheitResponse xmlnshttpwwww3sc CelsiusToFahrenheitResult104CelsiusToFahren CelsiusToFahrenheitResponse soapBody soapEnvelope SoapUI 520 File Project Suite Case Step Tools Desktop Help Empty SOAP REST Import Save All Forum Trial Preferences Proxy Search Forum Online Help Navigator Projects TempConvert TempConvertSoap CelsiusToFahrenheit SO AP Request 1 FahrenheitToCelsius SO AP Request 1 TempConvertSoap12 CelsiusToFahrenheit FahrenheitToCelsius Request Properties Property Value Name Request 1 Description Message Size 344 Encoding UTF8 Endpoint httpwwww3schoolscomwebservicestempconvertasmx Timeout Bind Address Follow Redirects Properties soapenvEnvelope xmlnssoapenvhttpsc soapenvHeader soapenvBody webCelsiusToFahrenh Optional webCelsius 40 webCelsius webCelsiusToFahrenheit soapenvBody soapenvEnvelope soapEnvelope xmlnssoaphttpschemasxmlsoaporgsoap soapBody CelsiusToFahrenheitResponse xmlnshttpwwww3sc CelsiusToFahrenheitResult104CelsiusToFahren CelsiusToFahrenheitResponse soapBody soapEnvelope SoapUI 520 File Project Suite Case Step Tools Desktop Help Empty SOAP REST Import Save All Forum Trial Preferences Proxy Search Forum Online Help Navigator Projects TempConvert TempConvertSoap CelsiusToFahrenheit SO AP Request 1 FahrenheitToCelsius SO AP Request 1 TempConvertSoap12 CelsiusToFahrenheit FahrenheitToCelsius Request Properties Property Value Name Request 1 Description Message Size 344 Encoding UTF8 Endpoint httpwwww3schoolscomwebservicestempconvertasmx Timeout Bind Address Follow Redirects Properties soapenvEnvelope xmlnssoapenvhttpsc soapenvHeader soapenvBody webCelsiusToFahrenheit Optional webCelsius 40 webCelsius webCelsiusToFahrenheit soapenvBody soapenvEnvelope soapEnvelope xmlnssoaphttpschemasxmlsoaporgsoap soapBody CelsiusToFahrenheitResponse xmlnshttpwwww3sc CelsiusToFahrenheitResult104CelsiusToFahren CelsiusToFahrenheitResponse soapBody soapEnvelope SoapUI 520 File Project Suite Case Step Tools Desktop Help Empty SOAP REST Import Save All Forum Trial Preferences Proxy Search Forum Online Help Projects TempConvert TempConvertSoap CelsiusToFahrenheit Request 1 FahrenheitToCelsius Request 1 TempConvertSoap12 CelsiusToFahrenheit FahrenheitToCelsius Request Properties Property Value Name Request 1 Description Message Size 344 Encoding UTF8 Endpoint httpwwww3sc Timeout Bind Address Follow Redirect Properties SoapUI log http log jetty log error log wsrm log memory log soapenvEnvelope xmlnssoapenvhttpsc soapenvHeader soapenvBody webCelsiusToFahrenheit Optional webCelsius 40 webCelsius webCelsiusToFahrenheit soapenvBody soapenvEnvelope soapEnvelope xmlnssoaphttpschemas soapBody CelsiusToFahrenheitResponse xmln CelsiusToFahrenheitResult104CelsiusToFahren CelsiusToFahrenheitResponse soapBody soapEnvelope ATIVIDADE PRÁTICA 48 Objetivo Desenvolver uma aplicação Java para consumir um Serviço Web SOAP desenvolvido por um terceiro 49 Atividade Prática Criação de um novo projeto JavaAplicação Java Elaborar um formulário conforme a figura 50 Atividade Prática JButton JList Novo Cliente para Web Service 51 Atividade Prática httpwwwwebservicexnetcountryasmxWSDL Estrutura do Projeto 52 Atividade Prática Consumindo uma Operação do WS private void exibirListaPaises try CountrySoap ws new CountrygetCountrySoap String response wsgetCountries Parser da resposta response response replaceNewDataSet replaceNewDataSet replaceTable replaceTable replaceName replaceName String paises responsesplit DefaultListModel m new DefaultListModel for String p paises maddElementptrim lstPaisessetModelm catch Exception e JOptionPaneshowMessageDialognull egetMessage ATIVIDADE PRÁTICA Objetivo Desenvolver uma aplicação Java para consumir um Serviço Web RESTful desenvolvido por um terceiro 55 Atividade Prática Criação de um novo projeto JavaAplicação Java Elaborar um formulário conforme a figura 56 Atividade Prática JButton JList Operações disponíveis 57 Atividade Prática 58 Consumindo uma Operação do WS 12 59 Consumindo uma Operação do WS 22 ATIVIDADE PRÁTICA Objetivo Desenvolver uma aplicação PHP para consumir um Serviço Web desenvolvido por um terceiro 61 Atividade Prática Atividade Prática php Endereço do Serviço WSDL WSDL httpwwww3schoolscomwebservicestempconvertasmxWSDL Criação do Objeto para Consumir o Serviço ws new SoapClientWSDL Especificação dos Parâmetros parametros arrayCelsius 40 Chamada da Operação resultado wsCelsiusToFahrenheitparametros Exibição do Resultado echo resultadoCelsiusToFahrenheitResult ATIVIDADE PRÁTICA CONSUMIR UM SERVIÇO RESTFUL 63 Objetivo Desenvolver uma aplicação Java para consumir a API REST para Consulta da Tabela FIPE 64 Atividade Prática httpsfipeapiappspotcom Requisitos NãoFuncionais Apache HttpComponents httpshcapacheorg Gson httpsgithubcomgooglegson Repositório httpmvnrepositorycom 65 Atividade Prática Criar um novo projeto Java Aplicação Java FIPERest Adicionar as dependências Ou criar no novo projeto Maven e adicionar as dependências 66 Atividade Prática Recurso para retornar a lista de Marcas de Veículos httpfipeapiappspotcomapi1carrosmarcasjson 67 Atividade Prática Modelo de dados 68 Atividade Prática Consumir o Recurso final String URL httpfipeapiappspotcomapi1carrosmarcasjson HttpClient client HttpClientBuildercreatebuild HttpGet requisicao new HttpGetURL try requisicaoaddHeaderAccept applicationjson HttpResponse resposta clientexecuterequisicao String conteudo EntityUtilstoStringrespostagetEntity Gson gson new Gson ListMarca lista gsonfromJsonconteudo new TypeTokenArrayListMarcagetType forMarca m lista SystemoutprintlnmgetName catch IOException ParseException JsonSyntaxException e SystemoutprintlnERRO egetMessage Demonstrar o consumo do recurso para exibir todos os veículos da marca FORD Apresentar na tela todos os dados relacionados a um determinado Veículo 70 Atividade Prática ATIVIDADE PRÁTICA CRIAR E CONSUMIR UM SERVIÇO RESTFUL 71 Objetivo Desenvolver uma aplicação Java para construir e consumir um Serviço RESTful 72 Atividade Prática Maven Aplicação Web 73 Atividade Prática Atividade Prática Novo Aplicação Web Etapas 1 Escolher Projeto 2 Nome e Localização 3 Definições Nome e Localização Nome do Projeto AlunoREST Localização do Projeto CUsersRodrigo PlotzeDocumentsNetBeansProjects Procurar Pasta do Projeto odrigo PlotzeDocumentsNetBeansProjectsAlunoREST ID de Artefato AlunoREST ID de Grupo br Versão 10SNAPSHOT Pacote bralunorest Opcional Voltar Próximo Finalizar Cancelar Ajuda Atividade Prática webxml Novo Arquivo Etapas 1 Escolher Tipo de Arquivo 2 Escolher Tipo de Arquivo Projeto AlunoREST Filtro Categorias Web HTML5JavaScript JavaServer Faces Validação do Bean Struts Spring Framework Enterprise JavaBeans Injeção de Dependência e C Tipos de Arquivos Arquivo JavaScript json Handler de Tags Descriptor da Biblioteca de Tags Arquivo de Tags Localizador do Serviço Armazenamento em Cache para o Localizador do Sei Páginas JSF de Classes de Entidade Descriptor de Implantação Padrão webxml Descrição Cria um novo descriptor de implantação webxml para aplicações Web Voltar Próximo Finalizar Cancelar Ajuda Adicionar dependências do projeto 76 Atividade Prática pomxml Configurar o arquivo webxml 77 Atividade Prática servlet servletnamerestservletname servletclass orgglassfishjerseyservletServletContainer servletclass initparam paramname jerseyconfigserverproviderpackages paramname paramvalueserviceparamvalue initparam servlet servletmapping servletnamerestservletname urlpatternurlpattern servletmapping nome do pacote public class Aluno private int codigo private String nome private String curso public Aluno 2 linhas public Alunoint codigo String nome String curso 5 linhas public int getCodigo 3 linhas public void setCodigoint codigo 3 linhas public String getNome 3 linhas public void setNomeString nome 3 linhas public String getCurso 3 linhas public void setCursoString curso 3 linhas Override public String toString 3 linhas public static ListAluno listar ListAluno list new ArrayList listaddnew Aluno1João da Silva Engenharia da Computação listaddnew Aluno2Ana Maria Enfermagem return list Modelo de Dados 79 Recurso AlunoService Path URI referente ao caminho do recurso httplocalhost8080AlunoRESTaluno 80 GET tipo de requisição do recurso httplocalhost8080AlunoRESTalunohelloworld Recurso AlunoService 81 Produces tipo de retorno TEXT JSON XML httplocalhost8080AlunoRESTalunoget Recurso AlunoService 82 PathParam envia dados para o recurso com parâmetros na URL httplocalhost8080AlunoRESTalunogetparam1 Recurso AlunoService 83 QueryParam envia dados para o recurso com query na URL httplocalhost8080AlunoRESTalunogetparam1 Recurso AlunoService 84 GSON Retorno de dados no formato de um Lista JSON httplocalhost8080AlunoRESTalunolist Recurso AlunoService 85 PUT Envio de dados para o recurso httplocalhost8080AlunoRESTalunoinsert Recurso AlunoService final String URL httplocalhost8080AlunoRESTalunolist HttpClient client HttpClientBuildercreatebuild HttpGet requisicao new HttpGetURL try requisicaoaddHeaderAccept applicationjson HttpResponse resposta clientexecuterequisicao String conteudo EntityUtilstoStringrespostagetEntity Systemoutprintlnconteudo catch IOException e SystemoutprintlnERRO egetMessage Requisição com GET final String URL httplocalhost8080AlunoRESTalunoinsert HttpClient client HttpClientBuildercreatebuild HttpPut requisicao new HttpPutURL try requisicaoaddHeaderContentType applicationjson Aluno obj new Aluno3 José Antônio Medicina StringEntity se new StringEntitynew GsontoJsonobj requisicaosetEntityHttpEntity se HttpResponse resposta clientexecuterequisicao String conteudo EntityUtilstoStringrespostagetEntity Systemoutprintlnconteudo catch IOException e SystemoutprintlnERRO egetMessage Requisição com PUT FIM

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®