Follow Us on Twitter

SQL Developer, too little too late?

Gepubliceerd in

Mei 2006 - Met de komst van Oracle SQL Developer, voorheen Project Raptor, heeft Oracle zich begeven in een markt die al jaren wordt gedomineerd door Integrated Development Environments (IDE) zoals bijvoorbeeld Toad en PL/SQL Developer. In dit whitebook wordt geprobeerd antwoord te geven op de vraag: Is Oracle SQL Developer een aanvulling in de al druk bezette Oracle IDE markt of is het too little too late?

De eerste vraag die gesteld moet worden. Zijn de genoemde producten te vergelijken? Toad van Quest software en PL/SQL Developer van Allround Automations zijn commerciële tools terwijl SQL Developer als freeware in de markt wordt gezet. Ik ben van mening dat ondanks dit fundamentele verschil de producten wel degelijk vergelijkbaar zijn.

Installatie en configuratie

De installatie en configuratie is uitermate eenvoudig, simpelweg de ZIP file uitpakken in een map en de executable starten. Daarna connecten naar een database via een van de connection mogelijkheden en er kan gewerkt worden. Tijdens de installatie worden er geen settings weggeschreven in de registry.

Figuur 1, de interface
Figuur 1, de interface (klik op figuur voor groter plaatje)

Er zijn downloads beschikbaar voor Windows ( met en zonder JRE ), voor Linux, Unix en voor Mac OS X. Hiermee is SQL Developer een van de eerste volledige PL/SQL IDE’s die ook op andere platformen draait dan alleen Windows.

Editor

De gebruikers interface komt intuïtief over. De object tree browser links werkt prima en objecten zijn snel gevonden. Gebruikers die gewend zijn aan een object tree browser, zoals bijvoorbeeld die in PL/SQL Developer zullen zich meteen thuis voelen.

Wanneer op de rechtermuisknop wordt gedrukt terwijl de muis op een database object staat wordt er een context sensitive menu getoond. In dit menu wordt getoond welke bewerkingen er mogelijk zijn met dit object. Bijvoorbeeld het compileren van een package of het toevoegen van debug informatie aan een package. De geopende objecten worden in de editor als tabbladen getoond wat het overzicht zeker ten goede komt.

In de PL/SQL editor zelf zit een unieke, zeer bruikbare feature. Namelijk het kunnen in en uitklappen van bijvoorbeeld IF/THEN statements, BEGIN/END blocks en zelfs complete procedures en functies. Zeker bij complexe PL/SQL blokken kan dit zeer handig zijn.

Figuur 2a, Statement uitgeklapt Figuur 2b, Statement uitgeklapt
Figuur 2a, Statement uitgeklapt Figuur 2b, Statement Ingeklapt

 

Verder ondersteunt de editor, code completion, syntax highlighting, automatische tab / indent functies, automatische uitcommentarieren, warning messages na compilatie, performance tuning messages, breakpoints, debug / trace mogelijkheden etc etc. Al met al een zeer complete interface.

Reports

Verder biedt SQL Developer allerlei voorgedefinieerde SQL reports en bestaat de mogelijkheid om zelf reports toe te voegen.

Figuur 3, voorbeeld report: alle XML Schema’s geregistreerd in de database
Figuur 3, voorbeeld report: alle XML Schema’s geregistreerd in de database

De grote kracht zit hem in de User Defined Reports, hier kan de programmeur of DBA eigen scripts definieren en op een centrale plek deze reports gebruiken. Voor vaak gebruikte queries binnen een project is dit absoluut een uitkomst. De object tree kan zelf worden voorzien van extra subfolders om zo de gebruikte scripts netjes te administreren.

Figuur 4, User defined report, query van alle provincies uit de provincie tabel
Figuur 4, User defined report, query van alle provincies uit de provincie tabel

Overige functies

Verder zit er in SQL Developer een SQL window waarin zowel SQL als PL/SQL statements kunnen worden uitgevoerd. Tevens biedt dit window ook de mogelijkheid om output te sturen naar een DBMS output of OWA Window, vergelijkbaar met het HTP output window van PL/SQL Developer. Daarnaast bevat dit window ook een Explain plan window om queries te analyseren.

Figuur 5, OWA output window
Figuur 5, OWA output window

Ook biedt Oracle SQL Developer de mogelijkheid om eigen plugins toe te voegen. Oracle vertrouwd hier op de gebruikers van SQL Developer om plugins te ontwikkelen en ter beschikking te stellen. Dit is in groot contrast met bijvoorbeeld Toad waar de gebruikers dit niet kunnen. Een interessante plugin is “Insider for Oracle” van FourthElephant.

Figuur 6, Oracle Insider plugin
Figuur 6, Oracle Insider plugin

Met deze plugin kan de complete database worden gemonitored. In figuur 4 is een overzicht te zien van de memory usage van de database.

Minpunten

Toch zijn er ook nog een aantal minpunten op te noemen voor SQL Developer.

Bij het doorzoeken van de object navigator en het selecteren van een bepaald database object wordt tijdens het ophalen van de gegevens een window getoond met de tekst “Retrieving objects…” Dit window is behoorlijk storend. Iedere keer wordt dit window getoond tijdens het ophalen van de metadata van het object. Bij kleine objecten zie je alleen een flits op het scherm. Oracle had hier beter de cursor kunnen veranderen in het bekende zandlopertje.

Ook de editor zelf zou nog iets uitgebreider kunnen. Ondanks het feit dat de editor al zeer bruikbaar is missen er nog een aantal opties zoals als het highlighten van een wanneer de cursor er op staat. Zo kan men zien waar de variabele nog meer wordt gebruikt. PL/SQL Developer kan dit wel vanaf versie 7. Zie ook figuur 7.

Figuur 7, variabele highlight in PL/SQL Developer 7.0
Figuur 7, variabele highlight in PL/SQL Developer 7.0

Wat ook een handige feature zou zijn is een context sensitive menu in de editor. Bijvoorbeeld de mogelijkheid om een tabel te describen wanneer de cursor op een tabel staat. Deze feature zit wel in PL/SQL Developer.

Figuur 8, context sensitive menu in de editor, PL/SQL Developer 7.0
Figuur 8, context sensitive menu in de editor, PL/SQL Developer 7.0

De compiler geeft nog wel eens valse meldingen. Tijdens het testen kreeg ik meerdere malen “Warning, function returns no value” terwijl er echt een RETURN statement in de code stond. Dit is niet blokkerend maar wel storend wanneer je aan het ontwikkelen bent.

Ik vind het persoonlijk jammer dat Oracle de naam SQL Developer heeft gekozen. Oracle Raptor was in mijn ogen een mooiere naam voor het product. Daarnaast lijkt SQL Developer heel erg veel de naam PL/SQL developer van Allround Automations wat voor verwarring kan zorgen. Tik de naam “SQL Developer” maar eens in in Google.

Conclusie

In de tijd dat ik het nu gebruik heeft Oracle SQL developer mij in positieve zin verbaasd. Afgezien van een paar kleine minpunten ben ik absoluut onder de indruk. Het feit dat het op meerdere platformen, Linux in het bijzonder, draait is een absoluut pluspunt te noemen. Ik “betrap” mij er zelf steeds vaker op dat ik naast Toad en PL/SQL Developer ook SQL Developer gebruik. Helemaal wanneer ik op Linux aan het werken ben.

Oracle SQL Developer is zeker niet too little too late en de concurrentie kan er nog veel van leren. Het zou mij dan ook niet verbazen als op termijn een aantal bedrijven hun dure licenties de deur uit doen en overstappen op SQL Developer.

Referenties / links

Over de auteur
Martin Kleinman is Oracle consultant bij Whitehorses en heeft 7 jaar ervaring in de IT. Hij heeft veel projecten afgerond met Designer/Developer en (web)PL/SQL. Hierbij heeft Martin gewerkt met producten als Toad en PL/SQL Developer. Martin heeft zich gespecialiseerd als allround integratie specialist en is expert in de Integration Suite van Oracle (InterConnect, BPEL, ESB, etc.).

Waardering:
 

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.