Este documento descreve como integrar aplicações Java com o LinkedIn usando o framework Spring Social. Ele explica como configurar o Spring Social para autenticar usuários e acessar seus dados e contatos do LinkedIn de acordo com o protocolo OAuth. Além disso, fornece um exemplo passo a passo de como construir uma aplicação que se conecta ao LinkedIn usando essas bibliotecas.
Casos teste integração efetiva de algumas unidades Adriana Telles
Trabalho feito para apresentação do curso de pos-graduação Senac, foi feito baseado no artigo.
2013 IEEE Sixth International Conference on Software Testing, Verification and Validation
Generating Effective Integration Test Cases from Unit Ones
Mauro Pezz`e
University of Lugano, Switzerland and
University of Milano Bicocca, Italy
mauro.pezze@usi.ch
Konstantin Rubinov
Faculty of Informatics
University of Lugano, Switzerland
konstantin.rubinov@usi.ch
Jochen Wuttke
Computer Science & Engineering
University of Washington, Seattle, USA
wuttke@cs.washington.edu
Casos teste integração efetiva de algumas unidades Adriana Telles
Trabalho feito para apresentação do curso de pos-graduação Senac, foi feito baseado no artigo.
2013 IEEE Sixth International Conference on Software Testing, Verification and Validation
Generating Effective Integration Test Cases from Unit Ones
Mauro Pezz`e
University of Lugano, Switzerland and
University of Milano Bicocca, Italy
mauro.pezze@usi.ch
Konstantin Rubinov
Faculty of Informatics
University of Lugano, Switzerland
konstantin.rubinov@usi.ch
Jochen Wuttke
Computer Science & Engineering
University of Washington, Seattle, USA
wuttke@cs.washington.edu
Porque criar sua arquitetura na nuvem;
Alguns modelos de arquiteturas: EC2, Container, serverless;
Arquitetura serverless - Exemplo prático e didático do passo-a-passo para você criar uma arquitetura serverless na AWS;
JHipster - Produtividade e Maturidade em suas mãosThiago Soares
Apresentação utilizada no JavaDay 2017. Um rápida introdução ao JHipster e muita prática.
O resultado foi a aplicação funcionando completamente na núvem Heroku.
Apresentação sobre APIs.
* Histórico sobre as APIs e sua aplicação no mundo da tecnologia
* HTTP: Histórico de evolução do HTTP e suas versões, aplicação e boas práticas
* Webservices: Histórico e evolução do webservice com timeline.
* SOAP: Introdução e exemplo prático de código
* REST:: Introdução, exemplo prático, boas práticas na implementação e serviços úteis.
* RESTFull: Definição de Restfull e diferença com o REST
* Webhooks: Introdução e exemplo de aplicabilidade.
* GraphQL: Introdução e exemplo de aplicabilidade.
Repensando o ESB: sua arquitetura SOA, usando APIsFábio Rosato
Quando pensamos em adotar uma arquitetura orientada a serviços pensa-se em adotar um ESB - Enterprise Services Bus.
Normalmente, isso significa ferramentas caras e difíceis de operar, o que é uma pena, porque um ESB simplifica a evolução e conectividade em sistemas legados, desacoplando e tendo baixo impacto no ambiente.
Esses são requisitos necessários para inovação rápida e digitalização dos negócios atuais.
Grandes empresas, como a Simpress, estão destravando seus back-ends legados, com um ESB via implementação de APIs internas, como um catalisador de estratégias digitais.
Nesse webinar, vamos mergulhar em um cenário de adoção do conceito ESB a partir de uma abordagem lightweight usando APIs internas como alternativa aos ESBs tradicionais.
Porque criar sua arquitetura na nuvem;
Alguns modelos de arquiteturas: EC2, Container, serverless;
Arquitetura serverless - Exemplo prático e didático do passo-a-passo para você criar uma arquitetura serverless na AWS;
JHipster - Produtividade e Maturidade em suas mãosThiago Soares
Apresentação utilizada no JavaDay 2017. Um rápida introdução ao JHipster e muita prática.
O resultado foi a aplicação funcionando completamente na núvem Heroku.
Apresentação sobre APIs.
* Histórico sobre as APIs e sua aplicação no mundo da tecnologia
* HTTP: Histórico de evolução do HTTP e suas versões, aplicação e boas práticas
* Webservices: Histórico e evolução do webservice com timeline.
* SOAP: Introdução e exemplo prático de código
* REST:: Introdução, exemplo prático, boas práticas na implementação e serviços úteis.
* RESTFull: Definição de Restfull e diferença com o REST
* Webhooks: Introdução e exemplo de aplicabilidade.
* GraphQL: Introdução e exemplo de aplicabilidade.
Repensando o ESB: sua arquitetura SOA, usando APIsFábio Rosato
Quando pensamos em adotar uma arquitetura orientada a serviços pensa-se em adotar um ESB - Enterprise Services Bus.
Normalmente, isso significa ferramentas caras e difíceis de operar, o que é uma pena, porque um ESB simplifica a evolução e conectividade em sistemas legados, desacoplando e tendo baixo impacto no ambiente.
Esses são requisitos necessários para inovação rápida e digitalização dos negócios atuais.
Grandes empresas, como a Simpress, estão destravando seus back-ends legados, com um ESB via implementação de APIs internas, como um catalisador de estratégias digitais.
Nesse webinar, vamos mergulhar em um cenário de adoção do conceito ESB a partir de uma abordagem lightweight usando APIs internas como alternativa aos ESBs tradicionais.
Repensando o ESB: sua arquitetura SOA, usando APIs
Spring social
1. Pós – Graduação Engenharia de Software JEE -
Spring Social Integração com o Linkedin
2. Agenda:
• Introdução
• Objetivo
• Configuração
• Linkedin API
• Etapas Resumidas do OAuth
• Descrição do projeto
• Utilização
• Estudo de Caso
• Conclusão
3. Introdução:
• O Spring Social é uma nova extensão do Spring Framework que
facilita a integração entre aplicações Java e provedores SaaS,
abstraindo os detalhes dos protocolos de autenticação e de acesso e
oferecendo uma API Java por meio da qual as funcionalidades e
informações oferecidas pelo serviço podem ser acessadas.
• O SaaS é um conceito da computação em nuvem (cloud computing) e
consiste em um modelo de distribuição de software no qual as
informações (ex.: sua lista de amigos no Facebook, seus seguidores
no Twitter, seus contatos no Linkedin) e as funcionalidades (ex.: curtir
algo publicado por um amigo no Facebook, publicar um texto de até
140 caracteres no Twitter) são centralizadas (na “nuvem”) e podem ser
acessadas por diferentes clientes (chamados de thin clients ou
“clientes magros” por conterem somente a interface com o usuário).
4. Objetivo:
• O objetivo deste projeto é mostrar o Spring Social com
integração ao LinkedIn, através do provedor SaaS (Software as a
Service), em português, Software como um Serviço, com o
protocolo de autenticação e acesso OAuth (Open Autorizition). A
aplicação deverá acessar a conta do usuário, exibir o perfil e a
sua lista de contatos.
5. Configuração:
Módulos básicos do spring social obtidos no site:
http://mvnrepository.com/
Tabela 1. Módulos Spring Social
Nome Descrição
spring-social-core Suporte ao cliente do Spring Framework e OAuth.
spring-social-config Suporte de configuração Java e XML para o Spring Social.
spring-social-security
Apoio à integração Spring Security.
spring-social-web ConnectController do Spring Social, que utiliza um
Framework de conexão para gerenciar conexões em um
ambiente de aplicação web.
6. Dependências do projeto no pom.xml
<!-- Spring dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-core</artifactId>
<version>${spring-social.version}</version>
</dependency>
9. Linkedin API
Passos básicos necessários para obter alguns dados do LinkedIn.
• Solicite uma chave de API e chave secreta usando o seu perfil do
LinkedIn desta página: https://www.linkedin.com/secure/developer .
• Em seu aplicativo, redirecionar o usuário para a página de
autenticação e fornecer a sua chave API.
• O usuário autentica-se no site do LinkedIn.
• Se não for feito antes, o usuário precisa autorizar o aplicativo para
agir em nome dele.
• Usuário será redirecionado para o seu site com um token pedido e um
código de verificação.
• Obter um token de acesso usando o token de solicitação e o código
de verificação.
• Comece interagindo com linkedin usando sua chave api e o token de
acesso obtido.
10. Etapas Resumidas do OAuth:
Em resumo, no fluxo de Web Server, as etapas de alto nível são as
seguintes:
• O usuário se conecta a seu provedor de SaaS;
• Um código de autorização é enviado para seu aplicativo;
• O aplicativo usa o código de autorização para recuperar um token de
acesso;
• O token de acesso é usado para recuperar dados privados do usuário;
11. Descrição do projeto:
Vamos criar com o Spring social LinkedIn uma integração através do
provedor SaaS(Software-a-as-Service) com o protocolo de
autenticação OAuth (Open Autorizition) no qual pode se autenticar,
usando o serviço OAuth pela chave API e chave Secreta, obtendo o
acesso ao Token e o call-back, usando o OAuth e seus componentes
fornecidos pelo projeto Spring Social. Depois da autenticação será
possível exibir a lista de contatos e acessar o perfil do usuário.
12. Utilização:
Utilizando o provedor SaaS com o protocolo Oauth 2.0, com
módulo spring-social-core, conectando-se aos provedores de
serviços individuais que o spring fornece através de serviços
básicos.
13. Pontos Positivos e Negativos:
• Pontos Positivos: implementação livre, mais seguro pelo
protocolo OAuth 2.0 que é mais simples e fácil de utilizar e a
vantagem de um conjunto de outras comunidades conduzidas
por módulos.
• Pontos Negativos: o efeito estufa que o protocolo OAuth
permite.
14. Estudo de caso:
• Apresentar uma aplicação desenvolvida em Java usando o
framework Spring Social com Integração ao LinkedIn;
• Serão abordados o uso dos códigos, mostrando alguns
detalhes técnicos, sobre a tecnologia e padrões do Spring;
• Desenvolver uma aplicação, utilizando o provedor
SaaS(Software-as-a-Service) com o protocolo de
autenticação e acesso OAuth (Open Autorizition) no qual o
usuário poderá acessar dados de seu perfil e a sua lista de
contatos.
15. Conclusão:
O principal objetivo desse projeto foi apresentar o framework Spring
Social com integração ao LinkedIn através do provedor
SaaS(Software as a Service) com o protocolo de segurança OAuth
(Open Autorizition) com padrões básicos do Spring, mostrando
como é fácil a sua implementação e segura para os usuários se
autenticarem e permiti que sua aplicação possa ser vista por outras
aplicações.
Um último ponto para se observar aqui é que tudo isso acontece
usando SSL para garantir que as chaves, os segredos, os códigos
etc. estão escondidos de olhares indiscretos,garantindo assim a
privacidade do usuário.