24
Globalcode – Open4education Trilha – Android University Inael Rodrigues de Oliveira Neto Último período em Engenharia de Software UFG Aluno Especial no Mestrado em Ciência da Computação UFG Programador Java, Groovy, C# .Net

TDC 2012 Trilha – Android University

Embed Size (px)

Citation preview

Page 1: TDC 2012 Trilha – Android University

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

Page 2: TDC 2012 Trilha – Android University

Globalcode – Open4education

Integração de Aplicação Web com Mobile

Page 3: TDC 2012 Trilha – Android University

Globalcode – Open4education

Agenda

● Introdução● EAI● SOA● Web Service● REST

● RESTFul● Integrando Android com Serviços

Page 4: TDC 2012 Trilha – Android University

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.

Page 5: TDC 2012 Trilha – Android University

Globalcode – Open4education

Introdução

• Necessidade de Integração• Software de diferentes fabricantes;• Software desenvolvido com tecnologias diferentes;• Software desenvolvido com necessidades governamentais ou legais.

Page 6: TDC 2012 Trilha – Android University

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)

Page 7: TDC 2012 Trilha – Android University

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

Page 8: TDC 2012 Trilha – Android University

Globalcode – Open4education

Service Oriented Architecture(SOA)

Page 9: TDC 2012 Trilha – Android University

Globalcode – Open4education

Service Oriented Architecture(SOA)

Page 10: TDC 2012 Trilha – Android University

Globalcode – Open4education

Service Oriented Architecture(SOA)

Page 11: TDC 2012 Trilha – Android University

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.

Page 12: TDC 2012 Trilha – Android University

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).

Page 13: TDC 2012 Trilha – Android University

Globalcode – Open4education

Web Service

WSDL

Page 14: TDC 2012 Trilha – Android University

Globalcode – Open4education

Web Service

Page 15: TDC 2012 Trilha – Android University

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.

Page 16: TDC 2012 Trilha – Android University

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●

Page 17: TDC 2012 Trilha – Android University

Globalcode – Open4education

REST - RESTful

Page 18: TDC 2012 Trilha – Android University

Globalcode – Open4education

REST - RESTful

Page 19: TDC 2012 Trilha – Android University

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

Page 20: TDC 2012 Trilha – Android University

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()...

Page 21: TDC 2012 Trilha – Android University

Globalcode – Open4education

Integrando Android com Serviços: HTTP

Page 22: TDC 2012 Trilha – Android University

Globalcode – Open4education

Android Developershttp://developer.android.com

Page 23: TDC 2012 Trilha – Android University

Globalcode – Open4education

Obrigado

Page 24: TDC 2012 Trilha – Android University

Globalcode – Open4education

Bibliografia