Plug-in do Service Fabric para desenvolvimento de aplicações Java de Eclipse

O Eclipse é um dos ambientes de desenvolvimento integrados (IDEs) mais utilizados para programadores Java. Neste artigo, descrevemos como configurar o seu ambiente de desenvolvimento do Eclipse para funcionar com o Azure Service Fabric. Saiba como instalar o plug-in do Service Fabric e criar uma aplicação do Service Fabric e implementá-la num cluster do Service Fabric local ou remoto no Eclipse.

Nota

O plug-in do Eclipse não é atualmente suportado no Windows.

Importante

Certifique-se de que o JDK 8 está instalado no sistema e selecionado no Eclipse.

Instalar ou atualizar o plug-in do Service Fabric no Eclipse

Pode instalar um plug-in do Service Fabric no Eclipse. O plug-in pode ajudar a simplificar o processo de criação e implementação de serviços Java.

Importante

O plug-in do Service Fabric requer o Eclipse Neon ou uma versão posterior. Consulte as instruções que se seguem a esta nota para saber como verificar a sua versão do Eclipse. Se tiver uma versão anterior do Eclipse instalada, pode transferir as versões mais recentes do site do Eclipse. Não é recomendado que instale por cima de (substituir) uma versão existente do Eclipse. Pode removê-lo antes de executar o instalador ou instalar a versão mais recente num diretório diferente.

No Ubuntu, é recomendável instalar diretamente a partir do site do Eclipse, em vez de utilizar um instalador de pacote (apt ou apt-get). Se o fizer, assegura que obtém a versão mais recente do Eclipse.

Instale o Eclipse Neon ou posterior a partir do site do Eclipse. Instale também a versão 2.2.1 ou posterior do Buildship (o plug-in do Service Fabric não é compatível com versões anteriores do Buildship):

  • Para verificar as versões dos componentes instalados, no Eclipse, aceda a Ajuda> Sobreos Detalhes da Instalação doEclipse>.
  • Para atualizar o Buildship, veja Eclipse Buildship: Eclipse Plug-ins for Gradle (Eclipse Buildship: Plug-ins do Eclipse para Gradle).
  • Para procurar e instalar atualizações para o Eclipse, aceda a Verificação de Ajuda>para Atualizações.

Instale o plug-in do Service Fabric, no Eclipse, aceda a Ajuda> paraInstalar Novo Software.

  1. Na caixa Compatível com, escreva https://servicefabricdownloads.blob.core.windows.net/eclipse/.

  2. Clique em Adicionar.

    Plug-in do Service Fabric para Eclipse

  3. Selecione o plug-in do Service Fabric e clique em Seguinte.

  4. Conclua os passos de instalação e aceite os Termos de Licenciamento para Software Microsoft.

Se já tiver o plug-in do Service Fabric instalado, instale a versão mais recente.

  1. Para procurar atualizações disponíveis, aceda a Ajuda> Sobreos Detalhes da Instalação doEclipse>.
  2. Na lista de plug-ins instalados, selecione Service Fabric e clique em Atualizar. As atualizações disponíveis são instaladas.
  3. Depois de atualizar o plug-in do Service Fabric, atualize também o projeto do Gradle. Clique com o botão direito do rato em build.gradle e, em seguida, selecione Atualizar.

Nota

Se a instalação ou atualização do plug-in do Service Fabric estiver lenta, tal poderá dever-se a uma definição do Eclipse. O Eclipse recolhe metadados sobre todas as alterações para atualizar os sites que estão registados na sua instância do Eclipse. Para acelerar o processo de procurar e instalar uma atualização do plug-in do Service Fabric, aceda a Sites de Software Disponíveis. Desmarque as caixas de verificação de todos os sites, exceto aquele que aponta para a localização do plug-in do Service Fabric (''https://servicefabricdownloads.blob.core.windows.net/eclipse/).

Nota

Se o Eclipse não estiver a funcionar conforme esperado no Mac (ou se precisar que utilize o perfil de superutilizador), aceda à pasta ECLIPSE_INSTALLATION_PATH e navegue para a subpasta Eclipse.app/Contents/MacOS. Abra o Eclipse mediante a execução de ./eclipse.

Criar uma aplicação do Service Fabric no Eclipse

  1. No Eclipse, aceda a Ficheiro>Novo>Outro. Selecione Projeto do Service Fabric e, em seguida, clique em Seguinte.

    Página 1 do Novo Projeto do Service Fabric

  2. Introduza um nome para o seu projeto e, em seguida, clique em Next (Seguinte).

    Página 2 do Novo Projeto do Service Fabric

  3. Na lista de modelos, selecione Service Template (Modelo de Serviço). Selecione o tipo de modelo de serviço (Actor (Ator), Stateless (Sem Estado), Container (Contentor) ou Binário Convidado (Guest Binary)) e clique em Next (Seguinte).

    Página 3 do Novo Projeto do Service Fabric

  4. Introduza o nome e os detalhes do serviço e clique em Finish (Concluir).

    Página 4 de Novo Projeto do Service Fabric

  5. Quando cria o seu primeiro projeto do Service Fabric, na caixa de diálogo Open Associated Perspective (Abrir Perspetiva Associada), clique em Yes (Sim).

    Página 5 do Novo Projeto do Service Fabric

  6. O seu projeto novo tem o seguinte aspeto:

    Página 6 do Novo Projeto do Service Fabric

Criar uma aplicação do Service Fabric no Eclipse

  1. Clique com o botão direito na aplicação do Service Fabric nova e selecione Service Fabric.

    Menu de clique com o botão direito do rato do Service Fabric

  2. No menu de contexto, selecione uma das seguintes opções:

    • Para criar a aplicação sem limpar, clique em Build Application (Criar Aplicação).
    • Para criar a aplicação de forma limpa, clique em Rebuild Application (Recriar Aplicação).
    • Para limpar a aplicação de artefactos criados, clique em Clean Application (Limpar Aplicação).

Implementar uma aplicação do Service Fabric no cluster local com o Eclipse

Depois de criar a sua aplicação do Service Fabric, siga estes passos para implementá-la no cluster local.

  1. Se ainda não iniciou o cluster local, siga as instruções em Configurar um cluster local para iniciar o cluster local e certifique-se de que está em execução.

  2. Clique com o botão direito do rato na sua aplicação do Service Fabric e, em seguida, selecione Service Fabric.

    Menu de clique com o botão direito do rato do Service Fabric

  3. No menu de contexto, clique em Implementar Aplicação.

  4. Pode seguir o progresso da operação de implementação na janela Consola.

  5. Para verificar se a aplicação está em execução, abra Service Fabric Explorer no cluster local numa janela http://localhost:19080/Explorerdo browser . Expanda o nó Aplicações e certifique-se de que a aplicação está em execução.

Para saber como depurar a sua aplicação no Eclipse com o cluster local, veja Depurar um serviço Java no Eclipse.

Também pode implementar a aplicação no cluster local com o comando Publish Application (Publicar Aplicação ):

  1. Clique com o botão direito do rato na sua aplicação do Service Fabric e, em seguida, selecione Service Fabric.

  2. No menu de contexto, clique em Publicar Aplicação....

  3. Na janela Publicar Aplicação , selecione PublishProfiles/Local.json como o Perfil de Destino e clique em Publicar.

    Caixa de Diálogo Publicar

    Por predefinição, o perfil de publicação Local.json está configurado para publicar no cluster local. Para obter mais informações sobre os parâmetros de ligação e ponto final presentes nos perfis de publicação, consulte a secção seguinte.

Publicar a sua aplicação do Service Fabric no Azure com o Eclipse

Para publicar a sua aplicação na cloud, siga estes passos:

  1. Para publicar a sua aplicação num cluster seguro na cloud, precisa de um certificado X.509 para utilizar para comunicar com o cluster. Em ambientes de teste e desenvolvimento, o certificado utilizado é, muitas vezes, o certificado de cluster. Em ambientes de produção, o certificado deve ser um certificado de cliente diferente do certificado de cluster. Precisa do certificado e da chave privada. O ficheiro de certificado (e chave) tem de estar formatado com PEM. Pode criar um ficheiro PEM que contenha o certificado e a chave privada de um ficheiro PFX com o seguinte comando openssl:

    openssl pkcs12 -in your-cert-file.pfx -out your-cert-file.pem -nodes -passin pass:your-pfx-password
    

    Se o ficheiro PFX não estiver protegido por palavra-passe, utilize --passin pass: para o último parâmetro.

  2. Abra o ficheiro Cloud.json no diretório PublishProfiles . Tem de configurar o ponto final do cluster e as credenciais de segurança adequadamente para o cluster.

    • O ConnectionIPOrURL campo contém o endereço IP ou o URL do cluster. Tenha em atenção que o valor não contém o esquema de URL (https://).

    • Por predefinição, o ConnectionPort campo deve ser 19080, a menos que tenha alterado explicitamente esta porta para o cluster.

    • O ClientKey campo deve apontar para um ficheiro .pem ou .key formatado em PEM no seu computador local que contenha a chave privada para o certificado de cliente ou cluster.

    • O ClientCert campo deve apontar para um ficheiro .pem ou .crt formatado em PEM no seu computador local que contenha os dados do certificado para o seu cliente ou cluster. certificado.

      {
          "ClusterConnectionParameters":
          {
             "ConnectionIPOrURL": "lnxxug0tlqm5.westus.cloudapp.azure.com",
             "ConnectionPort": "19080",
             "ClientKey": "[path_to_your_pem_file_on_local_machine]",
             "ClientCert": "[path_to_your_pem_file_on_local_machine]"
          }
      }
      
  3. Clique com o botão direito do rato na sua aplicação do Service Fabric e, em seguida, selecione Service Fabric.

  4. No menu de contexto, clique em Publicar Aplicação....

  5. Na janela Publicar Aplicação , selecione PublishProfiles/Cloud.json como o Perfil de Destino e clique em Publicar.

    Cloud da Caixa de diálogo Publicar

  6. Pode seguir o progresso da operação de publicação na janela Consola.

  7. Para verificar se a aplicação está em execução, abra Service Fabric Explorer no cluster do Azure numa janela do browser. No exemplo acima, isto seria: https://lnxxug0tlqm5.westus.cloudapp.azure.com:19080/Explorer. Expanda o nó Aplicações e certifique-se de que a sua aplicação está em execução.

Em clusters do Linux seguros, se a sua aplicação contiver serviços reliable Services, também terá de configurar um certificado que os seus serviços podem utilizar para chamar APIs de runtime do Service Fabric. Para saber mais, veja Configurar uma aplicação reliable Services para ser executada em clusters do Linux.

Para obter um guia rápido sobre como implementar uma aplicação do Service Fabric Reliable Services escrita em Java num cluster do Linux seguro, veja Início Rápido: Implementar uma aplicação Java Reliable Services.

Implementar uma aplicação do Service Fabric com as configurações de execução do Eclipse

Outra forma de implementar a aplicação do Service Fabric é utilizar configurações de execução do Eclipse.

  1. No Eclipse, aceda a Executar>Configurações de Execução.

  2. Em Gradle Project (Projeto Gradle), selecione a configuração de execução ServiceFabricDeployer.

  3. No painel direito, no separador Argumentos, certifique-se de que os parâmetrosip, porta, clientCert e clientKey estão definidos adequadamente para a sua implementação. Por predefinição, os parâmetros estão definidos para implementar no cluster local, tal como na seguinte captura de ecrã. Para publicar a sua aplicação no Azure, pode modificar os parâmetros para conter os detalhes do ponto final e as credenciais de segurança do cluster do Azure. Para obter mais informações, veja a secção anterior , Publicar a sua aplicação do Service Fabric no Azure com o Eclipse.

    Caixa de Diálogo Executar Configuração Local

  4. Certifique-se de que o Diretório de Trabalho aponta para a aplicação que pretende implementar. Para alterar a aplicação, clique no botão Workspace (Área de Trabalho) e selecione a aplicação que pretende.

  5. Clique em Apply (Aplicar) e clique em Run (Executar).

A sua aplicação é criada e implementada ao fim de alguns momentos. Pode monitorizar o estado da implementação no Service Fabric Explorer.

Adicionar um serviço do Service Fabric à sua aplicação do Service Fabric

Para adicionar um serviço do Service Fabric a uma aplicação do Service Fabric já existente, faça o seguinte:

  1. Clique com o botão direito do rato no projeto ao qual pretende adicionar um serviço e clique em Service Fabric.

    Página 1 de Adicionar Serviço do Service Fabric

  2. Clique em Add Service Fabric Service (Adicionar Serviço do Service Fabric) e conclua o conjunto de passos para adicionar um serviço ao projeto.

  3. Selecione o modelo de serviço que pretende adicionar ao seu projeto e clique em Next (Seguinte).

    Página 2 de Adicionar Serviço do Service Fabric

  4. Introduza o nome do serviço (e outros detalhes, conforme necessário) e clique no botão Add Service (Adicionar Serviço).

    Página 3 de Adicionar Serviço do Service Fabric

  5. Quando o serviço for adicionado, a estrutura geral do seu projeto será semelhante ao projeto seguinte:

    Página 4 de Adicionar Serviço do Service Fabric

Editar versões do Manifesto da sua aplicação Java do Service Fabric

Para editar versões do manifesto, clique com o botão direito do rato no projeto, entre no Service Fabric e selecione Editar Versões do Manifesto... do menu suspenso. No assistente, pode atualizar as versões do manifesto para o manifesto de aplicação, o manifesto do serviço e as versões dos pacotes Código, Config e Dados.

Se marcar a opção Atualizar automaticamente as versões da aplicação e do serviço e, em seguida, atualizar uma versão, as versões do manifesto serão atualizadas automaticamente. Por exemplo, primeiro selecione a caixa de verificação e atualize a versão do Código de 0.0.0 para 0.0.1 e clique em Concluir, em seguida, a versão do manifesto do serviço e a versão do manifesto de aplicação serão atualizadas automaticamente para 0.0.1.

Atualizar a sua aplicação Java do Service Fabric

Num cenário de atualização, imaginemos que utilizou o plug-in do Service Fabric no Eclipse para criar o projeto App1. Para o implementar, utilizou o plug-in para criar uma aplicação com o nome fabric:/App1Application. O tipo de aplicação é App1ApplicationType e a versão da aplicação é 1.0. Agora, quer atualizar a aplicação sem interromper a disponibilidade.

Em primeiro lugar, faça eventuais alterações à aplicação e, em seguida, recrie o serviço modificado. Atualize o ficheiro de manifesto do serviço modificado (ServiceManifest.xml) com as versões atualizadas do serviço (e com Código, Configuração ou Dados, conforme relevante). Modifique também o manifesto da aplicação (ApplicationManifest.xml) com o número da versão atualizada da aplicação e o serviço modificado.

Para atualizar a aplicação com o Eclipse, pode criar um perfil de configuração de execução duplicado. Em seguida, utilize-o para atualizar a sua aplicação, conforme necessário.

  1. Aceda a Executar>Configurações de Execução. No painel do lado esquerdo, clique na seta pequena à esquerdo de Gradle Project (Projeto Gradle).
  2. Clique com o botão direito do rato em ServiceFabricDeployer e selecione Duplicate (Duplicado). Introduza um novo nome para esta configuração, como, por exemplo, ServiceFabricUpgrader.
  3. No painel direito, no separador Arguments (Argumentos), altere -Pconfig='deploy' para -Pconfig='upgrade' e clique em Apply (Aplicar).

Este processo cria e guarda um perfil de configuração de execução que pode utilizar em qualquer altura para atualizar a sua aplicação. Também obtém a versão de tipo de aplicação atualizada mais recente a partir do ficheiro de manifesto da aplicação.

A atualização da aplicação demora alguns minutos. Pode utilizar o Service Fabric Explorer para monitorizar a atualização da aplicação.

Migrar aplicações Java antigas do Service Fabric para utilizar com o Maven

Recentemente, movemos as bibliotecas Java do Service Fabric do SDK Java do Service Fabric para o repositório Maven. Enquanto as aplicações novas que gerar através do Eclipse irão gerar projetos com as atualizações mais recentes (que conseguirão trabalhar com o Maven), pode atualizar as aplicações Java sem estado ou de Actor do Service Fabric, que estavam a utilizar anteriormente o SDK Java do Service Fabric, para utilizar as dependências Java do Service Fabric a partir do Maven. Siga os passos mencionados aqui para garantir que a aplicação mais antiga funciona com o Maven.

Passos seguintes