Grupo de trabalho da disciplina Aplicação de Software Social (1º/2012) da Universidade Federal de Minas Gerais, constituído pelos alunos Claudio, Maria, Moisés, Pedro e Virgili.
Qual seria a vantagem para uma grande corporação, como a Google, tornar suas API's abertas? E porque não abrir uma API, em um mundo onde busca-se cada vez mais aspectos colaborativos e sociais?
Um exemplo de utilização da API dos Correios "Busca CEP" seria em sites de e-commerce. Quando o usuário deseja calcular o valor de um frete e não sabe o CEP, é aberta uma janela de "Pesquisa CEP".
Muitos sites e aplicativos de sucesso hoje tem seus APIs abertos aos desenvolvedores como o Amazon, Google Maps, Correios etc. Qual é a vantagem para a empresa/desenvolvedor deixar o API aberto e qual seria as possiveis desvantagens
Uma API Web pode ser vista como um sinônimo para "serviço Web". A partir disso, é possível que diversos serviços sejam combinados entre si para a criação de novos serviços? Se possível, exemplifique.
Eduardo, sim é possível. Posso citar o Youtube como exemplo de um sistema que combina diversas APIs com o propósito de tornar o serviço mais prático para o usuário. Você acessa sua conta através da API do buscador que, no caso, é o Google, pode usar a API do Google Translate para traduzir a página e pode compartilhar o link do vídeo em redes sociais como Twitter, Facebook, Google+ e Tumblr.
@Guilherme, o Windows, por exemplo, possui APIs como a Win16 API, Win32 API ou Telephony API, em todas as suas versões. Ao executar um programa que envolva algum processo do sistema operacional, é provável que ele faça uma conexão com alguma API do Windows.
@Wender, uma vantagem para essas empresas é agregar valor ao usuário, ao programador e à aplicação, outra vantagem é que as API's não pretendem se envolver em detalhes da implementação do software, mas apenas usar seus serviços, disponibilizar uma API aberta pode, até mesmo, significar uma melhoria do serviço de quem está disponibilizando-a. As duas principais desvantagens podem ser: o grau de segurança da aplicação e se um dia a API deixar de funcionar ou for descontinuada, pode ser que tudo que foi feito seja perdido.
De que maneira é desenvolvida a segurança durante o trafego das informações quando os APIs são aplicados em situações como as dos dois cartoes de credito citados?
A segurança neste caso é realizada através de criptografia assimétrica. A mais usada no Brasil e no mundo é a criptografia RSA. É chamada de assimétrica por possuir duas chaves distintas (uma pública e outra privada). 1 - O cartão criptográfico possui um chave publica e outra privada 2 – A chave publica é solicitada por aquele que está tentando acessar as informações do cartão. 3 – A chave publica é transmitida pelo portador do cartão e só pode ser acessada posteriormente através da “abertura” das informações pela chave privada, que por sua vez fica de posse somente do portador do cartão. Para saber mais sobre recursos criptográficos, procure pelo professor da UFMG Fábio Henrique Martinez. Foi meu professor período passado e desenvolve pesquisas na área.
A api aberta pode trazer grandes benefícios para desenvolvedores de aplicativos, usuários, empresas etc. Facilitar a navegação e a interação entre usuário/sistema, porém essas APIs podem apresentar falhas e consequentemente essas falhas podem ser exploradas e utilizadas por hackers, deixando expostos assim dados de usuários na Web. Um exemplo do que citei é dado na seguinte matéria: ""Aplicativos do Facebook têm falha grave de segurança", afirmam hackers" http://idgnow.uol.com.br/seguranca/2011/10/07/aplicativos-do-facebook-tem-falha-grave-de-seguranca-afirmam-hackers/ Na opnião de vc's como a API pode ser utilizada com segurança para fins lícitos? e onde entra a segurança dos dados dos usuários nessas aplicações? Eles também não poderiam estar expostos a algum tipo de falha? Há alguma política quanto ao tratamento dos dados dos usuários nessas API's?
As APIs abertas dão acesso à base de dados com algum controle de privacidade, mas também há aquelas que dão acesso total. É claro que, tratando-se de internet principalmente, o controle de segurança ainda é bem difícil. No entanto, na tentativa de diminuir problemas de segurança, vazamento de dados e etc, boa parte dos sites que pedem acesso à sua conta possuem um termo de responsabilidade que diz o que irão ou não fazer com seus dados. Então, de certa forma, essa responsabilidade de cuidar dos dados cai também sobre o usuário.
O pior seria, e mais por questão de erros de programação mesmo, alguns bugs como XSS levam ao roubo de cookies, outros erros podem permitir o acesso às senhas ou chaves gravados no banco de dados, possibilitando o acesso completo a contas de terceiros.
Qual seria a vantagem para uma grande corporação, como a Google, tornar suas API's abertas? E porque não abrir uma API, em um mundo onde busca-se cada vez mais aspectos colaborativos e sociais?
ResponderExcluirUm exemplo de utilização da API dos Correios "Busca CEP" seria em sites de e-commerce. Quando o usuário deseja calcular o valor de um frete e não sabe o CEP, é aberta uma janela de "Pesquisa CEP".
ResponderExcluirAlgumas distribuições do Linux possuem API's abertas. Como um desenvolvedor pode utilizar uma API aberta para criar um novo programa?
ResponderExcluirLucas, o primeiro passo é fazer o download do código fonte do API. Depois basta compilar e ligá-lo ao seu código.
ExcluirWender Rodrigo - Grupo Azul
ResponderExcluirMuitos sites e aplicativos de sucesso hoje tem seus APIs abertos aos desenvolvedores como o Amazon, Google Maps, Correios etc.
Qual é a vantagem para a empresa/desenvolvedor deixar o API aberto e qual seria as possiveis desvantagens
Poderia citar um exemplo de API usada em sistemas operacionais?
ResponderExcluirWin16 API, Win32 API ou Telephony API são exemplos de API's usados no windows
ExcluirExiste alguma outra alternativa para um usuário comum ter acesso aos dados de um servidor sem ser através de uma API?
ResponderExcluirUma API Web pode ser vista como um sinônimo para "serviço Web". A partir disso, é possível que diversos serviços sejam combinados entre si para a criação de novos serviços? Se possível, exemplifique.
ResponderExcluirEduardo, sim é possível.
ExcluirPosso citar o Youtube como exemplo de um sistema que combina diversas APIs com o propósito de tornar o serviço mais prático para o usuário. Você acessa sua conta através da API do buscador que, no caso, é o Google, pode usar a API do Google Translate para traduzir a página e pode compartilhar o link do vídeo em redes sociais como Twitter, Facebook, Google+ e Tumblr.
Como é possível conciliar os direitos autorais de um código-fonte mantendo-o como uma API aberta? Existe legislação brasileira para esses casos?
ResponderExcluirExiste alguma referência ou livro que ensine didaticamente a criar suas API's.
ResponderExcluirEm PHP:
ExcluirLivro: Professional Web APIs with PHP (eBay, Google, Paypal, Amazon, FedEx plus Web Feeds)
Autor: Paul Michael Reinheimer
Em C++:
Livro: API Design for C++
Autor: Martin Reddy
Em Java:
Livro: Pro EJB 3: Java Persistence API (Expert's Voice in Java)
Autores: Mike Keith, Merrick Schinariol
@Guilherme, o Windows, por exemplo, possui APIs como a Win16 API, Win32 API ou Telephony API, em todas as suas versões. Ao executar um programa que envolva algum processo do sistema operacional, é provável que ele faça uma conexão com alguma API do Windows.
ResponderExcluir@Wender, uma vantagem para essas empresas é agregar valor ao usuário, ao programador e à aplicação, outra vantagem é que as API's não pretendem se envolver em detalhes da implementação do software, mas apenas usar seus serviços, disponibilizar uma API aberta pode, até mesmo, significar uma melhoria do serviço de quem está disponibilizando-a.
As duas principais desvantagens podem ser: o grau de segurança da aplicação e se um dia a API deixar de funcionar ou for descontinuada, pode ser que tudo que foi feito seja perdido.
Quais as implicações legais poderiam ocorrer da utilização de API's abertas em conjunto com softwares proprietários??
ResponderExcluirVisa e Mastercard utilizam API.
ResponderExcluirDe que maneira é desenvolvida a segurança durante o trafego das informações quando os APIs são aplicados em situações como as dos dois cartoes de credito citados?
A segurança neste caso é realizada através de criptografia assimétrica. A mais usada no Brasil e no mundo é a criptografia RSA. É chamada de assimétrica por possuir duas chaves distintas (uma pública e outra privada).
Excluir1 - O cartão criptográfico possui um chave publica e outra privada
2 – A chave publica é solicitada por aquele que está tentando acessar as informações do cartão.
3 – A chave publica é transmitida pelo portador do cartão e só pode ser acessada posteriormente através da “abertura” das informações pela chave privada, que por sua vez fica de posse somente do portador do cartão.
Para saber mais sobre recursos criptográficos, procure pelo professor da UFMG Fábio Henrique Martinez. Foi meu professor período passado e desenvolve pesquisas na área.
Posso dizer que quando aplicativo Java é acionado ao acessamos a página do Banco do Brasil, é exemplo de API?
ResponderExcluirA api aberta pode trazer grandes benefícios para desenvolvedores de aplicativos, usuários, empresas etc. Facilitar a navegação e a interação entre usuário/sistema, porém essas APIs podem apresentar falhas e consequentemente essas falhas podem ser exploradas e utilizadas por hackers, deixando expostos assim dados de usuários na Web. Um exemplo do que citei é dado na seguinte matéria: ""Aplicativos do Facebook têm falha grave de segurança", afirmam hackers"
ResponderExcluirhttp://idgnow.uol.com.br/seguranca/2011/10/07/aplicativos-do-facebook-tem-falha-grave-de-seguranca-afirmam-hackers/
Na opnião de vc's como a API pode ser utilizada com segurança para fins lícitos? e onde entra a segurança dos dados dos usuários nessas aplicações? Eles também não poderiam estar expostos a algum tipo de falha? Há alguma política quanto ao tratamento dos dados dos usuários nessas API's?
As APIs abertas dão acesso à base de dados com algum controle de privacidade, mas também há aquelas que dão acesso total. É claro que, tratando-se de internet principalmente, o controle de segurança ainda é bem difícil. No entanto, na tentativa de diminuir problemas de segurança, vazamento de dados e etc, boa parte dos sites que pedem acesso à sua conta possuem um termo de responsabilidade que diz o que irão ou não fazer com seus dados. Então, de certa forma, essa responsabilidade de cuidar dos dados cai também sobre o usuário.
ExcluirO pior seria, e mais por questão de erros de programação mesmo, alguns bugs como XSS levam ao roubo de cookies, outros erros podem permitir o acesso às senhas ou chaves gravados no banco de dados, possibilitando o acesso completo a contas de terceiros.
Alan Aquino de Castro Junior
ResponderExcluirGrupo Violeta
Um exemplo de A.P.I aberta é a .NET do SKYDRIVE da MS. Que permite ao desenvolvedor utiliza-la para fazer uso dos recursos de armazenamento na nuvem.
Pergunta:
Existe algum estudo, estatística ou um ranking de qual A.P.I aberta quanto a lucratividade?