Come accedere da una app Android o IOS alle nostre portlet custom?
In questa prima parte vediamo come, grazie all’uso di Liferay Mobile SDK, è possibile generare librerie per accedere da una app mobile nativa (per IOS o Android) alle nostre portlet custom.
Nella seconda parte vedremo come poter utilizzare le librerie generate all’interno delle nostre applicazioni mobile native.
Requisiti
- Server con installato Liferay 6.2
- Ambiente di sviluppo con Liferay SDK
- Client Git (per installare Liferay M0bile SDK)
Installazione Liferay Mobile SDK
Per installare Liferay Mobile SDK è necessario scaricare il progetto dal repository git.
Dalla cartella in cui vogliamo installarlo eseguiamo questo comando da terminale
e attendiamo che tutto il progetto sia scaricato
Creare un remote service per le proprie entità
Assicuriamoci che per la nostra entità l’attributo remote-service
sia impostato a true
nel file service.xml della nostra portlet. Ricordiamoci di rigenerare i services per rendere effettive eventuali modifiche
Andiamo a modificare il file generato [ENTITY_NAME]ServiceImpl.java
implementando i servizi che vogliamo rendere disponibili alla nostra app. Anche in questo caso occorre rigenerare i services
Generiamo i file WSSD (Web Service Deployment Descriptor) per la nostra portlet. Liferay Mobile SDK utilizza questi descrittori per poter identificare i servizi remoti messi a disposizione dalla nostra portlet. Per farlo basta utilizzare il comando ant build-wsdd
Assicuriamoci che la nostra portlet sia deployata su un ambiente Liferay avviato. Per verificare i servizi remoti messi a disposizione dalla nostra portlet (e dall’intero portale Liferay) possiamo usare la pagina api/jsonws
che la nostra installazione Liferay mette a disposizione
Creare un modulo di generazione per la nostra portlet
Il prossimo passo è quello di creare, all’interno di Liferay Mobile SDK, un “modulo”. Ogni modulo contiene le informazioni necessarie all’SDK per poter generare le librerie mobile relative alla nostra portlet
Dalla cartella principale dove è installato Liferay Mobile SDK eseguite il comando
Si avvierà un wizard che ci permette di impostare le proprietà del modulo. Per i dettagli su ogni singola proprietà possiamo fare riferimento alla documentazione ufficiale.
Le proprietà più importanti sono
- Context: il contesto web della nostra portlet
- Server URL: l’indirizzo completo di porta del server
- POM Description: descrizione del file POM (solo per generazione .jar) da non lasciare vuoto
Una volta impostate le proprietà Liferay Mobile SDK si connetterà al nostro server, alla ricerca della nostra portlet e genererà il codice che ci serve all’interno della cartella modules\${portlet_context}
Aggiornare i servizi mobile generati
Se andiamo a modificare i servizi remoti della nostra portlet dobbiamo ricordarci sempre di rigenerare anche i servizi mobile generati da Liferay Mobile SDK.
Per fare questo non è necessario ricreare ogni volta un modulo, ma è sufficiente posizionarsi nella cartella del nostro modulo modules/${portlet_context}
e lanciare il comando
Generare la libreria per Android
Per generare un file .jar contenente tutte le classi per Android è sufficiente posizionarsi nella cartella del nostro modulo modules\${portlet_context}
e lanciare il comando
All’interno della cartella “build/libs” verrà generato il file .jar
Generare la libreria per IOS
Per generare un file .zip contenente tutte le classi per IOS è sufficiente posizionarsi nella cartella del nostro modulo modules\${portlet_context}
e lanciare il comando
All’interno della cartella “build” verrà generato il file .zip
Generare la libreria per Windows
Attualmente sono supportati ufficialmente solamente Android e IOS. Esiste però una estensione per Liferay Mobile SDK per generare librerie compatibili con Windows ed la possiamo trovare qui
Per poterla utilizzare bisogna inserire windows
all’interno della proprietà Platforms
del nostro modulo
Riferimenti e approfondimenti
https://github.com/liferay/liferay-mobile-sdk/blob/master/builder/README.md#properties