Gestructureerde grafische user interfaces met XUL

advertisement
Gestructureerde grafische user interfaces met XUL
Waar het gaat om het ontwikkelen van rich-client applicaties, loopt het Java platform in
sommige opzichten nog wat achter. Het is wel degelijk mogelijk om in Java applicaties te
bouwen met rijke en complexe gebruikersinterfaces – zie bijvoorbeeld de Eclipse IDE. “Rapid
Application Development” is het echter bepaald niet.
Opdracht
XUL (XML UI Language), de open-source tegenhanger van Microsoft’s WPF, is een methode
waarmee eenvoudig en gestructureerd een rich-client applicatie kan worden gebouwd op basis
van XML. Door een strenge scheiding aan te brengen tussen GUI-ontwerp en code, wordt het
bouwen en onderhouden van de GUI hopelijk een stuk eenvoudiger.
XUL is een techniek die op dit moment nog in de kinderschoenen staat. Info Support wil graag
voorop lopen en start daarom vast een onderzoekstraject naar dit veelbelovende onderwerp.
Deze afstudeeropdracht vormt daar een onderdeel van.
1.
2.
3.
Onderzoek de verschillende XUL libraries, al dan niet open-source, die op dit moment
voor Java beschikbaar zijn.
Bouw, na een keuze gemaakt te hebben, een eenvoudige proof-of-concept applicatie
op basis van de gekozen library.
Schrijf een uitgebreidere evaluatie van de gekozen library, naar aanleiding van de
proof-of-concept applicatie. Breng in kaart hoe bruikbaar de library is en wat er nog
aan ontbreekt.
Als uitgangspunt voor de proof-of-concept applicatie kan de standaard “Bikeshed” applicatie
worden gebruikt, of kan worden samengewerkt met één van de andere afstudeeropdrachten
voor de back-end. In de eerste fase van het afstudeertraject zullen in samenspraak met de
opdrachtgever(s) de functionele en technische eisen aan de applicatie worden bepaald.
De nadruk ligt op het research-aspect, niet op het opleveren van een volledig functionele
applicatie. Afhankelijk van hoe volwassen en compleet de huidige libraries blijken te zijn, kan
een deel van het werk bestaan uit het doen van bijdragen aan een open-source
implementatie.
In de proof-of-concept applicatie dienen tenminste de volgende aandachtspunten aan bod te
komen:
•
•
•
•
•
•
•
Aanroepen van een back-end d.m.v. webservices.
Complexe dialogen met combo-boxes, list-boxes, radio buttons, checkboxes etc.
Weergave van complexe data middels tabellen, grafieken, boomstructuren etc.
Invoeren en wijzigen van “rich text”.
Gebruikersvriendelijkheid d.m.v. sneltoetsen, drag-and-drop functionaliteit en
undo/redo mogelijkheden.
Een gestructureerd mechanisme voor technische en functionele foutmeldingen.
Deployment en versiebeheer (bijv. middels Java Webstart).
Alternatieven:
•
•
Moet zowel de cliënt als de data-laag worden gebouwd, dan is dit een opdracht die
meer geschikt is voor twee personen. Er bestaat echter al een implementatie van de
domeinlaag, die mogelijk hergebruikt kan worden; in dat geval kan worden volstaan
met één persoon.
Als alternatief voor de Bikeshed applicatie kan deze opdracht mogelijk worden
gecombineerd met één van de andere afstudeeropdrachten waarbij een applicatie
moet worden gebouwd.
•
Nice-to-have: verifieer dat de gebouwde applicatie platform-onafhankelijk is en ook
werkt onder bijv. Linux.
Inzetbaarheid
Het op te leveren product bestaat uit een onderzoeksrapport met aanbevelingen voor de
selectie en inzet van een XUL library, en een voorbeeld-applicatie. Deze kunnen als basis
worden gebruikt voor het opnemen van XUL ondersteuning in de Info Support Java
ontwikkelstraat.
Methoden & technieken
•
•
•
•
•
•
Planning: Gezien het research-karakter van de opdracht is een “agile” aanpak,
bijvoorbeeld XP, het meest toepasselijk
Ontwerp: UML, statusovergangsdiagrammen
Bouwtool: Eclipse
Bouwtaal: Java 5
Applicatie omgeving: Windows XP, Java 5, Eclipse, IBM Websphere of Microsoft Visual
Studio (voor de back-end webservice), Microsoft SQL Server
Applicatie technieken: XUL
Benodigde kennis & interesse
•
•
Vereist: basis Java kennis
Nuttig: basis kennis van rich-client ontwikkeling (bijv. Java Swing of SWT) en XML
Fasen
•
•
•
•
•
•
•
•
•
Vooronderzoek
Onderzoek
PVA (plan van aanpak)
FO (functioneel ontwerp)
TO (technisch ontwerp)
Bouwen
Testen
Opleveren
Onderzoeksverslag
Download