Resin Server
Encyclopedia
Resin is a software product, a web server
Web server
Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....

 and Java application server
Application server
An application server is a software framework that provides an environment in which applications can run, no matter what the applications are or what they do...

 from Caucho Technology. Resin is provided in two versions, Resin Professional and Resin Open Source (GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

).

Resin Open Source, with reduced optimization and other features, is essentially a crippleware
Crippleware
In economics, a damaged good is a good that has been deliberately limited in performance, quality or utility, typically for marketing reasons as part of a strategy of product differentiation.-Computer software:Deliberately limited programs are usually freeware versions of computer programs that...

 version of the Professional version. This is a common practice in the commercial software industry. However Resin is notable in that unlike the crippleware versions of many products the source code of its Open Source version has been made available and licensed in a manner that donates it to the software community at large for partial or complete re-use.

According to Caucho Technology marketing material, Resin Open Source is suitable for hobbyists, developers, and low traffic websites that do not need the performance and reliability enhancements of Resin Professional. Resin Professional would add features and enhancements commonly needed in a professional production environment.

Product features

Scalability
  • Clustering
  • Distributed sessions
  • Load balancing

Development
  • Class compilation
  • Profiling and heap analysis
  • No required
  • JUnit
    JUnit
    JUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks collectively known as xUnit that originated with SUnit....

     support
  • Apache Ant
    Apache Ant
    Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects....

    /Maven
    Apache Maven
    Maven is a build automation and software comprehension tool. While primarily used for Java programming, it can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and...

    /Ivy
    Apache Ivy
    Apache Ivy is a transitive relation dependency manager. It is a sub-project of the Apache Ant project, with which Ivy works to resolve project dependencies. An external XML file defines project dependencies and lists the resources necessary to build a project...

     integration
  • IDE integration
  • Flexible project management
  • Logging

Production Ready
  • Reliability
  • Monitoring
  • Deployment
  • Versioned deployment
  • Merge paths
  • Troubleshooting aids
  • Throttling

Others
  • Static files/JSP
    JavaServer Pages
    JavaServer Pages is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types...

    /Servlet
    Java Servlet
    A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers...

    /JSF
    JavaServer Faces
    JavaServer Faces is a Java-based Web application framework intended to simplify development integration of web-based user interfaces....

  • Transaction Support
  • Extensible access logging
  • URL rewriting
  • Proxy caching
  • Gzip compression
  • Virtual hosts
  • Comet
    Comet (programming)
    Comet is a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it. Comet is an umbrella term, encompassing multiple techniques for achieving this interaction. All these methods rely on features included by...

    /Server push

Quercus

Quercus is a Java-based implementation of the PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

 language that is included with Resin. According to a slideshow presented by Emil Ong (from Caucho), to a San Francisco Java Meetup Group in April of 2008 pertaining to Resin 3.1, an essential difference in the operation of Quercus between the Resin Open Source and the Resin Professional editions is that in Resin Professional the PHP is compiled
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 to Java bytecode
Bytecode
Bytecode, also known as p-code , is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code...

 whereas in the open source version PHP is executed by an interpreter
Interpreter (computing)
In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language...

.

Licensing

Early versions of the Resin Open Source product were released with problematic licensing but more recent versions are available under a conventional open source license.

Early licensing

The software license under which Resin was initially released deviated significantly from the conventional definition of open source software. Initially Resin was non-redistributable, and the copyright of any improvements made to the code of the application, if communicated to others, became the property of Caucho Technology. Furthermore, the license stipulated that if any legal action arose out of breach of the licensing terms and a court decision was granted in favor of Caucho Technology all of Caucho's legal expenses must be paid by the licensee. Hence even firms and individuals simply using the software may have been exposed to substantial risk had Caucho found them in breach of any term of the license.

Previous licensing terms for the product included the following, which may have introduced something like a copyleft
Copyleft
Copyleft is a play on the word copyright to describe the practice of using copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work...

 legal status into the products and services offered by earlier users of Resin:

Current licensing

Since version 3.0.9, Resin Open Source has been licensed under the GPL License (version 2 or later), a license which has passed through the Open Source Initiative
Open Source Initiative
The Open Source Initiative is an organization dedicated to promoting open source software.The organization was founded in February 1998, by Bruce Perens and Eric S. Raymond, prompted by Netscape Communications Corporation publishing the source code for its flagship Netscape Communicator product...

's License Review Process. Consequently current versions of Resin are significantly less hazardous to use or incorporate into software systems than were previous versions.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK