Which Web Application Stack Is Best for Me?, Page 3
SQL Anywhere for the Data TierSybase has a product called SQL Anywhere with a unique Web Edition, which is free with no limitations on scalability (unlike SQL Server's and Oracle's free versions). It's a DBMS that actually runs its engine as an application instance (meaning you can have as many engines running as you want). It's highly scalable, from mobile and embedded devices all the way to enterprise applications (so Sybase claims).
For the web developer, there are benefits to using SQL Anywhere as an alternative to the seemingly ubiquitous MySQL. Namely, it is supported on a multitude of platforms (even more so than MySQL), and it actually implements a lot of useful features. For instance, it should put an end to the days of relying on the application to ensure data integrity. Certainly, business logic should remain in the business tier and ORM should be the way to go for data integrity, but checking to make sure that data is consistent (i.e., that all data stored in a database table's column are of specific values) is better handled by the database itself. The use of check constraints and triggers allows the database to handle everything.
SQL Anywhere also includes cool new features like synchronization support, which enables you to take parts of web application data offline for occasionally connected clients. Features of particular interest to web developers are comprehensive GUI administration tools, dynamic cache sizing, and full-text indexing.
Which Stack Is the Right One?Ideally, the choice of stack should depend on the application, not the other way around. However, some stacks have more typical audiences then others:
Start-up and Hobbyist DevelopersLAMP is really great for web sites or web applications of the mass-consumer type. Typically, ease of coding is the key to getting an innovative web site idea up and running. Scaling really becomes a problem only when the application grows to enterprise-caliber. There is no need to pay for other stacks, because the extra functionality won't be used. Without the extra bells and whistles in this stack, it might be easier for a hobbyist or student to learn the inner workings of web applications from it.
SMB DevelopersSMB developers really need to look critically at what their needs are and will be. Setting up a custom (and free) Java web stack could be the solution, but so might a LAMP stack or even a WISA stack. The nice part about the Java web stack is that it presents the most scalability and options should the target deployment OS change. JBoss is newer, but it is really the only way to go if the development can't commit to a deployment just yet.
Enterprise-level DevelopersEnterprise-level developers should consider WISA because those are the environments for which it's intended. For enterprises wishing to place the onus of maintenance on IT or a third partyand not developmentthen this is definitely the way to go. Though, maybe the next version of GlassFish will present an even better enterprise stack.