Resin (software)

Last updated
Resin
Developer(s) Caucho Technology
Stable release
4.0.66 [1] / 8 December 2021;3 years ago (8 December 2021)
Written in Java and C
Operating system Cross-platform
Type Web server
License GPLv3 or Proprietary
Website www.caucho.com

Resin is a web server and Java application server developed by Caucho Technology. Currently, only two versions are available: Resin (GPL), which is free for production use, and Resin Pro, designed for enterprise and production environments with a licensing fee. Resin supports the Java EE standard and features a mod_php/PHP-like engine called Quercus.

Contents

Resin (GPL) offers essential functionalities for web and application serving, while Resin Pro includes additional optimizations, such as:

While Resin is primarily Java-based, critical components of its networking infrastructure are written in optimized C, providing a balance of features and performance. Released in 1999, Resin has a long history, making it one of the most mature and well-established application servers and web servers.

Product features

Resin Pro has been engineered to include:

Scalability

Development

Production Ready

App Server

Web Server [9]

Usage

Resin's market share is small in the grand scheme of Java Application Servers, but some high-traffic sites use it, such as the Toronto Stock Exchange, Salesforce.com, Condé Nast (parent company of Wired, Vogue, GQ) and CNET. [10] NetCraft's February 2012 Survey stated Resin grew to 4,700,000 sites; Resin was the only Java-based web server mentioned. [11]

A 2012 page on a Caucho wiki site describes a test procedure, with results showing that Resin tested 0k (empty HTML page), 1K, 8K, and 64K byte files. At every level, Resin matched or exceeded Nginx web server performance. [12]

Quercus

Quercus is a Java-based implementation of the PHP language included with Resin. According to a slideshow presented by Emil Ong (from Caucho) to a San Francisco Java Meetup Group in April 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 to Java bytecode. In contrast, in the open-source version, PHP is executed by an interpreter. [13]

Caucho stated in 2007 that Quercus was faster than standard PHP 5 (PHP 8 with JIT is much faster than older PHP versions; PHP 5 is no longer supported), [14] [15] although this is only true for the JIT-compiled version in Resin Professional. [16] Quercus ships with Resin.

Licensing

One license covers all components of the Resin architecture.

Resin is provided in both an open-source GPL license and a Pro version with enhancements for enterprises.

See also

Related Research Articles

<span class="mw-page-title-main">MySQL</span> SQL database engine software

MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language that programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

<span class="mw-page-title-main">Jakarta EE</span> Set of specifications extending Java SE

Jakarta EE, formerly Java Platform, Enterprise Edition and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web services. Jakarta EE applications are run on reference runtimes, which can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components they are deploying.

An application server is a server that hosts applications or software that delivers a business application through a communication protocol. For a typical web application, the application server sits behind the web servers.

A web container is the component of a web server that interacts with Jakarta Servlets. A web container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester has the correct access-rights. A web container handles requests to servlets, Jakarta Server Pages (JSP) files, and other types of files that include server-side code. The Web container creates servlet instances, loads and unloads servlets, creates and manages request and response objects, and performs other servlet-management tasks. A web container implements the web component contract of the Jakarta EE architecture. This architecture specifies a runtime environment for additional web components, including security, concurrency, lifecycle management, transaction, deployment, and other services.

<span class="mw-page-title-main">Apache Tomcat</span> Java-based HTTP web server environment

Apache Tomcat is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies. It provides a "pure Java" HTTP web server environment in which Java code can also run. Thus it is a Java web application server, although not a full JEE application server.

MySQL Cluster, also known as MySQL Ndb Cluster is a technology providing shared-nothing clustering and auto-sharding for the MySQL database management system. It is designed to provide high availability and high throughput with low latency, while allowing for near linear scalability. MySQL Cluster is implemented through the NDB or NDBCLUSTER storage engine for MySQL.

lighttpd Web server

lighttpd is an open-source web server optimized for speed-critical environments while remaining standards-compliant, secure and flexible. It was originally written by Jan Kneschke as a proof-of-concept of the c10k problem – how to handle 10,000 connections in parallel on one server, but has gained worldwide popularity. Its name is a portmanteau of "light" and "httpd".

WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java-based web applications. It is the flagship product within IBM's WebSphere software suite. It was initially created by Donald F. Ferguson, who later became CTO of Software for Dell. The first version was launched in 1998. This project was an offshoot from IBM HTTP Server team starting with the Domino Go web server.

Hiawatha was a free and open source cross-platform web server developed by Hugo Leisink.

Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Russian developer Igor Sysoev and publicly released in 2004. Nginx is free and open-source software, released under the terms of the 2-clause BSD license. A large fraction of web servers use Nginx, often as a load balancer.

<span class="mw-page-title-main">Rackspace Cloud</span> Cloud computing platform

The Rackspace Cloud is a set of cloud computing products and services billed on a utility computing basis from the US-based company Rackspace. Offerings include Cloud Storage, virtual private server, load balancers, databases, backup, and monitoring.

Oracle WebLogic Server is a Java EE application server currently developed by Oracle Corporation. Oracle acquired WebLogic Server when it purchased BEA Systems in 2008.

<span class="mw-page-title-main">Couchbase Server</span> Open-source NoSQL database

Couchbase Server, originally known as Membase, is a source-available, distributed multi-model NoSQL document-oriented database software package optimized for interactive applications. These applications may serve many concurrent users by creating, storing, retrieving, aggregating, manipulating and presenting data. In support of these kinds of application needs, Couchbase Server is designed to provide easy-to-scale key-value, or JSON document access, with low latency and high sustainability throughput. It is designed to be clustered from a single machine to very large-scale deployments spanning many machines.

The JBoss Enterprise Application Platform is a subscription-based/open-source Java EE-based application server runtime platform used for building, deploying, and hosting highly-transactional Java applications and services developed and maintained by Red Hat. The JBoss Enterprise Application Platform is part of Red Hat's Enterprise Middleware portfolio of software. Because it is Java-based, the JBoss application server operates across platforms; it is usable on any operating system that supports Java. JBoss Enterprise Application Platform was originally called JBoss and was developed by the eponymous company JBoss, acquired by Red Hat in 2006.

Caucho Technology is based in San Diego, CA. It is an information technology company that produces web server software and application server software as well as the originators of Quercus and Hessian open source projects. Caucho Technology was founded in 1998.

<span class="mw-page-title-main">Oracle NoSQL Database</span> Distributed database

Oracle NoSQL Database is a NoSQL-type distributed key-value database from Oracle Corporation. It provides transactional semantics for data manipulation, horizontal scalability, and simple administration and monitoring.

Jelastic is a cloud platform software vendor that provides multi-cloud platform as a service-based on container technology for hosting service providers, ISVs, telecommunication companies, enterprises and developers. The platform is available as public cloud in over 70 data centers, as well as virtual and on-premises servers. Jelastic provides support of Java, PHP, Ruby, Node.js, Python, Go environments, custom Docker containers and Kubernetes clusters.

JEUS is a Korean Web application server which is developed by TmaxSoft. JEUS provides the web application server component of TmaxSoft's middleware-tier framework solution. It has been widely adopted in Korea where it holds the largest (42.1%) share of the market.

References

  1. "Resin Pro Download Archive | Caucho".
  2. "Paul Cowan Discusses the Resin Application Server and Cloud". Infoq.com. Archived from the original on 2012-10-19. Retrieved 2012-10-25.
  3. "Caucho: Resin Cloud Support: 3rd generation Clustering For Elastic Cloud Scaling" (PDF). s3.amazonaws.com. Archived (PDF) from the original on 2015-04-04. Retrieved 2012-10-25.
  4. "Resin Can Now Act As a Drop-in Replacement for Memcached Solution". Infoq.com. Archived from the original on 2012-11-20. Retrieved 2012-10-25.
  5. "Caucho Technology » Blog Archive » Resin Pro Health System now and in the future". Blog.caucho.com. 2011-08-26. Archived from the original on 2012-10-25. Retrieved 2012-10-25.
  6. "Caucho Resin is Officially Certified Against the Java EE 6 Web Profile". Infoq.com. Archived from the original on 2012-08-22. Retrieved 2012-10-25.
  7. "Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java EE Web Profile and beyond". Caucho.com. Archived from the original on 2012-10-01. Retrieved 2012-10-25.
  8. "Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java CDI | Candi". Caucho.com. Archived from the original on 2012-10-24. Retrieved 2012-10-25.
  9. "Caucho Resin | Java Application Server | Web Server | Java EE Certified | PaaS/Cloud Ready » Resin Web Server". Caucho.com. 2012-02-07. Archived from the original on 2012-10-31. Retrieved 2012-10-25.
  10. "Resin Customers | Caucho". Archived from the original on 2014-11-01. Retrieved 2014-11-01.
  11. "February 2012 Web Server Survey | Netcraft". News.netcraft.com. 2012-02-07. Archived from the original on 2012-10-31. Retrieved 2012-10-25.
  12. "NginX 1.2.0 versus Resin 4.0.29 performance tests". Caucho.com. Archived from the original on 2012-08-25. Retrieved 2012-04-01.
  13. Emil Ong (2008-04-09), Getting Started With Quercus (PDF), Caucho Technology, archived from the original (PDF) on 2011-07-08, retrieved 2009-08-19 (accompanying Caucho blog entry Archived 2012-07-16 at archive.today ,additional copy of PDF Archived 2011-07-14 at the Wayback Machine )
  14. "PHP on Java: Best of Both Worlds?". Infoq.com. Archived from the original on 2012-09-29. Retrieved 2012-10-25.
  15. "Powered by Google Docs" (PDF). Archived (PDF) from the original on 2013-10-05. Retrieved 2012-10-25.
  16. New Monthly Caucho Newsletter, Caucho Technology, 2008-02-26, archived from the original on 2013-05-12, retrieved 2013-02-27, I think we're finally getting to the point where we mimic the other implementation of PHP quite precisely (except we have distributed sessions, are faster in compiled mode, etc. :-)).