tdc 2012 trilha – android university
Post on 06-Jul-2015
181 Views
Preview:
TRANSCRIPT
Globalcode – Open4education
Trilha – Android UniversityInael Rodrigues de Oliveira Neto
Último período em Engenharia de Software UFGAluno Especial no Mestrado em Ciência da Computação UFG
Programador Java, Groovy, C# .Net
Globalcode – Open4education
Integração de Aplicação Web com Mobile
Globalcode – Open4education
Agenda
● Introdução● EAI● SOA● Web Service● REST
● RESTFul● Integrando Android com Serviços
Globalcode – Open4education
Introdução
● No ínicio a informação era processada em sistemas centralizados.
● A demanda de integração era em ambientes mais homogênos.
● Com as novas plataformas e tecnologias o ambiente tornou-se heterogêneo
● Sistemas legados acabaram se tornando ilhas de informação.
● Nesse cenário complexo, a web é a ponte que conecta as ilhas.
Globalcode – Open4education
Introdução
• Necessidade de Integração• Software de diferentes fabricantes;• Software desenvolvido com tecnologias diferentes;• Software desenvolvido com necessidades governamentais ou legais.
Globalcode – Open4education
Enterprise Application Integration(EAI)
São procedimentos e ferramentas que viabiliza interação entre sistemas heterogêneos
● Métodos de Integração○ Integração Ponto a Ponto (File Transfer)
■ troca de arquivos geralmente no formato TXT ou CSV○ Integrações via Banco de Dados (Shared Database)○ Integrações Multipontos via Middleware (Messaging e
remote procedure invocation).○ Integração Orientada a Mensagens(Messaging)
Globalcode – Open4education
Service Oriented Architecture(SOA)
É estilo arquitetural que disponibiliza funcionalidades na forma de serviços
● Geralmente são conectados através de um barramento de serviço que disponibiliza interfaces
Globalcode – Open4education
Service Oriented Architecture(SOA)
Globalcode – Open4education
Service Oriented Architecture(SOA)
Globalcode – Open4education
Service Oriented Architecture(SOA)
Globalcode – Open4education
Service Oriented Architecture(SOA)
Normalmente, a comunicação entre o sistema cliente e aquele que disponibiliza o serviço é realizada através de web services.
Globalcode – Open4education
Web Service
● Interoperabilidade entre aplicações rodando em diferentes plataformas.
● Basea-se em um protocolo que encapsula as (SOAP – Simple Object Access Protocol)
● Basea-se em uma linguagem que descreve as interfaces dos serviços, conhecida como WSDL (Web Services Description Language).
Globalcode – Open4education
Web Service
WSDL
Globalcode – Open4education
Web Service
Globalcode – Open4education
Representational State Transfer(REST)
● Criado em 2000 por um cientista da computação norte-americano e um dos principais criadores da especificação HTTP, Roy Fielding.
● REST surgiu a partir dacombinação de outros estilos arquiteturais.
Globalcode – Open4education
REST - RESTful
● WebServices que seguem os princípios REST são freqüentemente chamados de RESTful.
● As principais características:○ Separação de responsabilidades entre as camadas
cliente e servidor;○ Comunicações independentes (stateless);○ Uso de cache (para eliminar algumas interações
desnecessárias entre cliente e servidor);○ Utilização de uma interface uniforme entre os
componentes●
Globalcode – Open4education
REST - RESTful
Globalcode – Open4education
REST - RESTful
Globalcode – Open4education
Integrando Android com Serviços
● A Integração pode ser realizada por ○ Sockets -
■ java.net.Socket○ HTTP -
■ Simples: java.net.HttpUrlConnection■ Complexa: HttpClient Jakarta Commons(http://hc.apach.org)
● Ex. Autenticar em servidor seguro.○ Web Services
■ org.ksoap2.SoapEnvelop■ org.ksoap2.serialization.SoapObject■ org.ksoap2.serialization.SoapSerializationEnvelope■ org.ksoap2.transport.HttpTransportSE
Globalcode – Open4education
Integrando Android com Serviços: WebService
public class WSConnection { private static final String URL = "http://www.maniezo.com.br/webservice/soap-server.php"; private static final String OPERATION = "traz_cep"; private static final String NAMESPACE = "http://www.maniezo.com.br/soap-server.php"; private static final String USERNAME = "ramonrabello"; private static final String PASSWORD = "trip22"; public static Object pesquisarCEP(String cep) { SoapObject request = new SoapObject("http://localhost:8080/soap-server.php","traz_cep"); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.setOutputSoapObject(request); StringBuffer params = new StringBuffer(); params.append(cep.concat("#")); params.append(USERNAME.concat("#")); params.append(PASSWORD.concat("#")); request.addProperty("dados_cep", params.toString()); HttpTransportSE httpTransport = new HttpTransportSE(URL); try { httpTransport.call("", envelope); String response = (String) envelope.getResponse()...
Globalcode – Open4education
Integrando Android com Serviços: HTTP
Globalcode – Open4education
Android Developershttp://developer.android.com
Globalcode – Open4education
Obrigado
Globalcode – Open4education
Bibliografia
top related