Component based development in een J2EE-omgeving (WO)

Inleiding

Aangezien de oplossingen die Quintiy realiseert zeer complex zijn, ligt de nadruk bij ons op een goed ontwerp. We maken voor het technisch ontwerp gebruik van technische ontwerppatronen (GoF en J2EE). Voor het functioneel ontwerp maken we gebruik van functionele ontwerppatronen. Het gebruik van functionele ontwerppatronen is een techniek die wij zelf hebben ontwikkeld. Deze techniek biedt ons de mogelijkheid om functionele ontwerpen te hergebruiken binnen verschillende projecten. Dit stelt ons in staat om maatwerk op basis van standaardcomponenten leveren (COTS - Custom off the shelf). Wij passen de techniek van functionele ontwerppatronen niet alleen toe in onze projecten, maar werken ook samen met universiteiten om door middel van research en development de techniek verder te ontwikkelen. Als technologie gebruiken wij Java/J2EE, Soap/Webservices, XML/XSLT, WebSphere/Tomcat en relationele databases.

 

Lees meer over de manier waarop wij functioneel ontwerppatronen gebruiken.

Doel

We maken de programmatuur van een project op basis van de volgende onderdelen:

  • De programmatuur van de technisch ontwerppatronen kan bestaan uit een framework met superclasses en een library. We maken dan gebruik van het framework door middel van subclassing en van de library door middel van aanroep.
  • De programmatuur van de technisch ontwerppatronen kan bestaan uit (deel)systemen, die bestaan uit componenten. Soms bevatten deelsystemen en componenten een default implementatie en zijn ‘ready to run’. In dit geval neemt het klantproject de betreffende componenten van deze systemen in zich op door middel van een verwijzing in het source management systeem. Een project gebruikt de kant en klare informatiefuncties van de componenten en past het gedrag van de componenten aan door middel van parametrisering. Soms bestaat een component zelf uit een klein framework met bijbehorende library. In dat geval past het project het gedrag aan door middel van subclassing en aanroepen.

 

Binnen een J2EE-omgeving moeten we het werken met (deel)systemen en componenten standaardiseren in een assemblagefabriek. Hiervoor beschrijven we een standaardwijze van werken en een standaardinrichting waaraan de (deel)systemen en componenten moeten voldoen.

 

Per project stellen we een systeem samen waarbij we het volgende combineren:

  • Een generiek framework
  • De output van een generator
  • Standaardversies van de componenten, over het algemeen geparametriseerd
  • Maatwerkuitbreidingen op de standaardversies van de componenten, over het algemeen door middel van subclassing
  • Aanvullend projectspecifiek maatwerk

Omschrijving

De opdracht bestaat uit een combinatie van theorie en praktijk. We onderzoeken de theorie achter het gebruik van componenten in een J2EE-omgeving en leggen deze vast. Vervolgens tonen we aan hoe we de theorie in de praktijk toe kunnen passen. We werken een aantal technische oplossingen uit in een technisch prototype.

 

Dit bevat onder meer:

  • Versiebeheer voor framework en generator
  • Versiebeheer voor standaardcomponenten
  • Versiebeheer voor maatwerkuitbreidingen op de standaardcomponenten
  • Versiebeheer voor aanvullend projectspecifiek maatwerk

 

We gebruiken onder meer:

  • J2EE als programmeer- en runtime omgeving
  • XML en XSLT voor interfaces, documentatiegeneratie et cetera
  • XHTML, javascript en CSS
  • SOAP/WSDL voor on line verbindingen

 

De systemen die we uitleveren, draaien op vrijwel elke J2EE-applicatieserver (Tomcat, WebSphere, Weblogic et cetera), vrijwel elke databasemanager (Oracle, DB2, SQL Server, PostgresSQL et cetera) en vrijwel elk besturingssysteem (Linux, Windows, AIX, Solaris en andere Unix-varianten).

 

In de praktijk betekent dit dat het bijvoorbeeld mogelijk moet zijn om in een systeem van een klant dat in productie is, één of meer van de standaardcomponenten te vervangen door een latere versie zonder dat dit voor het maatwerk tot problemen leidt. De vervanging moet on-the-fly mogelijk zijn zonder het systeem uit productie te halen.

Resultaat

Een onderzoeksverslag over het theoretische en praktische gedeelte van de opdracht en een prototype van een ontwikkel- en runtime omgeving die het bovenstaande ondersteunt.

Profiel

Wij zijn op zoek naar laatstejaars Informatica-studenten met een VWO vooropleiding en kennis van:

  • Object georiënteerd programmeren en modelleren
  • Relationele databases
  • Java

Aanvang

In overleg.

Duur

5 tot 8 maanden, afhankelijk van de eisen van de opleiding. Een 32-, 36- of 40-urige werkweek is mogelijk.

Vergoeding

Euro 600,-- netto per maand op basis van een 40-urige werkweek.

Interesse?

Stuur jouw CV en cijferlijsten met een korte motivatie naar jobs@quinity.com. Neem voor meer informatie contact op met Robert Guitink.