Enterprise Database Development on OSX

This article explains how I’m able to use an aging but still capable Mac for database development in a company that develops commercial decision support software for hospitals. I wrote this article because I think the results of the search I made for software that allows me to work productively on this machine may be of use to others.

Background

The machine I develop on isn’t a fire breathing G5. It’s a more modest, but capable machine, a dual 450 MHz Graphite G4; a Gigabit Ethernet model. It still has its OEM 30 GB hard drive, DVD RAM drive and video board. Just the RAM and OS have been upgraded. It has 1.0 GB of RAM and the latest version of Panther installed.

I started working for my current employer last year. Up until that time, since the early ninety’s, the OS I developed in was Windows. All the machines I’d bought were PC’s of various makes and models. The Mac couldn’t even be considered at the time because there were no useful development tools available.

The rise of Linux, the advent of OSX, and major databases like Sybase and Oracle being ported to the Mac, changed the market and raised the possibility of me working on Macs again. Until these events, there was no way to do it. Now, it’s possible and getting easier all the time to develop enterprise database applications on Mac hardware.

When I started at this company, I was given a new Dell desktop with a 2.4 GHz hyper threaded P4 processor. It had 512 MB of RAM. Windows XP Pro had been installed along with all of the development tools and MS Office. It was your typical work machine. As I was being introduced to the web developers, I walked by an unoccupied cubicle that had the Mac sitting under its desk. I asked the IT guy how the company came to own the machine. He explained that it had been bought for a contract web developer, but that it had been collecting dust for the past couple of years after the developer left the company.

I asked my boss about using a Mac as a developer workstation instead of the Dell. He answered that as long as I could be productive on the machine and that I could do all that needed to be done, I could use the machine. The IT guy was thrilled because it freed up the Dell, which others were clamoring for. I next needed to see what tools were available for database development and whether I could realistically be as productive on the Mac as my co-workers were on their Windows machines.

My company builds its applications using a client-server architecture. Oracle 9iR2 is used as the data layer with PL/SQL packages containing the business rules and data manipulation logic. Java-based tools are used to move data into the application. The client side of the application, dynamic web-pages, is built using Macromedia’s Cold Fusion. I soon learned that the Java tool most of the developers use is Eclipse. Source control is through Boreland’s Star Team and Oracle development occurs on Quest’s SQL Navigator. Microsoft Office is used for documentation. Corporate email is via a simple POP3 server: there is no exchange server. Project management is done with Microsoft Project and flow charts are built with Microsoft Visio.
I suspect a lot of small software companies fit this pattern. I set about looking to see how much I could do on the Mac. I found that there’s very little now that I can do on a Windows machine that I can’t do on a Mac.

What follows next is how I use each of these tools:

PL/SQL Coding (Aqua Data Studio by Aquafold, Inc., JDeveloper by Oracle, dbVisualiser by Minq, Inc. ) In an attempt to be fair and honest I must admit that I’ve found none of the Mac title’s quite as nice as Quest Software’s SQL Navigator. Unfortunately, Quest hasn’t built a Mac version. SQL Navigator has several features that are hard to do without, namely the way it color codes PL/SQL packages in the object tree: black means they’re valid, red means they’re invalid. I also like the ability to double click on a procedure or function in the same list and you taken to that code in the package in the code window. There are a couple of features that I could do without however; one is it’s prone to losing its connection to the server for no apparent reason and the other is it randomly crashes.

Having said that, I can still do what I need to do on the Mac. My favorite of the three Mac tools I’ve listed, is AquaFold’s Aqua Data Studio. It has a nice, compact yet easy to understand user interface, and you can change its look and feel with a simple drop-down list control. Given the amount of time I’ve spent in the Windows world, I actually prefer the “3D” style to the “Aqua” style because it looks a lot like Microsoft’s Query Analyzer tool. JDeveloper has a very rich feature set; it has a commensurate price too. It is by far the most expensive of the Mac tools. It also has a built in Java editor, source control client, and database design environment.

Minq’s dbVisualiser has a very nice feature in that it will reverse engineer a database schema and put it into a diagram. Its SQL command window is a lot like JDeveloper’s SQL Workbench window in functionality, so if you’re familiar with JDeveloper, you’ll feel right at home with dbVisualiser. However, I prefer Aqua Data Studio’s implementation of a SQL editor.

VPN – (OS X’ internet connect, Cisco’s VPN Client ) When I need to connect to a client site, I exclusively use Cisco’s VPN Client software. I’ve experimented unsuccessfully with OS X’s built in VPN client, so I can’t report on how well it works, but I’ve used the Cisco Mac VPN client extensively. It’s is as slick and easy to use as its Windows counterpart.

Source Control – (StarTeam by Boreland, JDeveloper by Oracle) Source Code control is a big deal for us and getting more important as our engineering staff grows in size. Fortunately, Borland wrote StarTeam in Java and ported it to the Mac. I use it daily to protect my code from myself as much as anything. The look and feel of the port is not purely Aqua because of the way it underlines the “key” letter of menu commands.

JDeveloper does have source control functionality built into it and in Oracle shops that haven’t yet decided on a source control package, it should be given a serious look.

Application interface testing – Safari, FireFox or Internet Explorer all work equally well. I prefer Safari for no other reason than I like the interface. FireFox is the favorite browser of the web developers here. I use IE only as a tool of last resort because it’s so slow at rendering pages and it doesn’t block popups (Mac version).

Java Coding – (Eclipse, xCode by Apple, JDeveloper by Oracle) This is realy a tossup between two titles, Eclipse and xCode. I really like Eclipse, but it is a huge resource hog on the Mac. It’s the Java IDE of choice in our company and having a Mac version has been really nice. It has a nice implementation of intellisense and some very helpful wizards that make life for novice Java developers like myself quite a bit easier. My next best favorite is xCode. I’ve found the “hard core” approach to coding using a text editor and a Terminal window to be a fun foray into minimalist developer environments but I’m to much a novice to really enjoy coding that way.

Lastly, JDeveloper has a full featured Java IDE too. For shops that want to use a single tool that does it all, JDeveloper is very capable. Its cost however exceeds the combined cost of all the tools needed to replace it.

Flow Charting – (OmniGraffle by Omni Group, Inc.) I’ve found that using a flowcharting application to figure out how to accomplish a data manipulation process before I actually write the code to be a HUGE time saver. OmniGraffle Pro is a superb application for this task! It comes in two versions, Personal and Professional. It’s easy to use and the flowcharts look very nice. I prefer the Professional version because it allows me to share my work with the other developers who use Visio.

Inter-office documentation and collaboration – (Microsoft Office for the Mac, NeoOffice/J, OpenOffice and OS X applications) My employer uses Microsoft Office products for all their documentation, presentations and email. I use the Mac version of office. After I updated my version with the latest downloads, it has been very stable and useable. For those on a tight budget, I recommend NeoOffice/J which is a variant of OpenOffice that runs on the Mac outside the X11 environment. It’s still in alpha release and has the bugs to prove it. But as long as you stick to the basic features, it’ll work for you. If you need to use more features, then OpenOffice is your choice. Both applications share the same look and feel: they don’t use Aqua. But since they’re free, I’m not going to complain.

I use Entourage as my email client because of it includes a calendar and task list that are easily accessible. You can do pretty much the same thing with OSX’ Mail, Address book and iCalendar applications. There are a lot of shareware tools that have been built that add to the features of these applications that ship with OS X. I haven’t tried them because Entourage works well enough for me the way it is.

Project Management – (PMX by JTech Software) PMX allows me to open and edit PMX files exported from Microsoft Project. It doesn’t have the full feature set that Project has, but it has enough to allow me to collaborate in the management of some of the development projects with my Windows using counterparts.

Text Editing – (TextWrangler by BareBones, TextEditor – included with OSX) For simple text editing and document comparing, Bare Bone’s text editor, TextWrangler is powerful and easy to use. It’s every bit as capable as Ultra Edit which exists only on Windows. TextWrangler is loaded with some sophisticated and powerful features. The feature that endears it most to me is its “Find differences” tool. With it I can compare two versions of a document side by side and with the click of a button selectively “sync” those documents. One button allows you to apply the currently selected difference between the old and new version to the old version from the new version and another button applies the difference to the new version from the old version. It’s very slick and easy to use.

TextWrangler also supports syntax color coding, so you can use it as a developer tool. There are developers that like to code this way, I’m not one of them. TextEditor is more a light weight word processor than a text editor. It’s great for simple writing tasks. Since it can save documents as RTF files it can fill in as a word processor in a pinch. However, BareBones recently decided to set the price of TextWrangler to nothing: it’s free. For this contribution to the Mac community, I strongly recommend you check out BareBone’s web site and look at the other tools they sell. They make some high quality software.

Time tracking – (Clock and Time by BDNSoftware) There are a lot of shareware titles for the Mac that allow you to keep track of you time for billing purposes. I use this title because it’s simple to use, has a nice interface and it’s cheap. At the end of the week, I use it to print invoices for the various projects I’ve been working on. I use them to fill in the time sheets my employer requires.

Outliner – (OmniOutliner by Omni Group, Inc.) I’ve just recently started using an outliner to make checklists, meeting notes etc. I’ve tried a couple, including Microsoft Word’s outlining feature. I don’t like any of the others as much as I like OmniOutliner. I especially like the ability to add columns, format them in just about any way, the little checkboxes that are included by default and the templates. OmniOutliner will export to the “OMPL” file format which is actually XML. Once there’s a Windows based outliner application that accepts them, it will be much easier to collaborate and share these outline documents with my coworkers. Right now, I export to MS Word. I especially like the templates since I can put together a checklist and then create a new one for each process I need to document doing.

For Windows-only utilities, I use the Remote Desktop Connection solution and an old Dell. The Dell is barely strong enough to run Windows XP, but it’s faster and cheaper to use than to buy an emulator. I could use VNC but I haven’t set it up to evaluate yet. If my machine were faster, then Virtual PC or GuestPC or Bosch’s Windows emulator would be workable solutions.

Final Thoughts

With such a rich set of tools, serious relational database development is not a Windows-only game any more. I continue to exchange some good natured ribbing about the various strengths and weaknesses of our respective OS’s, but for all intents, my Graphite Mac holds its own against the Windows machines.

If you are tired of the viruses, spyware, malware etc. that afflict the Windows world and would like to escape from all of that, now you can. For non-commercial uses, some of these titles, like the developer tools, are free. Most of them have generous “try before you buy” licensing. If you are just starting out, the Mac is especially appealing right now given the amount of free or low-cost software you can get started with.

Software List and Prices

What I’ve provided here is a list of the various titles I’ve commented on, how much they cost and where you can download them. A quick disclaimer, this is not a complete list of the available tools. These are just the ones I’ve tried out. While JDeveloper can do more than one thing, it is listed just once. One final note, VersionTracker.com is an invaluable resource for finding software. While I’ve used Google searches and Source Force, the place I’ve had the most success in finding software is Version Tracker.

PL/SQL Coding

JDeveloper 10g (Oracle), For non-commercial use it’s free. For commercial use, it’s $995 for a single seat license. You can find out more about it at: Oracle – JDeveloper

Aqua Data Studio 4.0 (AquaFold, Inc.), For non-commercial use, it’s free. For commercial use, it’s $149 for a single seat license. You can find out more about it at: AquaFold, Inc. – Aqua Data Studio

dbVisualiser (Minq, Inc.) There’s a limited feature free version and a “personal version” that I would recommend using for $99 per seat. You can find out more about it at: Minq, Inc. – dbVisualiser

Java

xTools 1.5 (Apple) – Free. Comes with OSX. It requires OS 10.3. You can find more about it at: Apple – Developer Tools

Eclipse (Eclipse.Org) Free. For more information go to: Eclipse.org
(For the truly hard core Java guys) TextEditor in conjunction with a Terminal window and Applet Viewer, which come with OSX, works too as a Java IDE.

Office Suite of tools

MS Office (Microsoft) Regular $399, Student $149, Professional $499. For more information go to: Microsoft/Mac

Open Office (OpenOffice.org) Free. For more information go to: OpenOffice.org

NeoOffice/J (NeoOffice.org) Free. For more information, go to: NeoOffice.org

Email

Mail – comes with OSX

Entourage (Included in Microsoft Office)

Project Management

PMX (JTech Software) Shareware, $59.95. For more information go to: JTech Software

Flow charting

OmniGraffle Pro (Omni Development, Inc.) There is a limited feature “free” version. The Professional version costs, $119.90. You can learn more about it at: OmniGroup – OmniGraffle

Text Editor

TextEditor – comes with OSX

TextWrangler (Bare Bones Software) It’s free. You can learn more about it at: BareBones – TextWrangler

Source Control

StarTeam (Borland) You can download a demo of the StarTeam client at: Boreland – StarTeam

VPN

Internet Connect – comes with OSX

VPN Client (Cisco) To download you have to have purchased a Cisco router. You can learn more about it at: Cisco VPN

Outliner

Omni Outliner Pro (Omni Development, Inc.) The Professional version costs, $69.95 You can learn more about it at: OmniGroup – Outliner

Time and Billing

Clock and Track (BDNSoftware) Shareware, $29.95. Get more information about it at: BDNSoftware

About the author:
Ken Cluff is a SQL Server/Oracle Database Developer who resides in a quiet little town near Salt Lake City, Utah. When he’s not sitting at his computer playing or working, he’s spending time with his children.


If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.

23 Comments

  1. 2005-02-23 10:17 pm
  2. 2005-02-23 10:27 pm
  3. 2005-02-23 10:38 pm
  4. 2005-02-23 11:29 pm
  5. 2005-02-23 11:55 pm
  6. 2005-02-24 12:06 am
  7. 2005-02-24 12:24 am
  8. 2005-02-24 12:30 am
  9. 2005-02-24 1:21 am
  10. 2005-02-24 2:34 am
  11. 2005-02-24 3:57 am
  12. 2005-02-24 4:24 am
  13. 2005-02-24 6:21 am
  14. 2005-02-24 10:28 am
  15. 2005-02-24 1:25 pm
  16. 2005-02-24 1:50 pm
  17. 2005-02-24 3:06 pm
  18. 2005-02-24 3:09 pm
  19. 2005-02-24 5:06 pm
  20. 2005-02-24 8:09 pm
  21. 2005-02-24 9:10 pm
  22. 2005-02-24 11:26 pm
  23. 2005-02-25 12:45 am