About PrudencePrudence is an open source container and framework for scalable web frontends and network services. It comes in several flavors: Python, Ruby, Clojure, JavaScript, PHP and Groovy. Your applications can support rich clients (AJAX), thin clients (pure HTML), and happy mixes between the two. Prudence addresses real-world, practical concerns, from virtual hosting and URI rewriting to flexible server- and client-side caching.
Prudence stands out from other containers in that it is designed from the ground up to scale. It adheres to proven REST principles, which work with the web's inherently scalable architecture, rather than trying to awkwardly force it into other paradigms. Code runs on a JVM: dependable, fast and portable. Each flavor comes with a data-driven demo application, showing how to integrate Prudence with database backends. The detailed tutorial is a great place to start! All you need is a Java 5 Standard Edition environment or above, though no Java coding is necessary. Whether it's Python, Ruby, Clojure, JavaScript, PHP or Groovy, Prudence keeps you within the paradigms and idioms relevant to that language and its culture. If you do use Java, Prudence still has a lot to offer you as a great container for your Restlet applications: a lean, REST-centric substitute for servlet/JEE containers and GWT. (Prudence does not require nor use Java Enterprise Edition extensions.) Prudence's Restlet sugar is also available as an embeddable, standalone library. |
FeaturesPrudence makes it very easy to create REST resources. In minutes, you can write code to process and answer an HTTP "PUT" or "GET" with a representation of your resource, and attach this code to a URL. Format negotiation with the client is handled automatically. It's easy to support conditional HTTP and avoid unnecessary processing. Additionally, Prudence offers classic HTML generation by letting you embed code "scriptlets" into text documents, similarly to how PHP, JSP and ASP platforms work. Scriptlets can be written in any of the supported programming languages, or you can choose better-performing, more manageable templating languages: Succinct and Velocity are both included. Prudence goes a step beyond similar platforms by offering powerful fine-grained caching of your generated results using pluggable cache backends, including built-in support for Hazelcast and memcached. Development is quick, powerful and fun! Prudence picks up and compiles your changes on-the-fly, making sure to update its cached code base. It offers runtime debugging information and robust logging. Diligence and PrudenceWe at Three Crickets originally designed and developed Prudence to help us create our own products. Its counterpart is Diligence, a super-scalable data-driving backend. Together, they make Diligence and Prudence, a complete stack for easily creating cloud-ready applications in the language of your choice. We plan on eventually releasing Diligence as open source, too. Stay tuned! |

