Plug-in Service Fabric per lo sviluppo di applicazioni Java in Eclipse

Eclipse è uno degli ambienti di sviluppo integrato (IDE) più diffusi per sviluppatori Java. Questo articolo illustra come configurare l'ambiente di sviluppo Eclipse per l'uso con Azure Service Fabric. Spiega come installare il plug-in Service Fabric, creare un'applicazione di Service Fabric e distribuire l'applicazione nel cluster di Service Fabric locale o remoto in Eclipse.

Nota

Il plug-in per Eclipse non è attualmente supportato in Windows.

Importante

Assicurarsi che JDK 8 sia installato nel sistema e sia selezionato in Eclipse.

Installare o aggiornare il plug-in Service Fabric in Eclipse

È possibile installare un plug-in Service Fabric in Eclipse. Il plug-in consente di semplificare il processo di compilazione e distribuzione di servizi Java.

Importante

Il plug-in Service Fabric richiede Eclipse Neon o versione successiva. Vedere le istruzioni che seguono questa nota per verificare la versione di Eclipse. Se è installata una versione precedente di Eclipse, è possibile scaricare versioni più recenti dal sito di Eclipse. Non è consigliabile eseguire l'installazione sovrascrivendo un'installazione esistente di Eclipse. È possibile rimuoverla prima di eseguire il programma di installazione o installare la versione più recente in una directory diversa.

In Ubuntu si consiglia di eseguire l'installazione direttamente dal sito di Eclipse invece di usare un programma di installazione di pacchetti (apt o apt-get). In questo modo si è certi di ottenere la versione più aggiornata di Eclipse.

Installare Eclipse Neon o versione successiva dal sito di Eclipse. Installare anche Buildship versione 2.2.1 o successiva. Il plug-in Service Fabric non è compatibile con le versioni precedenti di Buildship:

  • Per verificare le versioni dei componenti installati, in Eclipse passare a Help (?)>About Eclipse (Informazioni su Eclipse)>Installation Details (Dettagli installazione).
  • Per aggiornare Buildship, vedere Eclipse Buildship: Eclipse Plug-ins for Gradle (Eclipse Buildship: plug-in Eclipse per Gradle).
  • Per cercare e installare gli aggiornamenti di Eclipse, passare a Help>Check for Updates (? > Controlla aggiornamenti).

Per installare il plug-in Service Fabric, in Eclipse passare a Help (?)>Install New Software (Installa nuovo software).

  1. Nella casella Work with (Lavora con) immettere https://servicefabricdownloads.blob.core.windows.net/eclipse/.

  2. Fare clic su Aggiungi.

    Service Fabric plug-in for Eclipse

  3. Selezionare il plug-in Service Fabric e fare clic su Next (Avanti).

  4. Completare la procedura di installazione e quindi accettare le Condizioni di licenza software Microsoft.

Se il plug-in Service Fabric è già installato, installare la versione più recente.

  1. Per verificare la disponibilità di aggiornamenti, passare a Help (?)>About Eclipse (Informazioni su Eclipse)>Installation Details (Dettagli installazione).
  2. Nell'elenco di plug-in installati selezionare Service Fabric e fare clic su Update (Aggiorna). Verranno installati gli aggiornamenti disponibili.
  3. Dopo aver aggiornato il plug-in Service Fabric, aggiornare anche il progetto Gradle. Fare clic con il pulsante destro del mouse su build.gradle, quindi scegliere Aggiorna.

Nota

Se l'installazione o l'aggiornamento del plug-in Service Fabric è lento, il problema potrebbe essere dovuto a un'impostazione di Eclipse. Eclipse raccoglie i metadati di tutte le modifiche per aggiornare i siti registrati con l'istanza di Eclipse. Per velocizzare il processo di rilevamento e installazione di un aggiornamento del plug-in Service Fabric, passare a Available Software Sites (Siti software disponibili). Deselezionare le caselle di controllo per tutti i siti, a eccezione di quello che indica il percorso del plug-in Service Fabric ("https://servicefabricdownloads.blob.core.windows.net/eclipse/").

Nota

Se Eclipse non funziona come previsto nel Mac o deve essere eseguito come utente con privilegi avanzati, passare alla cartella ECLIPSE_INSTALLATION_PATH e alla sottocartella Eclipse.app/Contents/MacOS. Avviare Eclipse eseguendo ./eclipse.

Creare un'applicazione di Service Fabric in Eclipse

  1. In Eclipse passare a File>New>Other (File > Nuovo > Altro). Selezionare Service Fabric Project, quindi fare clic su Next (Avanti).

    Service Fabric New Project page 1

  2. Immettere un nome per il progetto e quindi fare clic su Next (Avanti).

    Service Fabric New Project page 2

  3. Dall'elenco dei modelli selezionare Service Template (Modello di servizio). Selezionare il tipo di modello di servizio (Actor, Stateless, Container, or Guest Binary) e quindi fare clic su Next (Avanti).

    Service Fabric New Project page 3

  4. Immettere il nome e i dettagli del servizio e fare clic su Finish (Fine).

    Service Fabric New Project page 4

  5. Quando si crea il primo progetto di Service Fabric, nella finestra di dialogo Open Associated Perspective (Apri prospettiva associata) fare clic su Yes.

    Service Fabric New Project page 5

  6. L'aspetto del nuovo progetto sarà simile al seguente:

    Service Fabric New Project page 6

Creare un'applicazione di Service Fabric in Eclipse

  1. Fare clic con il pulsante destro del mouse sulla nuova applicazione di Service Fabric, quindi scegliere Service Fabric.

    Service Fabric right-click menu

  2. Dal menu di scelta rapida scegliere una delle opzioni seguenti:

    • Per compilare l'applicazione senza pulizia, fare clic su Build Application (Compila applicazione).
    • Per eseguire una compilazione pulita dell'applicazione, fare clic su Rebuild Application (Ricompila applicazione).
    • Per eliminare gli artefatti di compilazione dall'applicazione, fare clic su Clean Application (Pulisci applicazione).

Distribuire un'applicazione di Service Fabric nel cluster locale con Eclipse

Dopo aver creato l'applicazione di Service Fabric, seguire questa procedura per distribuirla nel cluster locale.

  1. Se il cluster locale non è stato avviato, seguire le istruzioni in Configurare un cluster locale per avviare il cluster locale e assicurarsi che sia in esecuzione.

  2. Fare clic con il pulsante destro del mouse sull'applicazione di Service Fabric e quindi scegliere Service Fabric.

    Service Fabric right-click menu

  3. Dal menu di scelta rapida scegliere Deploy Application (Distribuisci applicazione).

  4. È possibile seguire l'avanzamento dell'operazione di distribuzione nella finestra della console.

  5. Per verificare che l'applicazione sia in esecuzione, aprire Service Fabric Explorer nel cluster locale in una finestra del browser http://localhost:19080/Explorer. Espandere il nodo Applications (Applicazioni) e verificare che l'applicazione sia in esecuzione.

Per informazioni su come eseguire il debug dell'applicazione in Eclipse usando il cluster locale, vedere Eseguire il debug di un servizio Java in Eclipse.

È anche possibile distribuire l'applicazione nel cluster locale con il comando Publish Application (Pubblica applicazione):

  1. Fare clic con il pulsante destro del mouse sull'applicazione di Service Fabric e quindi scegliere Service Fabric.

  2. Dal menu di scelta rapida scegliere Publish Application (Pubblica applicazione).

  3. Nella finestra Publish Application (Pubblica applicazione) scegliere PublishProfiles/Local.json come profilo target e fare clic su Publish (Pubblica).

    Publish Dialog Local

    Per impostazione predefinita, il profilo di pubblicazione Local.json è configurato per la pubblicazione nel cluster locale. Per altre informazioni sui parametri di connessione e dell'endpoint presenti nei profili di pubblicazione, vedere la sezione successiva.

Pubblicare l'applicazione di Service Fabric in Azure con Eclipse

Per pubblicare l'applicazione nel cloud, seguire questa procedura:

  1. Per pubblicare l'applicazione in un cluster sicuro nel cloud, è necessario un certificato X.509 da usare per comunicare con il cluster. Negli ambienti di sviluppo e test, il certificato usato è spesso il certificato del cluster. Negli ambienti di produzione, il certificato deve essere un certificato client diverso dal certificato del cluster. Sono necessari sia il certificato che la chiave privata. Il file del certificato e della chiave deve essere in formato PEM. È possibile creare un file PEM che contiene il certificato e la chiave privata da un file PFX con il comando openssl seguente:

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

    Se il file PFX non è protetto da password, usare --passin pass: per l'ultimo parametro.

  2. Aprire il file Cloud.json nella directory PublishProfiles. È necessario configurare in modo appropriato l'endpoint del cluster e le credenziali di sicurezza.

    • Il campo ConnectionIPOrURL contiene l'indirizzo IP o URL del cluster. Il valore non contiene lo schema URL (https://).

    • Per impostazione predefinita, il campo ConnectionPort deve essere 19080, a meno che la porta per il cluster non sia stata modificata in modo esplicito.

    • Il campo ClientKey deve puntare a un file con estensione KEY o PEM in formato PEM nel computer locale che contiene la chiave privata del certificato client o del cluster.

    • Il campo ClientCert deve puntare a un file con estensione CRT o PEM in formato PEM nel computer locale che contiene i dati del certificato per il client o il cluster.

      {
          "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. Fare clic con il pulsante destro del mouse sull'applicazione di Service Fabric e quindi scegliere Service Fabric.

  4. Dal menu di scelta rapida scegliere Publish Application (Pubblica applicazione).

  5. Nella finestra Publish Application (Pubblica applicazione) scegliere PublishProfiles/Cloud.json come profilo target e fare clic su Publish (Pubblica).

    Publish Dialog Cloud

  6. È possibile seguire l'avanzamento dell'operazione di pubblicazione nella finestra della console.

  7. Per verificare che l'applicazione sia in esecuzione, aprire Service Fabric Explorer nel cluster di Azure in una finestra del browser. Per l'esempio precedente, l'indirizzo sarebbe: https://lnxxug0tlqm5.westus.cloudapp.azure.com:19080/Explorer. Espandere il nodo Applications (Applicazioni) e verificare che l'applicazione sia in esecuzione.

Nei cluster Linux sicuri, se l'applicazione contiene servizi Reliable Services, è anche necessario configurare un certificato che i servizi possono usare per chiamare le API di runtime di Service Fabric. Per altre informazioni, vedere Configurare un'app di Reliable Services da eseguire su cluster Linux.

Per una procedura dettagliata sulla distribuzione di un'applicazione Reliable Services di Service Fabric scritta in Java in un cluster Linux protetto, vedere Guida introduttiva: distribuire un'applicazione Reliable Services Java.

Distribuire un'applicazione di Service Fabric usando le configurazioni di esecuzione di Eclipse

Un modo alternativo per distribuire l'applicazione di Service Fabric consiste nell'usare le configurazioni di esecuzione di Eclipse.

  1. In Eclipse passare a Run>Run Configurations (Esegui > Configurazioni di esecuzione).

  2. In Gradle Project (Progetto Gradle) selezionare la configurazione di esecuzione ServiceFabricDeployer.

  3. Nel riquadro a destra, nella scheda Arguments (Argomenti), verificare che i parametri ip, port, clientCert e clientKey siano impostati in modo appropriato per la distribuzione. Per impostazione predefinita, i parametri sono impostati per la distribuzione nel cluster locale, come nello screenshot seguente. Per pubblicare l'app in Azure, è possibile modificare i parametri in modo da includere i dettagli dell'endpoint e le credenziali di sicurezza per il cluster di Azure. Per altre informazioni, vedere la sezione precedente, Pubblicare l'applicazione di Service Fabric in Azure con Eclipse.

    Run Configuration Dialog Local

  4. Verificare che Working Directory (Directory di lavoro) punti all'applicazione da distribuire. Per cambiare applicazione, fare clic sul pulsante Workspace (Area di lavoro) e selezionare l'applicazione.

  5. Fare clic su Apply (Applica) e quindi su Run (Esegui).

L'applicazione verrà compilata e distribuita dopo alcuni istanti. È possibile monitorare lo stato della distribuzione in Service Fabric Explorer.

Aggiungere un servizio di Service Fabric all'applicazione di Service Fabric

Per aggiungere un servizio di Service Fabric a un'applicazione di Service Fabric esistente seguire questa procedura:

  1. Fare clic con il pulsante destro del mouse sul progetto al quale aggiungere un servizio e quindi scegliere Service Fabric.

    Service Fabric Add Service page 1

  2. Fare clic su Add Service Fabric Service (Aggiungi servizio di Service Fabric) e completare la procedura per aggiungere un servizio al progetto.

  3. Selezionare il modello di servizio da aggiungere al progetto e quindi fare clic su Next (Avanti).

    Service Fabric Add Service page 2

  4. Immettere il nome del servizio e altri eventuali dettagli necessari, quindi fare clic sul pulsante Add Service (Aggiungi servizio).

    Service Fabric Add Service page 3

  5. Dopo aver aggiunto il servizio, la struttura complessiva del progetto sarà simile al progetto seguente:

    Service Fabric Add Service page 4

Modifica versioni del manifesto dell'applicazione Java di Service Fabric

Per modificare le versioni del manifesto, fare clic con il pulsante destro del mouse sul progetto, passare a Service Fabric e selezionare Modifica versioni del manifesto... dal menu a discesa. Nella procedura guidata è possibile aggiornare le versioni del manifesto dell'applicazione, del manifesto del servizio e dei pacchetti di codice, configurazione e dati.

Selezionando l'opzione Aggiorna automaticamente le versioni di applicazioni e servizi e aggiornando la versione, le versioni del manifesto verranno aggiornate automaticamente. Ad esempio, selezionare prima la casella di controllo, quindi aggiornare la versione del codice da 0.0.0 a 0.0.1 e fare clic su Fine. La versione del manifesto del servizio e del manifesto dell'applicazione verrà aggiornata automaticamente a 0.0.1.

Aggiornare l'applicazione Java di Service Fabric

In uno scenario di aggiornamento è stato ad esempio creato il progetto App1 usando il plug-in Service Fabric in Eclipse. Il progetto è stato distribuito con il plug-in per creare un'applicazione denominata fabric:/App1Application. Il tipo di applicazione è App1ApplicationType e la versione dell'applicazione è 1.0. Ora si vuole aggiornare l'applicazione senza interromperne la disponibilità.

Apportare prima le eventuali modifiche necessarie all'applicazione, quindi ricompilare il servizio modificato. Aggiornare il file manifesto del servizio modificato (ServiceManifest.xml) con le versioni aggiornate del servizio e anche del codice, della configurazione o dei dati, a seconda delle esigenze. Modificare anche il manifesto dell'applicazione (ApplicationManifest.xml) con il numero di versione aggiornato per l'applicazione e il servizio modificato.

Per aggiornare l'applicazione usando Eclipse, è possibile creare un profilo di configurazione di esecuzione duplicato e quindi usarlo per aggiornare l'applicazione in base alle esigenze.

  1. Passare a Run>Run Configurations (Esegui > Configurazioni di esecuzione). Nel pannello sinistro fare clic sulla piccola freccia a sinistra di Gradle Project (Progetto Gradle).
  2. Fare clic con il pulsante destro del mouse su ServiceFabricDeployer e quindi scegliere Duplicate (Duplica). Specificare un nuovo nome per questa configurazione, ad esempio ServiceFabricUpgrader.
  3. Nella scheda Arguments (Argomenti) nel pannello destro modificare -Pconfig='deploy' in -Pconfig='upgrade' e quindi fare clic su Apply (Applica).

Questo processo crea e salva un profilo di configurazione di esecuzione che può essere usato in qualsiasi momento per aggiornare l'applicazione. Recupera anche la versione più recente del tipo di applicazione dal file manifesto dell'applicazione stessa.

L'aggiornamento dell'applicazione richiede alcuni minuti. È possibile monitorare l'aggiornamento dell'applicazione in Service Fabric Explorer.

Migrazione di applicazioni Java di Service Fabric precedenti da usare con Maven

Le librerie Java di Service Fabric sono state recentemente spostate da Service Fabric Java SDK al repository di Maven. Benché le nuove applicazioni generate con Eclipse genereranno i progetti aggiornati più recenti (in grado di interagire con Maven), è possibile aggiornare le applicazioni Java esistenti di Service Fabric senza stato o actor, che in precedenza usavano Service Fabric Java SDK, in modo che usino le dipendenze Java di Service Fabric da Maven. Seguire la procedura riportata qui per assicurare che l'applicazione precedente funzioni con Maven.

Passaggi successivi