Software Project 2007 |
| Bedrijf: Mbuyu-Leadtrace |
|
|
Adres: Wibautstraat 129, 1091 GL
Amsterdam |
|
| Telefoon: (020) 4683254 | |
| Fax: (020) 5241293 | |
| Opdrachtgever: Arjan Tijms |
Ontwerp en ontwikkeling van een plug-in set in Java voor de
populaire IDE Eclipse.
Mbuyu heeft een eigen, op dataflow gebaseerde techniek ontwikkeld voor het specificeren en verbinden van geparameteriseerde SQL queries.
Het meest centrale concept hiervan is een XML dialect waarmee de geparameteriseerde queries aan elkaar gekoppeld worden door de definitie van een aanstal ‘states’ en overgangen tussen deze states. Per state kan een query opgegeven worden en optioneel een aantal vaste parameters. Voor overgangen tussen states kan per state een of meerdere volgende states opgegeven worden en per overgang een aantal parameters die afkomstig zijn van een door de user geselecteerde rij, alsmede vaste parameters of parameters afkomstig uit voorgaande states. Het geheel kan zowel worden opgevat als een eindige automaat (finite state machine) of als een dataflow netwerk. Vanuit het automaat gezichtspunt worden de overgangen tussen states benadrukt en de paden die een gebruiker kan bewandelen tijdens de navigatie. Vanuit het dataflow netwerk gezichtspunt daarentegen worden states gezien als een ‘filter’ waarbij de input pipes corresponderen met de SQL parameters en de output pipes met de kolommen van het resultaat van de SQL query.
Behalve het basis concept van overgangen tussen states, zijn er een aantal meer uitgebreide mogelijkheden toegevoegd, zoals 1) het opdelen van de states in zones, waarbij het afhangt van de rechten van de gebruiker welke zone deze mag betreden, 2) het definiëren van keuze menu’s die rechtstreeks gekoppeld worden aan (optionele) parameters van een SQL query, 3) de mogelijkheid om (dynamische) vertaal filters op te geven. Vanwege de sterke hiërarchie in XML is het tevens conceptueel eenvoudig om extra mogelijkheden op verschillende niveau’s te gebruiken; per state, per zone, en globaal.
Deze techniek noemen wij samengevat "Tableflow". De toepassing hiervan is dat een gebruiker interactief door de resultaten van verschillende queries kan lopen.
Momenteel wordt deze 'dataflow' dus beschreven d.m.v. een XML dialect dat wordt geparsed en geinterpreteerd door een door ons ontwikkelde interpreter. Het bewerken van dit XML formaat door mensen is echter niet bijzonder gebruiksvriendelijk.
Het doel van dit project is om een set van tools te ontwikkelen die het omgaan met dit formaat ondersteunen. De Eclipse IDE biedt hiervoor een zeer toegankelijke basis, alsmede veel libraries die relatief makkelijk hergebruikt kunnen worden voor eigen editors. Globaal zal het project uit de volgende onderdelen bestaan:
1) Ontwerp van een grafische editor plug-in om d.m.v. drag en drop de genoemde 'states' te maken en te verbinden. De Eclipse foundation heeft libraries ontwikkeld[1] waarmee zo'n grafische editor redelijk snel gemaakt kan worden zonder van scratch te hoeven beginnen.
2) Uitbreiding van een Eclipse XML editor plug-in voor ons gebruikte XML formaat. Hierbij valt te denken aan zaken als content assist (editor laat mogelijkheden zien bij intypen van 1 of meerdere letters), syntax checks en semantische checks (error checking).
3) Uitbreiding van onze bestaande custom SQL editor plug-in met oa een volledige weergave van queries die uit zogenaamde includes bestaan en links tussen de XML files en het gebruikte SQL te maken (dwz, door op een query-naam in de XML editor te clicken naar de bijbehorende sql file gaan.)
4) Optioneel: Waar nodig uitbreidingen/toevoegingen aan de tableflow core. Advanced: debug API ontwikkelen voor het debuggen van tableflow schema's vanuit Eclipse.
Java, Eclipse, XML parsering, plug-ins, GEF, interpreters, SQL, language design, SWT [2]
Optioneel: J2EE (servlets, JSP, JSF), serverside programming.
Advanced: compiler construction.
Mbuyu-Leadtrace is een ASP (Application Server Provider) voor online marketing. Mbuyu-Leadtrace biedt online adverteerders de mogelijkheid om te adverteren op "geaffilieerde" websites ook wel exploitanten genoemd. Dit concept wordt affiliate marketing genoemd. Mbuyu biedt de online software om de administratie en de statistieken voor beide partijen bij te houden.
Voorbeelden van de online applicaties zijn:
* m4n (media4networks) te vinden onder www.m4n.nl
* Mbuyu-Leadtrace zie www.mbuyu.nl voor algemene informatie en treed op als media bureau
[1] - GEF, Graphical Editor Framework, http://www.eclipse.org/gef/overview.html & http://www.eclipse.org/gef/
[2] - Standard Widget Toolkit, http://www.eclipse.org/swt/