跳转到内容

User:DukeAnt/Resin:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
建立内容为“{{ Infobox software | name = Resin | logo = | screenshot = | caption = | collapsib...”的新页面
(没有差异)

2014年6月15日 (日) 12:35的版本

Resin
開發者Caucho Technology
当前版本4.0.39(2014年4月7日 (2014-04-07)[1]
编程语言Java and C
操作系统Cross-platform
类型Web server
许可协议GPLv3 or commercial
网站www.caucho.com

Resin is a web server and Java application server from Caucho Technology. Resin is provided in two versions, Resin (GPL) and Resin Pro. Resin supports the Java EE standard[2] as well as a mod_php/PHP like engine called Quercus.[3]

Resin Open Source is an open source version of the open core Resin Professional version that Caucho describes as "suitable for hobbyists, developers, and low traffic websites that do not need the performance and reliability enhancements of Resin Professional."[4]

Resin Open Source lacks optimizations such as built-in caching and features such as clustering support, advanced administration, and the health system that includes HTTP session replication, Java Monitoring, distributed cache replication, and JMS queue replication. Many of these same features are lacking from Apache Tomcat, and Apache Tomcat is not deemed crippleware.[5] While Caucho describes these as "features and enhancements commonly needed in a production environment", Resin Open Source is used without these features.[4]

Within the "resin-admin" web-based management interface of Resin Open Source the majority of menu options return the message "This feature requires Resin Professional and a valid license. Please download Resin Professional and request a free evaluation license." when chosen. Setting many configuration file options and accessing many API methods do not work and generate log error messages to the same effect. Yet Resin Open Source was still usable enough to beat Apache httpd at serving files [6] and independently picked by Techmepower to represent all Java web frameworks, and ran all of the most popular Java web frameworks on top of Resin Open Source due to its speed, including, Spring, Grails, JRuby, Wicket, and Tapestry,[7] which showed that Java still has the highest overall throughput for web application development.

According to BuiltWith, Resin is used by 0.1% of the top 1 million websites.[8]

Caucho claims that Resin Pro and Resin Open Source is faster than Apache httpd (v 2.4),[6] and therefore focuses on competing with nginx web server. Caucho claims Resin to have comparable speeds to nginx, and that this is one of the reasons for Resin's strong growth.[9] Caucho now claims that Resin Pro is faster than NginX.[10]

Although a Java based server, key pieces of Resin's core networking are written in highly optimized C. Caucho claims Java is the layer that allows Resin to be "full featured" while C provides the speed.[9]

Resin, which was released in 1999, predates Apache Tomcat, and is one of the oldest application servers and web servers.[11]

Product features

Scalability

  • Elastic Clustering / Cloud support[12]
    • 3rd generation clustering optimized for Virtualization 2.0, EC2 and OpenStack deployments[13]
  • Session Replication
  • Load balancing
  • Distributed Cache

Development

  • Class compilation
  • JIT Profiling and heap analysis
  • No GUI required
  • JUnit support
  • Web Admin
  • DevOps support via CLI and REST control of Resin
  • Apache Ant/Maven/Ivy integration
  • IDE integration
  • Flexible project management
  • Logging

Production Ready

  • Reliability
  • Server Monitoring
  • Deployment / Cloud deployment
  • Versioned deployment
  • Merge paths
  • Troubleshooting aids
  • Server health reports, baselining and post mortem reporting[15]
  • Throttling

App Server'

Web Server[18]

  • Static files/JSP/Servlet/JSF
  • Extensible access logging
  • URL rewriting
  • Proxy caching (similar to Squid)
  • Gzip compression
  • SSL
  • Virtual Hosts
  • Comet/Server push
  • WebSocket
  • mod-php like support via Quercus
  • FastCGI

Quercus

Quercus is a Java-based implementation of the PHP 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 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 whereas in the open source version PHP is executed by an interpreter.[19]

Caucho states that Quercus is faster than standard PHP[3][20] although this is only true for the JIT-compiled version in Resin Professional.[21] Quercus ships with Resin.

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.[22] 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 legal status into the products and services offered by earlier users of Resin:

As long as you used standard JSP or Java Servlet APIs you did not have any issues.

Current licensing

Since version 3.0.9, Resin Open Source has been licensed under the GPL License (version 2 or later),[24] a license which has passed through the Open Source Initiative's License Review Process.[25] Consequently current versions of Resin are significantly less hazardous to use or incorporate into software systems than were previous versions.

See also

References

  1. ^ Resin Download. [2014-04-28]. 
  2. ^ 2.0 2.1 Caucho Resin is Officially Certified Against the Java EE 6 Web Profile. Infoq.com. [2012-10-25]. 
  3. ^ 3.0 3.1 PHP on Java: Best of Both Worlds?. Infoq.com. [2012-10-25]. 
  4. ^ 4.0 4.1 Features - Resin and Resin Professional. [2012-02-27]. (原始内容存档于2012-02-27). 
  5. ^ Caucho Resin | Java Application Server | Web Server | Java EE Certified | PaaS/Cloud Ready » resin pro. Caucho.com. [2012-10-25]. 
  6. ^ 6.0 6.1 Apache httpd 2.4 versus Resin Pro and Resin Open Source 4.0.31. Caucho.com. [2012-04-01]. 
  7. ^ Techempower Framework Benchmarks. Techempower.com. [2012-10-25]. 
  8. ^ http://trends.builtwith.com/Web-Server/Resin
  9. ^ 9.0 9.1 Caucho's Resin Application Server Grew by a Factor of Almost Ten Last Year According to Netcraft. Infoq.com. [2012-10-25]. 
  10. ^ NginX 1.2.0 versus Resin 4.0.29 performance tests. Caucho.com. [2012-04-01]. 
  11. ^ About Caucho. Caucho.com. [2012-04-01]. 
  12. ^ Paul Cowan Discusses the Resin Application Server and Cloud. Infoq.com. [2012-10-25]. 
  13. ^ Caucho: Resin Cloud Support: 3rd generation Clustering For Elastic Cloud Scaling (PDF). s3.amazonaws.com. [2012-10-25]. 
  14. ^ Resin Can Now Act As a Drop-in Replacement for Memcached Solution. Infoq.com. [2012-10-25]. 
  15. ^ Caucho Technology » Blog Archive » Resin Pro Health System now and in the future. Blog.caucho.com. 2011-08-26 [2012-10-25]. 
  16. ^ Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java EE Web Profile and beyond. Caucho.com. [2012-10-25]. 
  17. ^ Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java CDI | Candi. Caucho.com. [2012-10-25]. 
  18. ^ Caucho Resin | Java Application Server | Web Server | Java EE Certified | PaaS/Cloud Ready » Resin Web Server. Caucho.com. 2012-02-07 [2012-10-25]. 
  19. ^ Emil Ong, Getting Started With Quercus (PDF), Caucho Technology, 2008-04-09 [2009-08-19]  (accompanying Caucho blog entry,additional copy of PDF)
  20. ^ Powered by Google Docs (PDF). Docs.google.com. [2012-10-25]. 
  21. ^ New Monthly Caucho Newsletter, Caucho Technology, 2008-02-26 [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. :-)). 
  22. ^ Caucho Developer Source License, Version 1.2, Caucho Technology, [2009-01-30] 
  23. ^ Christopher Stacy. Re: Resin vs Tomcat. Newsgrouporg.apache.tomcat.users. 2000-04-21 [2009-01-30]. , archived by WebCite here [1]
  24. ^ Resin GPL'ed, [2009-06-29] 
  25. ^ Licenses approved through the OSI License Review Process by name, Open Source Initiative, [2009-07-28]