Page 1 of 2 12 Last
  • Jump to page:
    #1
  1. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2002
    Location
    UK
    Posts
    76
    Rep Power
    12

    best language and tools for a datadriven web app ?


    im currently putting some specs together to develop a database driven web application.
    the web application is to look after inventory, some basic accounts, and sales invoicing etc.

    i have 2 programmers working on this project full-time, and theyre going to be doing it in PHP becuase thats what theyre most comfortable with.

    Now , i was thinking of sticking to MySQL since its free and the programmers like it, but i was also thinking of getting them to develop in such a way that program logic is separate from the presentation layer, as i want to sell the app to different clients. it would be nice to be able to change the visual design efficiently.

    I was thinking, a mixture, of php, xml/xslt and mysql would do the trick. what do u think ? too hard? no point in using xslt ? very good ? brilliant? wanna help ?

    please let me know ur thoughts.(its my first big project and i'd like to get it right)

    and any recommendations of whats the most efficient way of putting such a large project together (any tools u might recommend?). ive been playing with some application servers such as Krysalis and ampoliros bt havent had much fun.
    Last edited by eemo; September 14th, 2002 at 05:02 PM.
  2. #2
  3. No Profile Picture
    Gödelian monster
    Devshed Regular (2000 - 2499 posts)

    Join Date
    Jul 1999
    Location
    Central Florida, USA
    Posts
    2,307
    Rep Power
    61
    Don't know enough about your project to give you good advice on the use of XML/XSLT, but I do have one point for you to consider:

    Yes, MySQL is a very simple, programmer-friendly database engine, (No DBA required), but it has substandard support of ANSI SQL, which most of the big database vendors tend to use. Thus, you will find just a few headaches if you want this application to suddenly be used with Oracle or DB2, instead of MySQL.

    Also, if you want to separate logic and presentation, a real DBMS goes a long way. MySQL still doesn't support triggers, Views, constraints, and quite a few other "business logic" features which are standard among the large database vendors.

    PostgreSQL is a harder database system to learn, but it is also open source, and the benefit is, most of your SQL can be standardized to fit well with Oracle, SQL Server, SyBase, etc... Another open source DBMS you might want to consider is Firebird. And honestly, you can freely develop your application using any of the "big 3" database vendors' software, simply by downloading and installing the developer/evaluation version.
    The real n-tier system:

    FreeBSD -> PostgreSQL -> [any_language] -> Apache -> Mozilla/XUL

    Amazon wishlist -- rycamor (at) gmail.com
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2002
    Location
    UK
    Posts
    76
    Rep Power
    12
    actually, i was just roaming around last night, and i had a look at the php adodb class, which allows you to develop for any RDBMS.

    So that should solve the problem of needing to switch to different databases.
  6. #4
  7. No Profile Picture
    Gödelian monster
    Devshed Regular (2000 - 2499 posts)

    Join Date
    Jul 1999
    Location
    Central Florida, USA
    Posts
    2,307
    Rep Power
    61
    You are missing the point. The ADODB class just handles the database connection syntax, so the programmer can simply concentrate on the SQL. It doesn't, and can't have anything to do with the SQL statements themselves, and much less with the fact that different DBMS's support different SQL syntax, and different levels of logical functionality, as I state above.

    If you develop with MySQL using ADODB, and still wanting to support other DBMS's, you will reduce your application to the barest, simplest levels of SQL possible. Having "been there" myself, I personally can't imagine anything more frustrating than trying to develop an invoicing/inventory application without views, triggers, and stored procedures.
    The real n-tier system:

    FreeBSD -> PostgreSQL -> [any_language] -> Apache -> Mozilla/XUL

    Amazon wishlist -- rycamor (at) gmail.com
  8. #5
  9. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2002
    Location
    UK
    Posts
    76
    Rep Power
    12
    oh right.....i get u now . so baring in mind im jst moving up from mysql and am used to using phpmyadmin, which of the 2 would u recommend out of firebird and Postgres

    i assume they both handle foreign keys ?

    is there a phpmyadmin type interface available for either of these ?
  10. #6
  11. No Profile Picture
    Gödelian monster
    Devshed Regular (2000 - 2499 posts)

    Join Date
    Jul 1999
    Location
    Central Florida, USA
    Posts
    2,307
    Rep Power
    61
    I can't give too much advice about Firebird, not having used it, but I have spent plenty of time with both MySQL and PostgreSQL. There is a PHP admin interface at phppgadmin.sourceforge.net, which has some nice features. Also, there is an excellent Windows-based admin kit at pgadmin.postgresql.org (the alpha release for PGAdminII 1.3 is easily as good as most commercial DBMS management tools.)

    Yes, both Firebird and PostgreSQL handle foreign key constraints. As I said, I cannot elaborate much on Firebird, but we had a good discussion on the differences between MySQL and PostgreSQL earlier.

    And here is my FAQ on the topic.
    The real n-tier system:

    FreeBSD -> PostgreSQL -> [any_language] -> Apache -> Mozilla/XUL

    Amazon wishlist -- rycamor (at) gmail.com
  12. #7
  13. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2000
    Posts
    16
    Rep Power
    0

    Tools for jobs


    Look at smarty:

    smarty.php.net

    You can create a *real* templating system with this, not the bizzarro things I see from most PHP applications. Of course it helps if you model your app and not just code away.

    About the database. What's the purpose? I had a client who used Oracle for an app for which MySQL was perfect. If you are going to be writing a banking application, I'd not use MySQL, but if you are just doing some content management, MySQL can be quite handy.

    Peter
  14. #8
  15. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2002
    Location
    UK
    Posts
    76
    Rep Power
    12
    hey - that engine is exactly what i was looking for

    should solve my dilemma now hopefully.

    About the database, the app will be doing stock control, some basic accounting, handling customers and suppliers etc.

    Ive come to the conclusion the PostgreSQL is going to be the right choice for me


    Thanks for all the replies.
  16. #9
  17. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2002
    Location
    UK
    Posts
    76
    Rep Power
    12
    Dudes, give me some advice.

    This application will eventually fit into a b2b environment.

    can smarty help with my problems there or do i need to go back to xml (due to platform independece) ?
  18. #10
  19. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2000
    Posts
    16
    Rep Power
    0
    Originally posted by eemo
    Dudes, give me some advice.

    This application will eventually fit into a b2b environment.

    can smarty help with my problems there or do i need to go back to xml (due to platform independece) ?
    Don't have enough information. Will PHP run on the platform you are using?

    If Answer is yes, then answer is yes.

    I feel I'm not understanding the question. This is all about PHP right? smarty is a php app. Got nothing to do with xml afaics

    Peter
  20. #11
  21. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2002
    Location
    UK
    Posts
    76
    Rep Power
    12
    well i want to create the app so it can do supplier chain linking. so its not neccassary that they will have php on their platform. the only solution that i could really only think of for integration is xml, unless u can think of something else ?
  22. #12
  23. No Profile Picture
    Gödelian monster
    Devshed Regular (2000 - 2499 posts)

    Join Date
    Jul 1999
    Location
    Central Florida, USA
    Posts
    2,307
    Rep Power
    61
    So then mean independence of programming platform, not operating system platform? Smarty templates are PHP-specific, but they will work on any operating system with PHP.

    Are you saying that you will have other programming languages accessing the same web page templates? (Java, ASP, JSP?) If this is the case, then XML/XSLT might not be a bad idea.

    But generally, when I see the term B2B, I think in terms of program logic and content being shared, rather than the front end templates. In this case, you may be able to use PHP templates, but use XML-RPC or SOAP (or on a simpler level, WDDX) to transfer data and programming logic to other online applications.

    Since you seem to be examining application frameworks, I will cast my two cents: I recommend that you choose a framework lets you operate with an MVC (model/view/controller) architecture, this allows for a nice amount of freedom between layers in your application. http://www.jphplib.org is one example, but there are several others. One thing you might like about JPHPLib is that it models itself after the Java standards, which might make it easier for your application to interoperate with Java-based systems. (I cannot specifically recommend it, because I haven't used it yet)

    Here is a good tutorial by Zend on 3-tier architecture with PHP.

    The major application frameworks for PHP at the moment seem to be:

    - www.horde.org
    - www.binarycould.com
    - http://php-fusebox.sourceforge.net/ (a PHP implementation of the Coldfusion framework known as "Fusebox")
    - http://prometheus.zerodivide.net/ (looked interesting at one time, but not as popular now)

    Honestly, the simplicity of PHP has meant that not too many developers bother to learn these frameworks. This is why I recommend at least sticking to the somewhat flexible MVC architecture, which should makes it easier to move from one framework to another.

    Also, I know that Smarty is a very popular templating engine, but IMHO, it does too much. I think templating systems should be extremely simple, with all serious logic being accomplished in your main program architecture. There are actually a couple simple PHP template engines coded in C, as PHP extensions, which are extremely fast (YATS, and php-templates). To each his/her own, though.

    Enjoy your searching...
    The real n-tier system:

    FreeBSD -> PostgreSQL -> [any_language] -> Apache -> Mozilla/XUL

    Amazon wishlist -- rycamor (at) gmail.com
  24. #13
  25. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2000
    Posts
    16
    Rep Power
    0

    Ah Frameworks


    Hi,

    I gotta bow out now as I'm not sure where eemo is going. The last guy gave some good advise but he misspelled binarycloud:

    http://www.binarycloud.com/

    And he mentions that religious war about templates and what they should and should not do

    I think the key is a development framework. I've spend years at Perl and only a few months at PHP. I have a nice framework in Perl and now with Smarty and some Pear classes I've got it in PHP.

    A major problem I have is that I use virtual environments. Nearly all established Perl frameworks require a dedicated host. I see that binarycloud also requires that.

    So eemo, see the other guy's post. He lays it out.
  26. #14
  27. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2002
    Location
    New Mexico
    Posts
    3
    Rep Power
    0

    thanks rycamore for your informed advice


    rycamore, thank you for your informed dialog with eemo. I personally agree with all of your suggestions, and I thank you for being more articulate that I would have been.

    It makes me feel good that professionals such as yourself are willing to share openly with someone who needs it.

    Thanks!
  28. #15
  29. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2002
    Location
    New Mexico
    Posts
    3
    Rep Power
    0

    My Personal Template Choice for small scale websites


    Just on the topic of templates.

    I recently researched PHP templates for my own useage. My personal choice was using the template features of the PHPLIB

    code : https://sourceforge.net/projects/phplib/
    docs : http://www.phpbuilder.com/columns/david20000512.php3

    I work in a shared virtual environments on small scale websites. There are two reasons why I chose this "simpler" template system:

    1) I work with a designer without much programming experience. Keeping the templates as simple as possible reduces chance for error. Also, there is a very low learning curve with simple templates.

    2) PHPLIB templates can use one template file for all kinds of dynamic presentation. The template file is HTML compatable so it can be directly edited using WYSIWYG editors... mostly. I did have some trouble with Dreamweaver replacing the braces { and }, which are needed for PHPLIB template tags, in my javascript popup window scripts with HTML entities. So this is a heads up if you use this template system with Dreamweaver.

    For small scale, PHPLIB was a clear winner. It did take me some thought how to set them up, but once I did so maintainace is easy.

    For medium scale, I may have chosen another template system.

    For enterprise scale, I would chose XML/XSLT mostly because this would allow flexability to change the programming languages and would allow products that you may buy to interact with them.
Page 1 of 2 12 Last
  • Jump to page:

IMN logo majestic logo threadwatch logo seochat tools logo