Mac, Apache, Oracle, Python?

Discussion in 'Mac Programming' started by ArtOfWarfare, May 5, 2014.

  1. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #1
    I have no server side programming experience beyond throwing a few html and pngs into MAMP's htdocs folder (so really, no server programming), but a friend has asked me if I can set up a server on my Mac that uses an Oracle Database and Python as a programming language.

    Does the phrase "Oracle Database" even make sense? Oracle has a SQL Management IDE, I found, but is that really a "Oracle Database"... it seems more like a client to the database that is expected to be used by an administrator as opposed to an end user.

    I'd really appreciate it if someone could point out some kind of simple "Hello World" program that would just show me the bare setup I'll need - I have some rudimentary knowledge of SQL and a lot of experience with Python, so I figure I can go from there to do some actual programming.
     
  2. Cromulent macrumors 603

    Cromulent

    Joined:
    Oct 2, 2006
    Location:
    The Land of Hope and Glory
    #2
    Oracle are the makers of probably the most popular commercial RDMS out there (they charge tens of thousands of dollars for a license to their highest end database offering). So yes talking about an Oracle database server does make sense.

    Unfortunately Oracle do not support Mac OS X for their database server so you'll need to install it in a virtual machine (VirtualBox is your best option) running Linux and access it from Mac OS X through the local networking options.

    The question is which one does your friend mean? Oracle have a free database offering but it is missing lots of features found in their commercial offering. If you only need the basics of database system it may well be enough but if you require some of the more advanced options such as GIS features you'll need to pony up some cold hard cash (and a lot of it too). I'm not sure if Oracle offer a developer license like Microsoft do for SQL Server. I certainly haven't heard of one. So there is unlikely to be a cheap option.

    For reference here is the free version:
    http://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html

    If it were up to me I'd skip Oracle all together and use PostgreSQL instead. It is an open source and powerful RDMS that is well regarded by the industry. It also offers most of the features found in the enterprise version of Oracle's RDMS offering.

    If you are planning on using Python then I know there is a database adaptor available for Oracle databases that can be used from the Django web framework. That should set you on the correct path.

    As to deploying a Python / Django web application you'll probably want to use uWSGI and I would highly recommend using Nginx rather than Apache as your HTTP server. It does everything that Apache does but is much easier to configure, faster and supports uWSGI out of the box.

    If you want a hello world style web application then follow the Django tutorial. That will give you some experience of server side programming.

    The tutorial can be found here: https://docs.djangoproject.com/en/1.6/intro/tutorial01/.

    From there you can get the basics under way but you'll still need to do the front end development as well (HTML, CSS and JavaScript).

    Since your question is so general in nature it is very hard to give you any more help. If you have a more specific problem then I am happy to help. Just let me know what it is that you are having problems with.
     
  3. lee1210 macrumors 68040

    lee1210

    Joined:
    Jan 10, 2005
    Location:
    Dallas, TX
    #3
    Running an oracle server is much different than running a front end. For one, it costs money, at least I am not aware of a free version. Installing will probably also be trickier. If you need to do this, a Linux VM may simplify things. If your friend meant any database you may have more luck with MySQL or Postgres.

    I think what's missing is what you want to do. Does he already have an app that runs against Oracle? Does he want you to test it running on OS X? Are you going to make enhancements?

    -Lee
     
  4. Nellie32 macrumors newbie

    Joined:
    Aug 10, 2010
    #4
    Oracle is free for personal use, even the all singing and dancing Enterprise edition. All you need is a free Oracle Technology Network signon.
    As mentioned above the best way to implement on a Mac is via Virtual Box. Oracle provide pre-built Virtual Box images for various different products http://www.oracle.com/technetwork/community/developer-vm/index.html

    The best to try initially is probably the Database App Development VM.
     
  5. ArtOfWarfare thread starter macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #5
    Wow! Thanks for that! It sounds really useful.

    I've spent the past two hours trying to get Django to play with MAMP... I feel like I should have it working within an hour... I'll just finish that and then look into the Oracle VM and be able to pick between MAMP and LAOP.
     
  6. D.T. macrumors 603

    D.T.

    Joined:
    Sep 15, 2011
    Location:
    Vilano Beach, FL
    #6
    Is this related to the social app you mentioned a few weeks ago? I recall, I had some suggestions about using a PaaS, some product recommendations, all open source based (to mitigate costs, tap into the active development community, etc.)

    Someone else had asked about using Oracle for DB/state, and I replied with this (which I think I CC’ed to your thread as well, getting good mileage out of this post :D ):

    http://forums.macrumors.com/showpost.php?p=18891720&postcount=11

    One of the takeaways is something echoed by the post I quoted above: I’d look into Postgres vs. Oracle for a number of reason (feature disparity between XE vs. Standard/Enterprise, licensing costs, etc.)

    I do a significant amount of work in Oracle for a couple of enterprise projects in the Fed sector, but all my work for iOS API/backends, web/social, all my startup work, I like and use Postgres. There’s a version available for OSX (I’m running it right now ... funny enough, I’m also running Oracle in a Win VM right now too :cool: ).

    Also note that many web frameworks (Rails, Django), have ORMs that provide a DB abstraction layer, so you’re more or less just dealing with the application layer vs. the details of the DB implementation (though of course, that doesn’t completely preclude understanding some DB fundamentals for a good design).
     

Share This Page