Follow Us on Twitter

Uitbreiden webapplicaties naar mobiele applicaties

Oktober 2014 - Tegenwoordig worden door veel organisaties mobiele apparaten zoals smartphones of tablets gebruikt. Veel van de webapplicaties die binnen een organisatie draaien zijn te benaderen via een normale browser. Doordat dit mogelijk is kunnen webapplicaties ook worden geopend op een mobiel apparaat. Omdat deze webapplicaties niet zijn ontworpen voor de mogelijkheden van een mobiel apparaat, is dat niet bevorderlijk voor het gebruik. De schermen zijn kleiner en de invoer van gegevens is vaak minder makkelijk.

In dit Whitebook wordt een van de vele mogelijkheden uitgelegd om een webapplicatie ook geschikt te maken voor het gebruik door mobiele apparaten. Het uiteindelijke doel is dat er flexibeler en efficiënter gewerkt kan worden. Het uitgewerkte voorbeeld betreft een ADF-applicatie die geoptimaliseerd wordt voor gebruik met een mobiel apparaat.

Allereerst wordt in dit Whitebook een introductie van Oracle ADF en Oracle MAF gegeven. Daarna wordt ingegaan op de architectuur van een ADF-applicatie en hoe deze is in te passen in een SOA-architectuur. Vervolgens wordt mobiel besproken; allereerst het ontwikkelen van (web)services voor mobiele apparaten en daarna het opzetten van een user interface voor mobiele applicaties.

Application Development Framework

Het Oracle Application Development Framework (ADF) is een Java EE ontwikkelframework voor het bouwen van front-end applicaties. Oracle ADF implementeert het “Model View Controller” (MVC) design pattern. Het ontwikkelen van de applicaties gebeurt op een visuele en declaratieve manier met de hulp van JDeveloper. Meer informatie over ADF en JDeveloper vind je op OTN.

Mobile Application Framework

In juni 2014 kondigde Oracle Mobile Application Framework (MAF) aan. Met MAF kunnen mobiele applicaties worden ontwikkeld voor verschillende besturingssystemen zoals IOS en Android. Één applicatie kan gedeployed worden op zowel iOS en Android zonder codewijzigingen. Het ontwikkelen van mobiele applicaties kan gedaan worden met een IDE zoals JDeveloper of Eclipse. Het ontwikkelen hiervan gebeurt met Java en JavaScript en lijkt op ADF zodat er voor een ADF-developer geen of een kleine leercurve is. Dit houdt dan ook in dat er vrij snel resultaten geboekt kunnen worden.

Mogelijkheden infrastructuur

In dit hoofdstuk wordt ingegaan hoe de infrastructuur van een webapplicatie eruit kan zien. Als voorbeeld wordt hier een ADF-applicatie gebruikt. Er wordt beschreven hoe een ADF-architectuur er uit ziet, en vervolgens wordt beschreven hoe een ADF-architectuur ingepast kan worden in een SOA-architectuur om op gestandaardiseerde manier ook gebruik te kunnen maken van webservices om deze te kunnen ontsluiten naar MAF.

Oracle ADF-architectuur

Als backend draait er een database. Deze database kan ontsloten worden door gebruik te maken van ADF Business Components (BC). Andere mogelijkheden om de database te ontsluiten kan door gebruik te maken van bijvoorbeeld EJB, JPA en JAVA. De front-end van de ADF-applicatie maakt via de MVC-architectuur verbinding met de ADF BC. Dit is een standaard architectuur voor een ADF-applicatie.

ADF ontkoppelt door SOA

Het hart van deze oplossing is een service-georiënteerde architectuur (SOA). Oracle heeft hier als oplossing de SOA Suite voor. SOA Suite valt onder Fusion Middleware net zoals ADF en MAF. Tevens valt onder Fusion Middleware de Oracle Service Bus (OSB). Door gebruik te maken van SOA Suite en OSB kan er ontkoppeling plaatsvinden tussen de back- en de front-end. In de SOA Suite en OSB kunnen webservices beschikbaar gemaakt worden. De webservices kunnen dan de back-end ontsluiten. Ook kan er natuurlijk gebruik gemaakt worden van 3rd party webservices zoals bijvoorbeeld die van het GBA. Deze webservices kunnen een SOAP of een REST interface hebben. Één webservice kan een SOAP en/of een REST interface hebben. Deze webservices kunnen dan weer gebruikt worden door de ADF-applicatie én de MAF-applicatie. Door bepaalde business logica in BPEL (onderdeel van SOA Suite) af te handelen hoeft dit niet ook in de front-end gedaan te worden. Doordat deze twee aspecten in de middleware afgehandeld worden kan er in de ADF-applicatie en de MAF-applicatie puur op de lay-out gebouwd worden. Als bijkomend voordeel is dat functionaliteit in ADF en MAF met elkaar uitgewisseld kan worden. Dit levert dan een hybride applicatie op die flexibel en efficiënt is.

Mobile - 01- Architectuur met MAF en ADF
Figuur 1; een complete architectuur met ADF en MAF

Het opzetten van een SOA-architectuur voor alleen gebruik van MAF heeft aardig wat impact. De ADF Business Components kunnen ook ontsloten worden als webservice interface. Op deze interface kan dan Oracle MAF rechtstreeks gekoppeld worden. Houd er dan rekening mee dat enige business logica die in de ADF-applicatie gebouwd is, niet zomaar naar MAF overgezet kan worden in verband met performance en gebruikersvriendelijkheid. Bij het opzetten van een SOA-architectuur hoeft niet meteen het complete applicatielandschap op de SOA-architectuur aangesloten te worden. Het is aan te raden om dit juist niet te doen. Door klein te beginnen door bijvoorbeeld eerst de ADF Business Components aan te sluiten op de SOA-architectuur, kan er goed nagedacht worden over de opzet en de bijbehorende standaarden. Vanuit hier kan het verder uitgebreid worden en blijft het beheersbaar.

Opzetten mobiele webservices

Bij het opzetten van services die specifiek gebruikt worden voor mobiele applicaties zijn er de volgende aandachtspunten:

  • REST
    REST is een industriestandaard net zoals XML. Bij REST is er veel minder metadata dan bij XML. Dit resulteert in kleinere berichten. Het Whitebook Verbind de cloud met Oracle Middleware via REST gaat hier verder op in.
  • Performance
    Over het algemeen maakt een webservice gebruik van data uit een database. Een issue wat hier kan optreden is de performance van de selectie. Denk hier aan gebruik van indexen, materialized views, etc.
  • Offline gebruik
    Als de services tijdelijk niet te benaderen zijn, wat moet er dan gebeuren? Een oplossing zou dan kunnen zijn om de wijzigingen op het device op te slaan en later te synchroniseren met de server. Let dan wel op dat dezelfde data op de server al aangepast kan zijn door een ander proces. Tevens kan de volgorde van de wijzigingen belangrijk zijn tussen de data van het device en de data op de server.
  • Datasets
    Bij het opzetten van een service moet opgelet worden welke gegevens opgehaald moeten worden. Probeer altijd kleine datasets op te halen, voeg eventueel selectiecriteria toe. Dit om het dataverbruik, bandbreedte en de responsetijden zo laag mogelijk te houden.
  • Device features
    Voorbeelden van device features zijn GPS, fototoestel en kalender. Als een applicatie gebruik wil maken van deze features dan kunnen er bijvoorbeeld locatiegegevens van een klant beschikbaar gesteld worden.

Mobiele user interface

Wat nu veel te lezen of te horen is, is dat de mobiele interface van een applicatie eerst ontwikkeld moet worden voordat de web-interface ontwikkeld wordt. De reden hiervan is dat je heel goed moet nadenken over de gebruikersvriendelijkheid. Tevens word je gedwongen te bepalen wat er echt op het scherm moet komen. De noodzaak wordt gescheiden van de bijzaak. De aspecten waar rekening mee gehouden moet worden als een applicatie van een desktop interface naar een mobiele interface omgezet gaat worden zijn de volgende:

  • Andere invoermogelijkheden; geen toetsenbord en muis, maar touchscreen.
  • Schermgrootte; wat moet er echt getoond worden?
  • In applicaties voor desktop interfaces zit meestal een flow van schermen. Moet deze flow ook in de mobiele applicatie gebruikt worden?

Het belangrijkste bij het uitbreiden naar mobiel is dat een applicatie niet 1-op-1 wordt overgezet. Er moet nagedacht worden over de user interface, navigatie binnen de applicatie en de integratie met de desktop variant.

Conclusie

Bij het uitbreiden van een webapplicatie naar een mobiele applicatie moet er goed nagedacht worden over wat er getoond gaat worden in de mobiele applicatie. Bij het bouwen van een nieuwe applicatie is het aan te raden om eerst na te denken over de interface van de mobiele applicatie en pas hierna over de interface van de webapplicatie.

Een goede oplossing hiervoor is een hybride applicatie, deels ADF, deels MAF zoals het voorbeeld in dit Whitebook. Tevens moet er goed nagedacht worden over de architectuur bij het opzetten van een nieuwe applicatie. Door gebruik te maken van services die SOAP en REST ondersteunen en die draaien op een service-georiënteerde omgeving, kan er vrij snel een mobiele applicatie met behulp van MAF ontwikkeld worden. Tevens kan dan ook de ADF-applicatie vrij snel ontwikkeld worden met behulp van dezelfde techniek en tooling. Het resultaat is dat dit een flexibelere en efficiëntere manier van werken oplevert.

Referenties


Developer op Oracle Technology Network (OTN)


Whitebook Verbind de cloud met Oracle Middleware via REST door Laurens van der Starre

Waardering:
 
Tags:

Reacties

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Meer informatie over formaatmogelijkheden

CAPTCHA
Deze vraag is om te testen of u een persoon bent en om spam te voorkomen
Image CAPTCHA
Enter the characters shown in the image.