Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Project Startup

Options
  • 29-01-2007 3:22pm
    #1
    Registered Users Posts: 950 ✭✭✭


    Hello all,

    I am currently working an a project in my own time, and have got to the stage where I can start to code it (yipee!) its a large (very large) scale client/server application that will need to support 100's (1000's) of user, I want to develop it in Java and have been looking at Netbean for this, (I need to use free/open source tools, as I cant afford to buy) so I have a number of questions..


    1) What would be the best SDK to use? Netbeans, Eclipse or something else? (is there much of a difference) has anyone bad experience of using either of them? I’m hoping to develop this accross multiple platforms, as in I don’t want to be bound to just developing it on one of the theses -> windows/Linux/OS X/Unix so is there any major differences in the SDK for each platform?

    2) I need to find a free database, preferably one that’s platform independent, anyone have any experience of working with one? I have seen that db2 and oracle have free version available, but there very limited in what they support.

    3) I need to setup a CVS server, so I was hoping to use my Mac for this (OS X 10.3.9) so again I need a free CVS Server that can be installed on my MAC.
    If I do use OS X for this can I develop the application on Windows/Linux?

    {Edit} Forgot to mention an Application server, was thinking Tomcat??

    NOTE: when the application is finished I am hoping to sell it, and don’t want to have to worry bout licenses for tools that I used, so any tools I use will have to be absolutely free, and not just free for personal use only!


    Any Help is greatly appreciated.
    Thanks in advance.


Comments

  • Registered Users Posts: 6,509 ✭✭✭daymobrew


    jessy wrote:
    2) I need to find a free database, preferably one that’s platform independent, anyone have any experience of working with one?
    MySQL have a free database server.
    jessy wrote:
    3) I need to setup a CVS server, so I was hoping to use my Mac for this (OS X 10.3.9) so again I need a free CVS Server that can be installed on my MAC.
    If I do use OS X for this can I develop the application on Windows/Linux?
    http://ximbiot.com/cvs/wiki/index.php?title=Main_Page
    I had a quick look but didn't find any servers but that is probably just me.


  • Closed Accounts Posts: 198 ✭✭sh_o


    Best of luck with your project!
    jessy wrote:
    1) What would be the best SDK to use? Netbeans, Eclipse or something else? (is there much of a difference) has anyone bad experience of using either of them? I’m hoping to develop this accross multiple platforms, as in I don’t want to be bound to just developing it on one of the theses -> windows/Linux/OS X/Unix so is there any major differences in the SDK for each platform?
    I would recommend using whichever one you are most comfortable with - I use eclipse and find it excellent on both linux and windows. Plus there are numerous plugins which make working with cvs, tomcat etc.. very easy.
    jessy wrote:
    2) I need to find a free database, preferably one that’s platform independent, anyone have any experience of working with one? I have seen that db2 and oracle have free version available, but there very limited in what they support.

    Mysql is very easy and straight forward to use - if you do intend eventually selling your application, I would recommend keeping your design as database independent as possible so that there is little or no changes required in porting the application to a different database. A lot will depend on your target market, some organisations will only want a particular type of database because of the structure of their production teams and skills etc.

    jessy wrote:
    NOTE: when the application is finished I am hoping to sell it, and don’t want to have to worry bout licenses for tools that I used, so any tools I use will have to be absolutely free, and not just free for personal use only!

    You have to be careful here regarding any shared libraries etc that you use. You may end up being bound by conditions that you did not intend. Also if you can decouple your application as much as possible so that you are not shipping your application with any pre-existing components, then this may help with licencing as you may not need to worry about their terms in their licence. You would licence your application stating that there are certain 3rd party software that your application requires as opposed to bundling it with your software.

    If and when you are happy that you have a marketable product, make sure you get legal advice on drafting your own licencing agreements and also that you are in compliance with any other licences of the components that you are using!


  • Registered Users Posts: 500 ✭✭✭warrenaldo


    I would recommend using Eclipse - which is multi platform. I have used it on Windows mainly - but also have it mapped to my unix drive. So i have it working for both. Also Eclipse is very good. lots of companies are using it - its a great thing to have experience with.
    Eclipse works with CVS also - look around.

    And tomcat is definetly the app server that you need. Nice and simple and easy to work around. also lots of help with tomcat on the web.

    I am currently in an Aplication Development role using Java - My IDE is Eclipse(Free), my Database is SQL Server(Free),My App Server is Tomcat(Free).


  • Closed Accounts Posts: 362 ✭✭information


    daymobrew wrote:
    MySQL have a free database server.

    MySql is not free, if you do not make your code open source.
    You will have to buy a license for each customer you sell it to €250.

    I would recommend Netbeans, free, easy to use, as platform independent as java, comes with Tomcat and lots of tutorials on the sun and other sites.

    Tomcat is not an application server, its a Web Application Server, if you want a good Application Server use jboss.


  • Registered Users Posts: 950 ✭✭✭jessy


    Some good advice and help here guy, thanks. should have mentioned that it is a web application server that I need, so looks like tomcat is the job, which only leaves me to fine a free Database that I wont need any sort of a license for.
    Decided to use Netbeans 5.0 have it installed on my Mac and PC and have been playing around with it for a while now, and it more than meets my needs :-)


  • Advertisement
  • Registered Users Posts: 1,464 ✭✭✭evilhomer


    jessy wrote:
    Some good advice and help here guy, thanks. should have mentioned that it is a web application server that I need, so looks like tomcat is the job, which only leaves me to fine a free Database that I wont need any sort of a license for.
    Decided to use Netbeans 5.0 have it installed on my Mac and PC and have been playing around with it for a while now, and it more than meets my needs :-)

    You can use MySQL, just don't bundle it with the software. Just make it a requirement for your software.

    Details here -> http://www.mysql.com/company/legal/licensing/

    If you are going to make your software DB platform independent, use a Data Access Layer that employs ODBC for accessing the database and also uses ANSI SQL . So you have very few changes to make to the Queries from platform to platform.

    As regards a CVS I recommend http://www.nongnu.org/cvs/ for the server
    Open Source and available for Windows/OS X/Linux.

    Partner it with http://www.tortoisecvs.org/ as your client and you are set.

    Another Option open to you is PHP with MySQL very, very scalable and if you use PHP5 and MySQL 5 you have proper OO PHP and also a SQL database that supports Stored Procedures, Triggers, etc...
    Put that on an Apache web server running linux and you have a lovely LAMP setup. http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29

    Of course that's just my opinion :p


  • Closed Accounts Posts: 362 ✭✭information


    evilhomer wrote:
    You can use MySQL, just don't bundle it with the software. Just make it a requirement for your software.

    Details here -> http://www.mysql.com/company/legal/licensing/[/url
    Its been at least a year since I was last evaluating DBs.
    It was stated a breech of the license, if you used closed software and it was a requirement to install Mysql.
    I had a look at the forums on MySql and they seen to be allowing making it a requirement, which is new, also they seem to be giving straight answers to questions which is also very new.
    This is probably to do with the release of express editions of SQL Serer and Oracle.
    evilhomer wrote:
    If you are going to make your software DB platform independent, use a Data Access Layer that employs ODBC for accessing the database and also uses ANSI SQL . So you have very few changes to make to the Queries from platform to platform.
    Tomcats connection pool is the way to go, it uses jdbc.
    There is a different license on the MySql JDBC Driver, so you will want to check that out.


  • Registered Users Posts: 68,317 ✭✭✭✭seamus


    evilhomer wrote:
    If you are going to make your software DB platform independent, use a Data Access Layer that employs ODBC for accessing the database and also uses ANSI SQL . So you have very few changes to make to the Queries from platform to platform.

    Well, the beauty of Java is OO. It should be possible to build your own db-independent database layer.

    You just have an interface layer that provides standard Operations -> updateRows(), insertRows(), selectRows() etc etc.

    When calling it, you just call something like
    DBConnector link = new DBConnector("mysql")
    and the DBConnector class just instantiates a new mySQLDB class (or whatever) and relays the commands back to it.

    This also provides a sort of scalable application - if you have a customer/client who is using something odd, coding your own database access class is trivial enough.

    I had started coding something like this in PHP, and was getting on pretty well. Then I formatted my laptop and forgot to take a backup :o

    OP, if you'd like a hand with that part in particular, feel free to give me a shout.


  • Registered Users Posts: 5,618 ✭✭✭Civilian_Target


    I'm gonna be controversial and suggest you don't use MySQL, because Postgres is completely free and as I'm sure Cloud will tell you, MySQL can sometimes act wierdly on large deployments (well, it certainly used to, maybe they've sorted that out now).

    As an appserver, I recommend IBMs Websphere Application Server, Community Edition - which AFAIK is under the Apache license. It's much more forgiving than Tomcat, and comes with much more built in support and better error messages.
    If you do it right, of course, in theory your code should work on any J2EE engine, but to be fair, because of its extra functionality you're at risk of tieing yourself to Websphere if you do go to deep with WASCE, so if you think that might be a risk, then use tomcat. I don't like tomcat though because the error messages make no sense...

    As for IDEs, Eclipse with suitable plugins...


Advertisement