![]() Overzicht ![]() Met JADE, de bijbehorende ontwikkelomgeving van Jasmine, kun je multimedia applicaties ontwikkelen voor gebruik op het internet of intranet en andere client/server omgevingen. Deze toepassingen communiceren dan met de database objecten via ODQL, Jasmine’s object-georienteerde query taal. De beschikbaarheid van de JADE plug-in voor Netscape Navigator betekent bovendien dat de beschikbare functionaliteit zeer uitgebreid zou kunnen zijn, maar deze plug-in was helaas niet op onze evaluatie CD-ROM te vinden. Wel aanwezig was WebLink 1.1, waarmee je client/server toepassingen op basis van het CGI-protocol kunt ontwikkelen. Ook een JADE ActiveX control ontbreekt overigens niet, zodat ook vanuit bijvoorbeeld Visual Basic de Jasmine database benaderd kan worden. Gebruiken Ontwerpen ![]() Bij de vertaling van het logische ontwerp naar de fysieke opslag van de database inhoud is het bovendien handig te weten dat een Jasmine store uit meerdere diskbestanden kan bestaan, zodat een enkele database eenvoudig over meerdere harde schijven kan worden verdeeld. Verbinden In een relationele database geef je een relatie aan tussen twee tabellen door de hoofdsleutel, die bestaat uit een unieke tekencombinatie, van de basistabel op te nemen als veld in de detailtabel. In Jasmine kan deze belangrijke functionaliteit op een heel natuurlijke manier worden geimplementeerd door simpelweg de interne referentie naar het basisobject als eigenschap te definieren in het detailobject. Natuurlijk kun je ook nog steeds relaties op de traditionele manier leggen, dus op basis van de attribuutwaarde van het basisobject, maar in veel gevallen is de snelheid waarmee het gerefereerde object opgehaald kan worden hoger, aangezien Jasmine dan geen vertaalslag hoeft te maken. In dit verband is het overigens wel van belang te weten dat Jasmine standaard niet de integriteit van object referenties waarborgt, alhoewel dit gelukkig wel tot de mogelijkheden behoort. Hiervoor dien je dan zodanig de delete() methode van het database object te herdefinieren dat deze bij verwijdering zelf de gerelateerde objecten opzoekt en verwijdert. Communiceren ![]() Naast de mogelijkheid om interactief de database te bevragen biedt ODQL voor programmeurs bovendien de mogelijkheid om queries in te bedden in C of C++ code. De ODQL formuleringen worden dan voorbewerkt tot C of C++ broncode, waarna het gebruikelijke compileren en linken van de applicatie kan plaatsvinden. Ontwikkelen Visualiseren ![]() Met behulp van de Class Property Inspector en de Object Property Inspector kun je database klassen en objecten aanmaken en instellen voor gebruik in een scene. In de Query Editor stel je queries visueel op door simpelweg de gewenste parameters te selecteren. De query kan direct uitgevoerd worden zodat je de resultaten meteen kunt controleren. In het begin is het bovendien leerzaam om de onderliggende ODQL te bekijken. Alle hierboven genoemde onderdelen van JADE presenteren hun gegevens op een Windows Explorer-achtige manier, met aan de linkerkant de object hierarchie en aan de rechterkant de details voor het geselecteerde element. JADE biedt dus in al deze vensters een consistent en natuurlijk aanzicht op de objecten in de database. Hoewel het ontwikkelen van Jasmine toepassingen kortom van een hoog point-and-click gehalte is, blijft er altijd nog applicatie-specifieke functionaliteit over die handmatig geprogrammeerd moet worden. Voor deze ambachtelijke taak heeft JADE de Method Editor. Repareren ![]() Tenslotte valt er nog wel iets over de foutbestendigheid te zeggen: JADE is nog niet goed berekend op oneigenlijk gebruik. Zo crasht JADE steevast met een NULL-pointer foutme lding bij het compileren van scenes waarin aan niet-bestaande objecten gerefereerd wordt. De Jasmine database server is overigens met geen mogelijkheid van slag te brengen, wat natuurlijk wel veel belangrijker is. Conclusie Met Jasmine vervaagt de scheiding tussen database- en applicatie ontwerp. Het biedt één centrale opslagplaats voor brongegevens, gedefinieerde klassen, geinstantieerde objecten en de bijbehorende functionaliteit. Vanwege de volledig object-georienteerde architectuur kun je iedere te beheren verzameling gegevens op de gewenste manier bewaren en beheren door er een klasse voor te definieren. Vanwege deze inherente flexibiliteit is Jasmine daarom al voorbereid op toekomstige ontwikkelingen, wat die ook mogen zijn. Met JADE krijg je op een gebruikersvriendelijke wijze toegang tot de Jasmine database. De robuustheid van deze ontwikkelomgeving is echter nog lang niet optimaal. Met behulp van de JADE Netscape plug-in, WebLink interface en ActiveX control kan de Jasmine database vanuit vrijwel iedere omgeving worden benaderd. Bedenk wel dat een eerste kennismaking met Jasmine enige tijd zal vergen vanwege de vernieuwende object architectuur die doorwerkt in alle aspecten van het database gebruik. Zo zul je bijvoorbeeld al snel kennis maken met ODQL, de object query taal. Bovendien zou het leertraject voor 4GL-ontwikkelaars wel eens korter kunnen blijken te zijn dan voor relationele database-beheerders. Systeemeisen Dit zijn de minimale systeemeisen voor Jasmine volgens Computer Associates. Client Microsoft Windows: Hardware: PC met Pentium processor, 32 MB geheugen, 70 MB schijfruimte; Software: Windows NT 4.0 of Windows 95, TCP/IP netwerk verbinding, Microsoft Visual C++ 4.2 of hoger om de Jasmine C API te gebruiken Sun Solaris: Hardware: 32 MB RAM, 170 MB schijfruimte; Software: Solaris 2.5, TCP/IP netwerk verbinding, SPARCompiler C 3.0 of C++ 4.0 om de Jasmine C API te gebruiken Server Microsoft Windows: Hardware: PC met Pentium processor, 32 MB geheugen, 100 MB schijfruimte; Software: Windows NT 4.0, Microsoft Visual C++ 4.2 of hoger Sun Solaris: Hardware: 32 MB RAM, 240 MB schijfruimte; Software: Solaris 2.5, SPARCompiler C 3.0 of C++ 4.0 Afbeeldingen ![]() ![]() ![]() ![]() ![]() ![]() |
Publications > Software reviews >