title: Is it possible to build a Reactive Application using a non-Functional language?
body: <p>I would like to understand if the principles behind the Reactive Application manifesto can be achieved using a <strong>non-functional language</strong>.</p>
  
  <p>Some people say that since FP use immutable states and free side-effects functions, they are easier to implement concurrent, distributed and resilient systems.</p>
  
  <p>But how can we achieve that using Java for example?</p>
  
  <p>There are some frameworks like Apache Camel, that have some components to work with, like <strong>Camel RX</strong>, and <strong>Camel SEDA</strong>. </p>
  
  <p>Are these frameworks enough?</p>
  
  <p><strong>I will try to clarify my question:</strong></p>
  
  <p>I think of reactive programming as new programming paradigm, and a new programming paradigm requires new tools and frameworks.</p>
  
  <p>Functional languages deals with objects differently, that's why there's a lot of articles about FRP working with things event-based and asynchronously.</p>
  
  <p>But now, backing to Java, or other Object Oriented language, let's think in a Web Application:</p>
  
  <ol>
  <li>How can we create a java web application that makes use of good
  event-based frontend. </li>
  <li>These events then pass information asynchronously in a smooth way to the backend. </li>
  <li>The backend can scale easily and be resilient as well.</li>
  </ol>
  
  <p>I know that is possible to create an application that accomplish these requirements using java, and servlets, and EJBs, but my question is, can we do it differently? 
  More close to a reactive approach?</p>
  
  <p>I thought something like this:</p>
  
  <ul>
  <li>A nice ajax framework in the frontend, that makes the "passing information" with the backend smoothly. </li>
  <li>In the backend a way to use a framework or library (Camel SEDA ou Camel RX) to execute things in parallel.</li>
  </ul>
  
  <p>Do you think this is a good approach?</p>