Pesquisar este blog

segunda-feira, 11 de setembro de 2017

SOA Arquitetura Orientada a Serviços

Surgimento

Conforme relatado no post de SOAP, no início as páginas da internet eram todas estáticas, contendo HTMLs não reativos as ações dos usuários. Depois de algum tempo, com o surgimento do javascript, começaram a aprecer a Web 2.0, as as páginas dinâmicas.
Estas páginas dinâmicas foram construídas em cima de uma arquitetura distribuída e conforme os anos foram passando, as empresas notaram que poderiam ganhar dinheiro provendo dados para seus clientes. Neste ponto, os sistemas começaram a se abrir mais e as empresas começaram a expor alguns dados.
Esta exposição de dados foi realizada através de serviços na Web, e existem vários exemplos de serviços abertos na web.
Com isto, todos os dados das empresas começaram a serem expostos, tanto externamente, quanto internamente, por serviços web e assim surgiu o SOA que é uma arquitetura distribuída onde todos os dados são expostos através de serviços.

Caraterísticas

O SOA surgiu para substituir os RPCs, pois as empresas preisavam de algo mais dinâmico e mais fácil de ser acessado.
Os serviços web, podem ser acessados por praticamente qualquer linguagem de programação, basta que ela consiga fazer uma chamada HTTP e consiga decodificar JSONs ou XMLs.
Ao usar SOA deve-se expor as interfaces dos seus serviços, ou os contratos e uma forma muito comum de expor estes serviços, quando usamos o protocolo SOAP, baseado em xml, é usarmos a WSDL (Web Service Description Language), ou linguagem de descrição do Web Service.
O WSDL é uma linguagem de metadados, ou seja, dados sobre os dados, e acessando o WSDL de um serviço é possível gerar código, na sua linguagem de preferencia, que traduzem o acesso aqueles webservices.
Dentre os dados, que estão disponíveis no WSDL temos a lista dos serviços disponíveis, assim como om qual método HTML ele é acessado, e os atributos, e seus tipos, daquele serviço.
Com o SOA é possível isolar bem as partes de um software web, casando muito bem com a arquitetura de 3 camadas, ou o MVC. Em um software SOA, os desenvolvedores fazem os serviços, que serão acessados pelos WebDesigners, os quais ficarão responsáveis por desenvolver a iteração com o usuário.

Link pra apresentação

terça-feira, 5 de setembro de 2017

Ferramenta de build Gradle

Neste post será mostrado como instalar e como criar o seu primeiro projeto usando o build tool Gradle.

Preparação do ambiente

Para instalar o Gradle, antes devemos instalar o sdkman, que é uma ferramenta para administrar múltiplos ambientes de desenvolvimento e sua instalação é bem simples, basta digitar o seguinte comando no terminal:
curl -s "https://get.sdkman.io" | bash
 Após completar a instalação você deverá abrir um novo terminal para que o comando sdk seja reconhecido.

Instalação do Gradle

Depois de ter instalado o sdkman, agora podemos instalar o gradle. A sua instalação é bem simples, basta digitar o seguinte comando no terminal:
 sdk install gradle 4.1*
* Nota, quando este blog foi escrito, a versão estável do gradle era a 4.1, consulte a página do gradle para saber qual é a última versão estável.

Criando o seu primeiro projeto Java

Depois da instalação, agora vamos criar o primeiro projeto Java usando o gradle, para isto primeiro devemos criar um diretório para ele, o que será feito com o seguinte comando:
mkdir exemplo-gradle
Agora devemos entrar no diretório que acabamos de criar:
cd exemplo-gradle
Aqui vamos inicializar o nosso primeiro projeto gradle
 gradle init --type java-application
Init é o comando do gradle para criar um projeto, no type está sendo definido o tipo do projeto, que no caso é uma aplicação Java.
Para fazer o build deste projeto teste basta digitarmos:
gradle build
A ferramenta gradle irá compilar o nosso projeto e verificar se não existem erros de compilação.

Configurando o gradle com a sua IDE

Para configurar o gradle para executar com o eclipse, basta adicionar:
plugins {
    id 'eclipse'
}
Ao arquivo build.gradle do seu projeto, depois disto digite
gradle eclipse
Que a ferramenta irá criar os arquivos do eclipse no seu projeto e com isto é possível você importar o build dentro do eclipse.

Criando um projeto play

Para criar um projeto com o play, devemos criar um diretório e depois adicionar o seguinte conteúdo no arquivo build.gradle, que estará dentro deste diretório:
plugins {
    id 'play'
}

repositories {
    jcenter()
    maven {
        name "typesafe-maven-release"
        url "https://repo.typesafe.com/typesafe/maven-releases"
    }
    ivy {
        name "typesafe-ivy-release"
        url "https://repo.typesafe.com/typesafe/ivy-releases"
        layout "ivy"
    }
}
Além de adicionar o plugin do play no início do arquivo, devemos também adicionar os repositórios da typesafe, que é quem faz o play framework, no arquivo de build.

Comandos úteis do Gradle:

Dependendo dos plugins utilizados no seu projeto, os comandos disponíveis no gradle irão mudar, portanto, para saber quais comandos estão disponíveis utilizamos o comando tasks:
gradle tasks
Este comando irá mostrar quais são as opções disponíveis para o gradle, além de mostrar um texto explicativo do que é cada um deles.

 Comandos úteis

gradle init -> inicializa um projeto no diretório corrente
gradle build -> compila o código do projeto