COMO ELES CONSEGUEM GUIABOLSO FAZ INTEGRA?AO COM B
Quem não estiver nesse barco, vai se afogar. Então é melhor começar a nadar.
Citação::
Mais um caso clássico de uso correto de WebAPI. Vários bancos possuem WebAPI, assim como centenas de serviços web também, como redes sociais(todas tem), mercado livre, várias redes de lojas(americanas, amazon...), praticamente todos os maiores serviços de webmail, todos os serviços do google(Youtube, G+, Picasa, Docs e muitos outros), serviços de pagamento(BitCoin, Paypal), Steam(jogos), enfim, uma infinidade de serviços web possuem uma WebAPI à disposição para ser usada. Daà entra a sua criatividade de como usar tudo isso. A era de aplicações web, está ainda engatinhando nesse quesito, mas vai chegar lá. Em pouco tempo, praticamente TUDO vai ter uma WebAPI à disposição e vai ser possÃvel integrar praticamente qualquer serviço.
Quem não estiver nesse barco, vai se afogar. Então é melhor começar a nadar.
Amigo vc sabe se tem algum manual de qualquer banco para consumir o webapi ?
Citação::
Já tentou Google? Farei isso, pois como KERPLUNK mesmo disse: [Ô]Quem não estiver nesse barco, vai se afogar. Então é melhor começar a nadar.[Ô] Posso não entender nada sobre a linguagem mobile, seja ela Android, IO[ô]s, Win-Phone ou seja lá qual for, mas é bom guardar informações a respeito. Em relação ao banco, creio que usam um único banco para dois sistemas (Móvel (mobile) e o fixo (Lojista, Bancário, etc)).
Oi, Mouser blz, tentei no google, achei alguns tutoriais de como consumir webservice, e como fazer também, mas não encontrei nenhuma documentação dos bancos, bancos eu digo não banco de dados, e sim instibuições financeira, tavo pensando em ver se consigo estudar o codigo fonte desse aplicativo que instalei no meu celular o guia bolso, vou tentar ver o codigo fonte, qualquer informação que seja importante eu posto aqui para ajudar o pessoal,
Citação::
Vou conversar com alguns professores que ainda tenho contato, ver se consigo algum modelo para você! (alguns deles já prestaram serviços para bancos, talvez tenha algum que possa disponibilizar).
Blz MOUSER seria de grande ajuda, qualquer informaçao
Citação::
Aà é que está o problema. A WebAPI é em si própria um banco de dados. Também não confunda WebAPI com WebService, são coisas parecidas, mas diferentes. Um exemplo de WebAPI.
Nossa KERPLUNK, ja estavo confundindo mesmo, tavo pensando que era webservice, grato pela dica, vou pesquisar correto agora.
Veja bem o próprio VBMania(ou qualquer site). Você digita um endereço e o browser faz a conexão. No servidor que hospeda o VBMania, temos um programa(um server, no caso especÃfico, o Apache). Então, o apache lê o documento desejado e repassa para o cliente de conexão(no caso você, acessando) o texto HTML do documento e todos os outros recursos necessários para a correta exibição do HTML, como arquivos CSS, Javascript, imagens, fontes e qualquer outra coisa que seja necessária. Repare também o endereço especÃfico da página que você está vendo, lá em cima na barra de endereços. O endreço é:
http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=451893&pagina=1
Vamos quebrar isso em partes:
http -> indica o protocolo a ser usado, transferência de hyper texto
vbmania.com.br -> o domÃnio
index.php -> o documento HTML desejado
? -> indica uma separação para inÃcio de passagem de parâmetros
modulo=forum
metodo=abrir
id=451893
pagina=1
Tudo isso são parâmetros indicando ao servidor apache que o documento a ser gerado possui parâmetros que devem ser considerados na renderização do documento que consta na URL. Esses parâmetros são determinados pelo programador e são livres para serem o que o programador quiser.
Para entender melhor, imagine que no seu projeto exista uma DLL(uma API), que não está necessariamente na sua máquina, claro que isso não é tecnicamente viável, mas para exemplificar, imagine isso. Bem, essa DLL possui métodos. Imagine que essa DLL possua um método principal que traz informações dos tópicos do VBMania, digamos que ele se chame [Ô]Principal[Ô]. Ele traz informações do tópico desejado, especificado em parâmetros. Imagine que seja algo como:
Var respostas = vbmania.com.br.forum.Principal([Ô]abrir[Ô], 451893, 1)
[c]
Então executando esse método, você traria uma lista de respostas do fórum dentro da variável [Ô]respostas[Ô], as respostas desse tópico no nosso exemplo. Então você faz o que quiser com elas no seu programa. Exibir num grid, exportar para um arquivo, enfim qualquer coisa que você queira fazer com esses dados.
Uma WebAPI é muito semelhante(tecnicamente a mesma coisa), ela traz dados em formato JSON ou XML à escolha de quem desenvolveu. é possÃvel até ter métodos que tragam ou um ou outro para comodidade do client, tanto faz sendo por um método separado ou por parâmetro de um método, assim:
[c]
Var respostas = vbmania.com.br.forum.Principal([Ô]abrir[Ô], 451893, 1, [Ô]XML[Ô])
ou
Var respostas = vbmania.com.br.forum.Principal([Ô]abrir[Ô], 451893, 1, [Ô]JSON[Ô])
ou
Var respostas = vbmania.com.br.forum.PrincipalXML([Ô]abrir[Ô], 451893, 1)
ou
Var respostas = vbmania.com.br.forum.PrincipalJSON([Ô]abrir[Ô], 451893, 1)
Ao entender essa analogia, podemos passar a entender a coisa mais a fundo, ou seja, como realmente é. Uma WebAPI, divide métodos por verbos HTTP. O método mais comum é o método GET, que é busca de informações, como no nosso exemplo acima. Os parâmetros de busca podem ser passados na própria URL(como no nosso exemplo), ou as variáveis serem passadas no corpo da chamada. é essa é nova, corpo da mensagem. Mas é simples de se entender: quando chamamos um método GET de uma WebAPI ou mesmo de uma página, essa chamada possui um cabeçalho e um corpo, mas não confunda isso com a estrutura HTML, apesar de terem a mesma denominação, são coisas diferentes, vamos chegar lá, paciência, meu caro padawan.
Mencionei verbos HTTP. Eles são formulados automaticamente usando ferramentas como o JQuery e são eles que definem o que se vai fazer na chamada. Tenha em mente esse endereço:
http://www.minhaaplicacao.com.br/api/clientes/
Nesse caso, estou usando a WebAPI para buscar clientes, certo? Bem, também, vai depender do verbo HTTP que usei na chamada. Se usei o método [Ô]GET[Ô], então a API vai retornar dados de clientes, uma lista em formato JSON ou XML de todos os clientes. Se usar um outro verbo, então no corpo da mensagem devem constar parâmetros referentes ao verbo usado. [Ô]Como assim?[Ô] você deve ter se perguntado. Bem, o mesmo endereço(URL), serve tanto para buscar clientes quanto para adicionar, dependendo do verbo HTTP usado. O verbo HTTP usado para [Ô]adicionar[Ô] é o método POST. O método para buscar, [Ô]GET[Ô], é assumido automaticamente caso nenhum verbo tenha sido especificado.
A mesma base de URL pode também ser usada para especificar parâmetros e temos diferentes formas de se fazer isso:
http://www.minhaaplicacao.com.br/api/clientes/5677
ou
http://www.minhaaplicacao.com.br/api/clientes/busca?id=5677
Nesse caso, tanto uma quanto outra retorna dados do cliente cujo ID seja 5677, o formato da URL é diferente, mas tecnicamente fariam a mesma coisa. Obviamente isso não é automático, quem implementar a WebAPI é quem define como isso deve ser e nada impede de ambas as formas serem aceitas. A primeira é a mais usual e deve ser encorajada. Se você entendeu isso, deve estar se perguntando: [Ô]E consultas mais complexas, como funciona?[Ô]. Simples, do mesmo jeito! A URL pode ser composta da maneira que quiser, com partes fixas e partes variáveis:
http://www.minhaaplicacao.com.br/api/clientes/grupo/56
ou
http://www.minhaaplicacao.com.br/api/clientes/busca?grupo=56
Acho que aqui você já deve estar entendendo como a coisa funciona. Está entendendo como se busca os dados, mas ainda não entendeu bem como funciona para usar as outras funções como inserir, editar e excluir. Aà é que entram os verbos HTTP. Veja o exemplo:
$.ajax({
type: [Ô]POST[Ô],
url: [Ô]http://www.minhaaplicacao.com.br/api/clientes/[Ô],
data: {[Ô]descricao[Ô]:[Ô]Lojinha do zé[Ô], [Ô]grupo[Ô]:[Ô]49[Ô], [Ô]endereco[Ô]:[Ô]rua das candongas, 345[Ô]},
success: function(){ alert([Ô]registro incluÃdo com sucesso[Ô]);},
dataType: [Ô]text[Ô]
});
Meio difÃcil entender caso você não tenha domÃnio de Javascript. Mas observe melhor. Ali, tempos uma chamada AJAX, do tipo [Ô]POST[Ô], para a url [Ô]http://www.minhaaplicacao.com.br/api/clientes/[Ô], passando os dados [Ô]descricao[Ô]:[Ô]Lojinha do zé[Ô], [Ô]grupo[Ô]:[Ô]49[Ô], [Ô]endereco[Ô]:[Ô]rua das candongas, 345[Ô] e uma função que exibirá uma mensagem, caso o retorno da chamada seja de sucesso, além da especificação do tipo de dados transitado que é [Ô]text[Ô].
Antes que você pergunte, não, WebAPI não é para ser usada exclusivamente com aplicações web. Acredite ou não, você pode sim usar aplicações desktop para consumir uma WebAPI, mas veremos isso mais adiante.
Continuando, assim como passei o verbo [Ô]POST[Ô], também poderia ser um outro verbo qualquer:
$.ajax({
type: [Ô]GET[Ô],
url: [Ô]http://www.minhaaplicacao.com.br/api/clientes/[Ô],
data: {[Ô]id[Ô]: [Ô]5677[Ô]},
success: function([txt-color=#e80000]dados[/txt-color]){ alert([Ô]A descricao do cliente [Ô] + [txt-color=#e80000]dados[/txt-color].ID + [Ô] é: [Ô] + [txt-color=#e80000]dados[/txt-color].Descricao);},
dataType: [Ô]text[Ô]
});
Um pouco mais complicado não é? Observe bem, nem tanto assim. Veja que as diferenças são pequenas. Obviamente o verbo HTTP é diferente do anterior, estou usando o verbo [Ô]GET[Ô]. Como pacote de dados(a variável [Ô]data[Ô]) apenas um ID que é 5677 e se a função for bem sucedida, executo uma função que tem um parâmetro chamado [Ô]dados[Ô]. Ela vai conter o que quer que seja retornado pelo método, que no caso, se espera um objeto cliente. Nessa função, faço a exibição de uma mensagem contendo a descrição do cliente. Simples, mas serve para exemplificar.
Para qualquer outro verbo, a base é a mesma:
$.ajax({
type: [Ô]PUT[Ô],
url: [Ô]http://www.minhaaplicacao.com.br/api/clientes/[Ô],
data: {[Ô]ID[Ô]: [Ô]5677[Ô], [Ô]descricao[Ô]:[Ô]Lojinha do zé[Ô], [Ô]grupo[Ô]:[Ô]95[Ô], [Ô]endereco[Ô]:[Ô]rua das candongas, 345[Ô]},
success: function(){ alert([Ô]registro ALTERADO com sucesso[Ô]);},
dataType: [Ô]text[Ô]
});
Observe aqui, que novamente estou usando um verbo HTTP diferente, no caso, o verbo [Ô]PUT[Ô]. Nos dados passados, estou passando também o ID, indicando qual o cliente que estou alterando. Este cliente vai ter um [Ô]UPDATE[Ô] no banco de dados, para os valores especificados. Então, se a função executar corretamente, uma mensagem dizendo que o registro foi alterado vai ser mostrada.
Ok, acho que você deve estar começando a entender como uma WebAPI funciona. Isso é bom, conhecimento novo. Mas para quem está acostumado com a programação tradicional, onde você instancia os objetos do banco de dados, executa os comandos SQL trazendo os dados do form e tudo o mais, você deve estar pensando que você consegue perfeitamente fazer a mesma coisa sem essa tal de WebAPI. Pergunte-se, é mesmo a mesma coisa? Com certeza que não. Uma WebAPI, é [Ô]abrir[Ô] essa funcionalidade para qualquer aplicação, não somente a sua. Da maneira tradicional, somente você pode mexer com os dados, somente a sua aplicação. Com uma WebAPI, você abre isso para qualquer um que queira integrar com seus dados. Um bom exemplo, é imaginar que sua aplicação seja usada pela [Ô]Lojinha do Zé[Ô] e o seu cliente quer que os clientes dele tenham acesso ao pedidos de compra, para acompanharem o processo todo. Como você faria isso com uma aplicação tradicional? ImpossÃvel? Não, impossÃvel não, mas muito mais difÃcil. Com a WebAPI, não somente os clientes da lojinha do Zé podem integrar, mas também os fornecedores, representantes, transportadoras, enfim, qualquer coisa. E você tem o controle disso, usando login e permissões para cada usuário que quer usar sua WebAPI. Além disso, sua WebAPI ainda pode ser consumida por qualquer client, com qualquer tecnologia, incluindo, clientes mobile.
Espero ter ajudado a entenderem um pouco melhor essa coisa toda de WebAPI...