Summary
<feel free to replace this with one of your own, Kevin>
PLSQL Developer is an extensible Oracle programming IDE that comes with almost every feature you'll need "out
of the box" to accomplish your daily programming tasks. No longer will you need to keep other editors or Oracle
tools, telnet windows or SQL*Plus sessions open to get your job done. Once you skim the complete manual, you'll
find yourself more productive than you every thought possible in an Oracle IDE. It is highly customizable to fit
the way you're accustomed to thinking and working. Somehow Allround manages to continue offering this tool for
a very reasonable price, a veritable mountain of value for shops that can't or won't cough up the exhorbitant fees
for the competition.
Usefulness to DBA
|
2
|
Usefulness to developers
|
4.5
|
Functionality, how much does it do
|
4
|
User interface, intuitive/friendly
|
5
|
Software quality, integrity, robustness
|
5
|
Documentation quality and scope
|
5
|
Technical support availability
|
5
|
Value for money
|
5
|
Ease of integration with other tools and systems
|
5
|
Overall rating
|
4.5
|
|
See the Comparison table
which compares the performance of TOAD, RapidSQL, and PL/SQL Developer
Screen Shots
Many Faces of PSD
Many Shots at Allround site
|
Back to top of file
What is great about this product?
Two general themes come to mind when attempting to summarize what's great:
value and flexibility.
It doesn't have some of the DBA and advanced features that TOAD does, but it does pack an enormous featureset for
the miniscule per-seat cost. It even includes features, like debugging and profiling, that cost hundreds more to
add as modules to TOAD, SQLNavigator or RapidSQL.
Most of the time, I found working within PLSQL Developer (hereafter referred to as PSD) to be a dream. It simply
worked the way my mind and ingrained Oracle habits worked. In the rare cases I wanted it to do something different,
there was always some preference, template, or even menu customization that Allround had already anticipated in
the design to accommodate me.
Here's a list of other unique and excellent elements:
- The
action you need where you need it, all integrated and available from nearly every window.
- Very complete and context-sensitive help, integrated with Oracle documentation and Oracle Error Messages
- The
Code Assistant: fast and intelligent, context-sensitive auto-completion
- Extensible
templates and toolset
- Error
stack stepping, opening each piece of code as you walk through an error stack
- The Explain Plan facility and its ability to step through the plan in the proper order
- Built-in
GUI for 8i profiling
- Auto
re-compilation of invalid objects
- Recent
object list and customizable filters in the browser
- Best
connection manager I have used to-date
- Solid visual query builder for beginning developers
- Robust: not one bug, leak or crash during 2 months of heavy 8i development
Back to top of file
History
A Dutch software company, founded in 1989, Allround is dedicated to user-friendly software
that performs well. They have created software that range from administrative to real-time process control applications.
Creation of PL/SQL Developer started in 1997, when they recognized the huge gap between Delphi/C++ IDEs on the
market and the near total lack of anything similar for PL/SQL. They felt there were no tools that took PL/SQL development
seriously, offering the productivity to which most programmers are accustomed. Through the years the tool has kept
its focus on PL/SQL developer's needs and a great price/performance ratio.
Back to top of file
Technical Requirements and Supported Databases
Client OS: 32-bit Windows (Win 9X, ME, NT 4, 2000)
Client Specs: 8MB RAM, 10 MB disk
DB Version: Oracle 7.3 and up (including 8.1.7)
Back to top of file
Installation
Installation took about 20 seconds. It worked the way I expected it to. The installer detected
the fact that I have multiple Oracle homes on my desktop and let me know where I could change it in the preferences
if I didn't like the choice it made. Make sure you have SQL*Net or Net8 already installed and properly configured.
Back to top of file
What it does
Allround had the noble goal of allowing a developer to perform all day-to-day
Oracle programming tasks within PSD. Unlike other tools I've reviewed that had the same goal, I'm happy to report
Allround succeeded. I've been evaluating new and upgraded PL/SQL IDE's since June 1997, and this is the first time
that I finally find myself spending all my time in one tool. Somebody pinch me; have I died and gone to heaven?!!
Point-of-Need Actions
Allround must have a UI expert in house. The most unique feature I found was how actions allowable
for a certain object, were available anywhere that object could be found.
PSD doesn't follow the rest of the pack by isolating certain actions to certain windows. For example, in PSD one
can do numerous things with a table. Among them are obtaining the table's properties, describing the table and
querying the table. Of course, these actions show up when you right-click a table in the browser pane, but that's
where most PL/SQL IDE's stop. In PSD, no matter where that table name shows up, right-clicking
the name will give you the same options. It doesn't matter if the table name is in the results for an explain plan,
the output of a Command Window query, as part of a variable's %TYPE declaration, or random text in a blank editor.
If your current connection can see that table, either as owner or through a synonym, it recognizes the text as
an Oracle object and presents you with the all the possible actions you could want on that object, when you want
it, and where you want it. I found this sped up my productivity considerably.
Here are some other manifestations of this mentality:
- Database object hyperlinks: Using the Ctrl key, one can drill down to the original source code where a type,
variable, table/view, or function/procedure are declared. Read the manual to fully understand this; you'll immediately
grasp how much time this can save you.
- The Code Assistant (see below)
- With all this jumping around and drilling, The Code Contents panel kindly remembers where you've been, much
like a browser, allowing you to go forward and backward, or jump to wherever.
- Right-clicking anywhere within any SQL statement to send it to the Query Builder or Explain Plan window. The
SQL statement can be in reverse-engineered code, in source code files, in the Command Window editor, or other PSD
windows.
Customization
As mentioned earlier, if something seems amiss, chances are you'll be able to customize this
tool to your liking. There are 16 tabs in the Preferences window for this purpose. It even has the ability to customize
parts of the main menu, adding favorite macros and links to documents. I find it very compelling to point each
developer's install at a centralized repository of macros, templates, project-wide training, Excel templates, and
process or standards documents. This is a feature I've desired in a PL/SQL IDE since '97, but have never seen any
get it right, until now.
The database browser is customizable as well. Various default or custom filters can be applied, which is useful
in environments with hundreds or thousands of Oracle objects. What's more, the browser tracks the items you've
used most recently to simplify your life a little more. I just wish I could customize the icons used for each folder.
Documentation
RapidSQL continues to have the best Help system I've seen (geared toward the IDE). But PSD's
interface is intuitive, and the manual is complete. I found I didn't miss the usual F1 Help to guide me through
certain dialogs. I gave PSD's Help 5 stars for a different reason: it's Help engine and system geared toward Oracle
programming.
PSD really shines with its built in Help libary engine.You point PSD at a local or LAN-based install of Oracle
documentation. A few minutes elapse and PSD has now found, indexed and categorized everything Oracle has to throw
at you. You check off the books you want to include in your context-sensitive
library. Now you can manually search all these Oracle books, or when you highlite any word in any PSD window and
hit F1, the books are automatically searched. I can't begin to describe what a pleasant surprise this was. I'm
used to using my browser (yet another external tool) to view the Oracle docs. The little search applet never works
right. And it seems I'm usually searching for 15 minutes before I find what I want. With PSD's Help integrated
with the Oracle docs, I now find that I spend about 15 seconds or less looking for a match. Wahoo!
Templates
Not only is Allround the first vendor to finally match the features I've desired in templates,
but it far surpassed my expectations. It comes with a complete set of common templates for PL/SQL objects and frequent
code constructs. I can replace them at will, create my own types and organize them in new folders, centralize a
set of them on the LAN for my team or the whole company, and use the built-in, powerful template syntax. If you
make use of the built-in syntax, using a template will pop up a dialog prompting for inputs. You can make some
of the inputs conditional or populated from known OS or DB metadata. You can even make the inputs into a limited
or open combo-box, filled with data obtained by a hard-coded list or from a database query.
Connection manager
It seems a small thing, but PSD's connection manager is the easiest to use and administer
I've seen yet. It just makes my time within the tool a breeze as I fly between Oracle instances and schemas. Sometimes
I found that I missed the ability to have multiple connections open at once, but after using PSD's single-connection
method, I found myself less confused and not needing to double-check which instance I was connected to all the
time.
Editing
For an in-house editor,
it is quite good. No glaring holes or problems like I've encountered in the more expensive competitor's tools.
The biggest complaint I had about not being able to indent blocks of code using the more-familiar Tab and Shift+Tab
will be fixed for the next release.
Code Assistant: I became dependent on this feature. It is much
more handy than I thought it would be (TOAD gave me my first taste, but PSD does it three times better). It even
works for your own tables and stored objects, and advanced stuff like object types
Code Contents: this panel in the Program Window worked much better than TOAD's attempt at a similar feature. It
is useful for large packages that have lots of functions, procedures and other elements. Among other features,
it allows you to easily navigate to a selected sub-portion, or generate a test script just for the packaged element
selected.
Compiling
Of all the PL/SQL IDEs
I've used to compile DB objects and source code, this one is the best. I appreciate how my cursor is immediately
placed at the correct point of error (something 2 of the other major competitors fail at), and if I double-click
the short error message in the error stack, I'm transported to the cause and action section for that error in the
Oracle Error Messages documentation. I no longer have to open up a telnet to the Unix box on which Oracle resides,
just to run oerr in order to see the same information, which often turns out to be blank or useless, especially
if it's a PLS error.
Testing
Aside from the usual
feature allowing one to visually execute a procedure or function, the test script feature of PSD is particularly
valuable in that it allows you to save a test script as is, including the values you entered for bind variables.
This enables a developer to save entire suites of unit tests that can be recalled and re-run at any time for bug
fixing or regression testing.
You can right-click on the name of a runnable PL/SQL object from pretty much anywhere in the tool, and have it
generate a near-perfect anonymous block for testing purposes. I say near-perfect, because no PL/SQL IDE has yet
shown me the ability to correctly recognize a parameter that is of a complex datatype, like a user-defined or table-based
record, and then generate local variables and assignment statements that handle it. PSD is the best so far, but
it declares the datatype as "record," which won't compile or run until you modify it.
Debugging
PSD sports the usual
debugging abilities, breakpoints and rich conditional breakpoints, step over/out/into, variable watches, etc. But
it sets itself apart from other PL/SQL debuggers I've used by being intuitive and solid. Unlike others I've used,
I encountered no bugs or awful workarounds when putting it through my suite of test packages which contain, among
other things, ref cursors, nested tables, records, tables of records, and other more advanced PL/SQL 2.3 and 8i
elements. The manual clearly states that object types and records can't be viewed or modified. Other datatypes,
including collections like nested tables of a scalar datatype, work just fine. Bravo!
The debugging facilities also have a "Run to Exception" feature. This is particularly nice in that it
pauses the program before throwing the exception, allowing you to inspect the current state of the variables involved
in the problem. On top of that, another useful rarity I found was the ability to attach a message to each breakpoint.
These messages show up in the output generated by the program run, eliminating hours of tedious dbms_output.put_line
insertions just to track where your execution went (for those of you that still do it the hard way).
Optimizing
One
feature that PSD includes for free, is an easy-to-use interface into the new 8i dbms_profile package. PSD's implementation
lets you easily see which parts of your code are hogging execution time, quickly narrowing down the problem areas.
For the price, it has an excellent explain plan facility. For new Oracle developers not accustomed to reading
plans, it has a feature that's worth the entire license cost: the ability to show you the exact flow of steps Oracle
will take during execution of the statement. I've seen this feature better implemented in expensive optimizers
like Quest's SQLab or Spotlight. But it works well in PSD too, and it's included!
Querying, Data Editing
Although I still feel
TOAD's data editing and querying capabilities are stronger overall, PSD is the next best. The fact that it comes
in this inexpensive package makes it all the better. It's options for manipulating the visual and ordered display
of the result set is more flexible than TOAD's. The ability to export, paste straight into a spreadsheet, query
by example, sort, and more, are all solid and gave me no trouble.
SQL*Plus replacement
The Command Window is
a godsend. It takes the place of having SQL*Plus open all the time. Thankfully, it knew where all my custom SQL
scripts were at and would execute them effortlessly, just as if I were working in SQL*Plus. There are a few things
it even does better than current versions of SQL*Plus. For example, describing a table. This
is what SQL*Plus 8.1.7 on NT does to the describe <table> command. This
is what the output from the Command Window looks like:
As with the rest of PSD, this feature is integrated with the other tools as well. It supports most common SQL*Plus
commands, but in addition, supports some powerful commands like QUERY[DATA], EDITD[ATA], EXPORT[DATA], EDIT, TEST,
VIEW, etc. These commands take you straight from the SQL*Plus-like Command Window to a nice GUI allowing you (respectively)
to: view, edit, or export table contents; work on a named PL/SQL source; immediately test a PL/SQL object with
some auto-generated anonymous block code; or view PSD's tabbed dialog showing the complete create/edit dialog for
a named object.
Plug-Ins
Where the default features
of PSD fall short, the free plugins, well, plug the holes. I installed the plugins which integrate with our customized
copies of RevealNet's PLFormatter, and our installation of Meran'ts PVCS. Being able to format an entire script
or package body per our project standards with a single click is a must due to the productivity gains. I prefer
using the PVCS interface myself, but other shops might find the tight integration of the VCS plugin very handy.
I also installed the ftp plugin, which is a feature I use alot from within our team's UltraEdit text editor. Having
that within PSD was another reason I was able to forget opening my other tools for 2 months.
Assuming the available plugins don't fill your need, if you have someone that can produce a DLL, you can write
your own plugin to extend PSD and integrate with whatever you need. The API is straightforward, and the installation
routine for your new DLL is easy. For example, you could write a plugin to tie certain VCS actions to update a
database in your proprietary change management or project tracking system. Or if you miss having certain DBA abilities,
you could write some hooks into some of the free DBA utilities, or make calls out of your DLL to another extensible
tool, like Embarcadero's DBArtisan.
Back to top of file
Who should use it?
PL/SQL Developer was designed for the Oracle programmer. Although some simple tasks ordinarily
owned by DBAs are possible, it is not meant for the DBA. If your job is both programmer and DBA, you will want to either get a DBA-specific tool, or use TOAD with the DBA module instead.
Like TOAD, this tool has so much to it and is so flexible, that it could be a bit overwhelming for beginning developers.
However, the tool can be configured to match their needs as well. I found it to be more intuitive and usuable "out
of the box" than any other I've tried.
Back to top of file
Competitive products
SQLNavigator - Quest
Rapid SQL - Embarcadero ( Got a good Orafaq review ). Has the advantage of supporting SQL Server, DB2 and Sybase
in addition to Oracle.
TOAD - Quest ( Orafaq
review )
SQL Programmer 2001
for Oracle - BMC (recently purchased from Sylvain Faust) ( Orafaq
review )
ManageIT SQL-Station - CA (Computer
Associates)
Expediter/SQL - Compuware
Procedure Builder - Oracle (part of Developer package? $?)
Golden, PL Edit, GoldView, GoldLoad -
Benthic Software (shareware)
EZSQL - John Dorlon( Orafaq
review )
Keeptool (Hora, ER-Diagrammer, PL/SQL-Debugger)
Procedit - OraSoft (one of the only
options for Linux, under LGPL)
KORA (by Ullrich Wagner, the other
alternative for Linux)
Back to top of file
Detailed review
Please see the comparison table for the detailed review of this product.
Back to top of file
Shortcomings
I conducted this review during a medium-complexity re-code and test phase of a custom PL/SQL-based
trouble ticket system running through iAS 1.0.2.2 and Oracle 8.1.7. Where that system didn't cover a feature of
PL/SQL Developer, I pointed it at some of our other systems that incorporate advanced features of 8i to see how
thorough the coverage was. I could not break this tool.
I tried hard too.
As one example, I threw a 10 table join SQL cursor at its Query Builder for reverse-engineering. It contained DECODEs,
outer joins, multi-nested functions wrapping a column, short-circuited OR logic, etc. It handled the whole thing without so much as a whimper.
The only real problem with this tool is its innacurate DDL, generated when reverse-engineering certain Oracle objects
that make use of advanced Oracle 8 and 8i features. DDL that should have shown clauses for partitioning and index-organized
table declaration and storage, for example, was missing. If it weren't for this problem, I would have given a full
five stars to PSD. This is not a problem for us though, since we keep our DDL in Embarcadero's ERStudio and don't
trust other tools to reverse engineer it well. Allround intends to fix this by the next two point releases.
Other than that, these were the only things I could find to nit-pick about:
- I
found myself missing stylized icons next to each object in the browser. It seems much easy to navigate a database
by icon, rather than the object type name.
- A
few keyboard shortcuts that seem standard in most Win32 apps, are missing or different. Ctrl+N and Ctrl+O don't
do what you'd expect. Tab and Shift+Tab don t indent/un-indent selected blocks by default (to be fixed in 5.0).
Luckily you can customize the keyboard mappings to overcome a few of these.
- The Command Window has a little trouble doing column formatting of result sets. It tends to chop things up
and lose characters from the front of lines (fixed in 5.0).
- TOAD's ability to store a history of past SQL statements, no matter what window or connection they were executed
in is wonderful. I often need to run the same statement in several instances and several open windows. Or I need
to recall a complex statement from yesterday that I didn't think I'd need again and so didn't save. TOAD is a lifesaver
in these situations. PSD is the only one that comes close to matching TOAD. Unfortunately, unless I manually save
a statement list, once I close a SQL Window, I've lost the history of SQL statements executed there.
Back to top of file
Cost and where to buy
Fully functional, 30-day time-trial downloads of all Allround products can be found at:
http://www.allroundautomations.nl/downloads.html
A single seat of PL/SQL Developer retails for $150 + $50 for a year of upgrades and technical support. For a tool
this fully featured, that's very affordable. The price per seat drops to $90, $75, $50, and $30 as you purchase
5, 10, 20 and 50 license packs respectively. If you actually have a shop that needs more than 50 seats, Allround
also offers unlimited licenses for $3000 and the upgrades/support for $1000. If you detest electronic manuals,
you may also get the CD and printed manual shipped from their HQ for another $50. They offer ordering by card,
check, direct deposit or PO (+$20 for PO option). You may order at:
http://www.allroundautomations.nl/plsqldevorder.html
Back to top of file
Support
The product has been rock solid. I only contacted their support to verify conclusions I
was making for this review. When I did email them, the answers were right the first time and the response time
was satisfactory.
Back to top of file
About the Author
Bill Coulam has spent the last 6 years developing custom N-tier web applications for RBOCs
& LDCs, always with an Oracle VLDB as the back end. He currently works for New Global Telecom in Golden, CO
as a senior Oracle programmer & performance tuner, applications architect and programming coach. You can reach
him at bill.coulam@ngt.com
|