2. Water supports a flexible architecture
In a typical N-tier architecture, each tier requires different languages. For example, the client uses HTML and JavaScript, but the server uses JSP and Java. JSP is not available on the client.
However, Water is a single language that may be used in every tier. This is possible because the Water Runtime can run in every tier, including a browser, web server, application server, email server, and database.
Water interfaces to existing systems such as J2EE, relational databases, legacy systems, file system, email, and web pages. Using a common language across every tier dramatically simplifies the construction of new Web services and programs.
From the developer's perspective, Water provides a consistent method to work with presentation, logic, and data in every tier. A function call is the same in every tier. Local function calls look like remote function calls over HTTP. A function call from a web form to a Water server has the same structure as a function call between two servers. A mail message can also act as a function call.
The business logic runs where it makes the most sense for the business. In other platforms, the technology constrains the deployment architecture because each technology only works within a single tier. Water removes these restrictions and opens up many new possibilities to build and deploy Web services and programs quickly and easily.