Saturday, June 27, 2009

Enterprise Database Development on OSX

IconThis 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.


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.

posted by Ken Cluff on Wed 23rd Feb 2005 21:53 UTC



0 comments:

Post a Comment