<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Manifesto</title><link>https://sourceforge.net/p/rupy/wiki/Manifesto/</link><description>Recent changes to Manifesto</description><atom:link href="https://sourceforge.net/p/rupy/wiki/Manifesto/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 13 Mar 2015 09:59:56 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/rupy/wiki/Manifesto/feed" rel="self" type="application/rss+xml"/><item><title>Manifesto modified by Anonymous</title><link>https://sourceforge.net/p/rupy/wiki/Manifesto/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;strong&gt;Creativity&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;With rupy I wanted to remove all obstacles and annoyances programmers experience when developing web applications with other Java HTTP servers. With rupy the compile-bundle-hotdeploy roundtrip (turnaround) is a couple of seconds which increases productivity and allows for a more creative "experimental" style of development. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Simplicity&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;You want to serve active HTML? We figured that precompiling the Services before deployment would be simpler than traditional server-side JSP compiling; so we built a Java/HTML &lt;a class="" href="http://rupy.googlecode.com/files/page-0.6.zip" rel="nofollow"&gt;processor&lt;/a&gt;, which transforms a HTML page with plain Java in it, to a Java class that prints HTML. Simple!&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Agility&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;You won't need to restart Rupy every time you edit a Service (the equivalent of Servlets), there's no servlet context to be reloaded and your session state will be kept out of the box; without "out of memory" issues. This is specially welcomed when you design dynamic GUIs with Ajax and JSON since you don't have to login &lt;strong&gt;again&lt;/strong&gt; every time you redeploy.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;With rupy you can remote &lt;a class="" href="../Deployment"&gt;hot-replace&lt;/a&gt; a major refactoring, without &lt;em&gt;any&lt;/em&gt; kind of interruption for your end users and &lt;em&gt;directly&lt;/em&gt; from your development station to the dev, staging or live environment cluster. &lt;/p&gt;
&lt;p&gt;Configuration by hot-deployment enables you to write all configurations directly in the java code instead of having the traditional XML configuration which often requires a reboot, is typo prone and always induces an extra learning step. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;This is particularily useful if you have a dev environment against which you test some external integration, use a property that you initialize rupy with to separate the different environments from each other.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Once you try this you will never go back to fragmented environment development. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Design&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Rupy &lt;a class="" href="http://rupy.se/doc" rel="nofollow"&gt;API&lt;/a&gt; and core &lt;a class="" href="http://code.google.com/p/rupy/wiki/Design" rel="nofollow"&gt;design&lt;/a&gt; was built from the ground up to be simpler than the JSP and Servlet API's and their existing implementations without losing any needed functionality. &lt;/p&gt;
&lt;p&gt;At the end of 2003, Greg Wilkins, the author of the Jetty Web container and contributor to the Servlet specifications, blogged about some issues with Servlets: &lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;No clear separation between the protocol concerns and the application concerns. &lt;/li&gt;
&lt;li&gt;Unable to take full advantage of the non-blocking NIO due to blocking IO assumptions. &lt;/li&gt;
&lt;li&gt;Full Servlet Web containers are overkill for many applications. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Modularity&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ideally, you should be able to choose your tools and fix or replace a broken tool quickly. That's what modular software is all about, like binary lego. Dividing your application over many servers is a proven approach to scalability and provides a clear separation of the architectural interfaces. See &lt;a class="" href="http://queue.acm.org/detail.cfm?id=1142065" rel="nofollow"&gt;this&lt;/a&gt; interview with the Amazon CTO on SOA. &lt;/p&gt;
&lt;/blockquote&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Fri, 13 Mar 2015 09:59:56 -0000</pubDate><guid>https://sourceforge.net9ba67e2f88744165893d720e174397bb66751a04</guid></item></channel></rss>