Category Archives: Newsletter

Caucho Newsletter – May 2015


Resin application server - Java EE 6 Web Profile Certified

Greetings! Let's get you up to speed with what has been going on at Caucho!

Baratine News


 
Baratine 0.9 Release 

We pride ourselves on being able to identify and provide the latest implementation technology for web applications. Considering the sheer number of devices that can now access web apps, the landscape for building these applications is constantly evolving. In order to respond to the growing number of connections, more emphasis is being placed on the asynchronous ability of new apps and this is also a major focus for us.
 
Currently we are working on what we see as the de facto standard for building fully asynchronous, scalable, and independent SOA services in Baratine. We see this technology as the dominant driver of what new applications will need and much of our time has been devoted to building this platform. The upcoming Baratine 0.9 release moves us very close to production ready. You can find more news about Baratine on http://baratine.io or below in the Baratine section.

 

Baratine Projects

Two early projects we are working on as proof of concepts for the Baratine platform are:
 
• Baratine + Lucene – For indexing and searching files stored in the Baratine Distributed File System
• Bartwis – A Baratine clone of a Twitter-toy clone written in PHP & Redis
 
These two projects are close to reaching their final stage and can be explored currently on the baratine github (https://github.com/baratine). We are very excited to see how the community will expand on these applications within the Baratine environment.
The Lucene + Baratine plugin illustrates Baratine’s ability to take a previously written library, that was designed as a fully blocking and locking service, and with just a few lines of Baratine coding, transform it into a fully asynchronous service.
 
The Bartwis project highlights Baratine’s flexibility and performance. We have fully implemented Redis in Baratine to show the magnitude of Baratine’s capabilities. In this example, Baratine transforms simple POJO classes into fully redundant services under the hood, so users are able to use this application to achieve Redis-like functionality with no restrictions on what data structures are supported. In fact, if developers found a particular data structure more efficient than what is available in Redis today, they could simply implement that structure as a Baratine service and receive the microservice and asynchronous capabilities of Baratine automatically.
 
Of course this is just the beginning, head over to our github and take a look at the projects for yourself today!

Resin News


Along with working on the technology to fuel the next generation of web apps, we have continued to improve our long-standing cloud platform in Resin. We are encouraged to see new deployments in the areas of mobile and desktop alike benefiting from Resin’s stable environment as customer’s utilize it in hosted environments as well as on premise at their own sites. We have continued to fix bug requests (see below). If you’re seeing odd behavior in your application, please file a bug at bugs.caucho.com.

• jsee: self signed cert should support Firefox and Chrome default cipher-suites(#5884)
• jsee: self signed cert should check expire (#5885)
• class-loader: excessive reread of jar certificates (#5850, rep by konfetov)
• log: add sanity check for log rollover (#5845, rep by Keith F.)
• deploy (git): use utf-8 to store path names (#5874, rep by alpor9)
• websocket: setTimeout was being overridden by Port keepaliveTimeout (#5841, rep by A. Durairaju)
• jni: on windows, skip JNI for File metadata like length (#5865, rep by Mathias Lagerwall)
• db: isNull issues with left join (#5853, rep by Thomas Rogan)
• websocket: check for socket close on startTextMessage (#5837, rep by samadams)
• log: when log rollover fails, log to stderr (#5855, rep by Rock)
• filter: allow private instantiation (#5839, rep by V. Selvaggio)
• rewrite: added SetRequestCharacterEncoding (#5862, rep by Yoon)
• health: change health check timeout to critical instead of fatal to allow for development sleep (#5867)
• alarm: timing issue with warnings and alarm extraction (#4854, rep by Shinomiya Nobuaki)
• session: orphan deletion throttling needs faster retry time (rep by Thomas Rogan)
• mod_caucho: slow PUT/POST uploads with Apache 2.4 (#5846, rep by Stegard)

Resin v3 to v4 Migration
 

Earlier this year we held an Advanced Resin 4 training session going over the many aspects of Resin that can be utilized for high availability, resilient recovery, and post mortem analysis. Quite a few deployments are still utilizing Resin 3. While Resin 3 is a great platform, we’d like to encourage our users to move to the better performing Resin 4 platform.
 
Resin 4 has significant features including cloud support, application health visibility, and unprecedented high availability.
 
Understandably, there might be current technologies in your application stack that are preventing you from upgrading. Resin 3 support will be sunset in January 2016, we’d like to offer an upgrade path for our current users. If you are currently running Resin 3 and would like a review of your application stack to gauge what would be necessary in an upgrade, contact sales@caucho.com.  Our developers will work with you to mitigate any potential conflicts with your current stack and also help layout similar configurations to get you up and running on Resin v.4 in no time!

Resin 5 is currently in alpha as we continue to implement the Servlet 3.1 (4.0 when available), HTTP 2.0, and WebSocket specs.

Resin 4 Tip


REST config for Nagios

Looking to setup remote monitoring software with your Resin installation?
 
The /resin-admin directory, contains an index page with a “rest” example toward the bottom. You can customize this rest page to get the information about your application that you are interested in.
 
Equivalently, by browsing to the /php/admin/WEB-INF/php/*.rest pages, you can get an example of how JMX values can be extracted from Resin in simple PHP pages. These can then return the result in a format for one of the standard monitoring software plugins such as Nagios.

 


Copyright (c) 1998-2015 Caucho Technology, Inc. All rights reserved.
Caucho®, resin®, quercus® and baratine
TM are registered trademarks of Caucho Technology, Inc.

Caucho Newsletter – January 2015


Resin application server - Java EE 6 Web Profile Certified

January 2015 News

Resin 4.0.43
 

Greetings! Hope your 2015 is off to a great start. We started the year ramping up development for Resin and Baratine. 

Customer Highlight

Congratulations to TouchCommerce for earning a “Digital Power Player” honor by Website Magazine and moving the web forward! See the cover story of the January print issue (p.28)

“As our business expands, Resin Pro provides us with the enterprise class high-availability clustering needed for our RightTouch platform. We chose Resin because it provides great Java monitoring, administration and performance needed to operate a large scale web application”

Soma Bulusu, CIO, TouchCommerce 

http://www.touchcommerce.com/about-us/management-team#bulusu

Resin News


Resin 4

We closed out some lingering bugs and included their fixes in the latest release version 4.0.42. If you are currently running an older version of Resin 4, we recommend upgrading to the latest version as a simple uninstall and reinstall without changing any config.  Bug fixes include:

* Creating DB pools dynamically

* Faster and more full-featured RPM upgrades for simple deployments

* Documenting Resin Anomaly Analyzer for Health Warnings

* Ordering ServletContainerInitializers according to the web

* Fragment order and more!

Resin 3 users migrating to Resin 4 saw an increase in performance because they were able to replicate portions of their applications, reduce load during peak hours, use the latest OpenSSL security bug fixes and more accurately monitor resource consumption.

Please visit the Resin mantis page for a full change log description at:

http://bugs.caucho.com/changelog_page.php

Early release testing is something we provide to allow our end users to have direct, fast, and verified input into our development. If this is something you would like to be involved in, please drop us a line at sales@caucho.com

Look for Resin 4.0.42 on our website, http://caucho.com/products/resin/download

Resin 4 – Documentation Revival!

Based on customer feedback, we will be providing greater detail for some of the most popular Resin installations and setups. Be on the look out for new documentation covering shorthanded syntax, high-availability setups, and details on how to use our health features.

Topics will include:

* Using Resin’s distributed Jcache for performance

* Building a customer RPM for mass rollout

* Using Resin PDF reports for debugging

* Security in Resin

We will be sampling the direct support request setups we have received.

For more insight into a topic, please submit your question by going to:

http://caucho.com/contact-us

Resin 5 alpha!

Resin 5 is currently available for download and includes implementation of JSR 356 Websocket, as well as core Servlet 3.0 specifications JSP, EL and CDI.

Development of HTTP Services is focused Load Balance/Proxy using HTTP/2.0, HTTP Cache, Session distribution and persistence and URL rewriting and dispatch

Read more and download at:

http://resin.caucho.com/v5.0/manual/release-notes/5.0/5.0.0/

Events


Resin Developer Training in San Diego, Feb 23 & 24

Only 5 spaces left!

Join Sean Wiley and learn how some of the largest sites on the web are using Resin for security, performance, software load balancing and caching. Utilize the latest features of Resin Pro for your physical and virtual deployments, including easy techniques for using AWS.

Our training also features a  some of the largest sites on the web are ustime with the Caucho team and speak about your deployment. It includes gourmet coffee, catered lunches and a reception featuring San Diego’s finest culinary delights, microbrews and wines

Topics Include:

* Understand Resin architecture & configuration files 

* Deploy, support, & troubleshoot Java apps on Resin 

* Configure database connectivity for a multitude of data structures

* Configuring dynamic servers to respond to web app traffic & mitigating DDoS attacks 

* Monitor & profile applications using the administration application 

* Secure Resin & Applications running on it 

* Embed Resin for reliable & dynamic OEM solutions 

* Implement application failover for horizontal scaling 

* Utilizing Resin as a private/public/hybrid massive cloud solution 

* Versioned deployment and graceful upgrades for zero downtime  

Questions & Registration Info: Contact Alexandra Garmon

Office: (858) 456-0300 | sales@caucho.com

Ask us for a discount rate for groups of 5 or more!!

Date: Feb 23-24, 2015 (Monday & Tuesday)

Time: 9:30am to 4:30pm PST

Location: 4455 Morena Blvd., Suite 210, San Diego CA 92117 (near airport, hotels & freeways)

Instructor: Caucho Engineer, Sean Wiley

Tuition: $2,200, Register by 2/10/2015 and save $250/enrollee!

 

San Diego Java Users Group



Our last meeting of the year was a great presentation by Brian Sletten entitled Doing REST “Right”. Brian has been speaking on REST for the past 9 years and his presentation focused on how a properly decoupled REST system should function and the benefits it would withhold. 



After two years of hosting the San Diego Java Users Group we are passing the torch to ResMed for the new location of SDJUG meetings. 



More info at: http://sdjug.org

Baratine News


Baratine: 0.8.7 In Progress!

With technologies such as Docker, Mesos, Finagle, and etc., becoming more prevalent in enterprise architectures, Microservices have become more than just another buzz word. Baratine’s premise to lower what is needed in terms of lines of code as well as complexity will undoubtedly push us towards a truly agile and reactive age of infrastructure. Why deal with complex multi-tiered caching when you can have a fully redundant, writable file system, capable of speaking any protocol over REST, Websocket, or HTTP and is capable of sharding and sharing its data to multiple clients asynchronously? Of course, that is just a slice of what Baratine is capable of doing and we are excited to continue pushing forward on this project.

The latest Baratine release will feature a simplified deployment structure allowing for multiple jar deployments to a single pod as well as simplified configuration. Head over to http://baratine.io to download and get started with it today!

Also, we are currently answering questions on our Google Groups forum at:

https://groups.google.com/forum/#!forum/baratine-io


Copyright (c) 1998-2015 Caucho Technology, Inc. All rights reserved.

Caucho®, resin®, quercus® and baratineTM are registered trademarks of Caucho Technology, Inc.

 

Caucho Newsletter – May 2014


Resin application server - Java EE 6 Web Profile Certified

May 2014 News

Resin 4.0.40
 
Happy May! It has been a busy past few months for the Caucho team with exciting new developments. We are on the brink of a cool new open source project release as well as developing Resin 5 (more below). Check out our updated web site that features a better interactive look and feel. If you’ve had a chance to play around on the site, let us know how we did!

The current release is the most stable release of Resin to date and is a maintenance release. We fixed the following bugs:
 
-Resin Administration cross site scripting
-Resin remote deployment
-Quercus: We continue to improve the stability of Quercus as it is a useful tool for those looking to combine PHP and Java

Resin 4.0.40 is now available for download at http://caucho.com/download

 
Resin 5 – Faster and Lightweight
 

Resin 5 is currently under development with a roadmap release of early Q3 2014. With this version we are focusing in on the performance components of Resin including websocket optimizations, our asynchronous servlet implementation, incorporating HTTP 2.0, and Java EE spec updates. Resin’s new packaging will be inline with the anti-fragile and agile wave of technologies.

Resin 5 will feature an even smaller file size as we strip out our jms, ejb, jsf, jca, jcache, apache, and iis implementations. The reason behind this is twofold: it allows us to focus on the architecture vital to performance and reliability and also reduces the possibility of bugs within our codebase. Of course, Resin is pluggable and will still support these technologies (jms, ejb, jsf, jcache) if you need them.

Core Resin 5 development is focused around:

-Clustering revamp
-Deploying revamp
-Configuration revamp
-CDI, EL, other EE specs
-Proxy load balancer
-Http cache
-DB revamp

 …and more!
 

Looking to update your current or legacy architecture to a simple and more efficient model?

Resin 4 offers many advanced features and exceptional performance in a lightweight container. Users migrating from WebLogic or Websphere to Resin will initially find the workflow associated with development and administration differs greatly between the two products. However Resin users tend to find configuration and development to be very natural and efficient, especially compared with other application servers.
 
Architecture migration is slow and cumbersome. However, it is a necessary for highly competitive companies that want the ability to utilize the latest technologies within their product. Whether you are looking to cut back the expensive costs of licensing or want to begin moving your application to a more resource conscious environment, we have a detailed wiki guide that will get you started:
 
 
Who Should Migrate:
 

Current Application Status Action Next steps
Application developed on Resin or Tomcat, deployed to WLS or WAS Migrate to Resin Resin is used in production for highly demanding and heavy load sites. Migrating production deployment to Resin is fast and familiar to developers.
Application uses Servlets, JSPs, or frameworks like Spring, Struts, or Wicket Migrate to Resin Resin is known for its fast Servlet and JSP implementations that offer lightweight, low complexity, yet enterprise-ready stability and reliability
Next generation of the application will use JavaEE 6 Web Profile technologies like CDI or EJB 3.1 Lite Migrate to Resin Resin is a Java EE 6 Web Profile licensee and has high quality early access implementations of CDI (Resin CanDI) and EJB 3.1 Lite that are fully integrated into the application server.
Application uses clustered sessions for improved reliability Migrate to Resin Resin's Clustering implementation offers high reliability, easy configuration, and dynamic clustering for both internal and external cloud deployments
Application integrates or runs side-by-side with PHP applications Migrate to Resin with Quercus Resin include Quercus, Caucho Technology's reimplementation of PHP, written in Java. With Quercus, PHP applications can integrate and/or run side-by-side with Java application in the same container, often with vastly improved performance.
Application testing environment uses an embedded server such as Jetty or Tomcat Migrate to Resin Resin offers a sophisticated embedded test environment that allows not only HTTP request-style testing, but also unit testing for EJB and CDI components.

 
 
 
JDK 7 Certification
 

We are months away from passing Java 7 certification. Resin supports many of the new features in Java 7, including websocket.  Since Caucho was an early implementer of websocket, we are providing a code change for the final Java 7 TCK’s.

Development of Resin 4 has been finalized and we will continue to fix bugs. Our efforts are now focused on Resin 5 and our newest project Baratine http://www.baratine.io, a GPL in-memory service platform.

Java Users Group

We had a packed house for our April Java Users Group as John Clingan from Oracle presented what’s new in Java 8. He covered topics including Lambdas, Functional Interfaces, Type Interfaces, Streams, Java Profiles, and more. He presented cool demos to show what these code implementations look like.
 
The May JUG was a lively “Hands-on workshop for Better Unit Testing” presented by Llewellyn Falco (in Google Glass). We all look at unit testing in a different light. 
 
Caucho engineers Nam Nguyen and Sean Wiley to present the June San Diego JUG
 
Baratine offers unprecedented support for building distributed in-memory resource services and is a culmination of over 16 years of industry experience all packed into a 7MB file size. By allowing your resources to own their own data within the same JVM, Baratine presents a truly object orientated approach to building resource services without developers needing to worry about cache coherency, database migration schema, and performance. Don’t miss out!
 
For more information: http://www.baratine.io

 
New Community Support


 

Resin Google Group

Due to an influx of spam on our forums and improvements made surrounding Google groups, we have moved the community support for Resin to:
 
https://groups.google.com/forum/#!forum/caucho-resin
 
One common question seems to be surrounding the Resin Pro licensing. Resin Pro licensing is available on a yearly or enterprise basis. The optimized features within Resin Pro will function when a valid license is present. Upon expiration, Resin Pro automatically reverts to it’s GPL state. This means that to continue using and benefiting from the performance and administration that Resin Pro provides you will need to keep your license up to date.
 
If you have any questions about what we’re up to or are coming to San Diego in the future, feel free to contact us at sales@caucho.com or (858) 456-0300 and drop by office to say hello and talk code.

 


Copyright (c) 1998-2013 Caucho Technology, Inc. All rights reserved.
Caucho®, resin® and quercus® are registered trademarks of Caucho Technology, Inc.

__________________

Success Note

"After using almost every available application server on the market, Resin’s stability, reliability, and advanced load-balancing make it the obvious choice for us. We selected Resin because of the demands that our high-visibility web site puts on server performance."

-Brandon Cruz / CTO / GoHealth Insurance 
 

Caucho Resources

  Intro to Resin 4

Interview with Paul Cowan
Cloud-optimized Resin Java EE Web Profile Java application server

Interview with Reza Rahman
Resin 4, CDISource and Java EE 7 & 8

Resin Java EE Web Profile
A truly lightweight standards-based runtime that focuses on ease-of-use for web application development (whitepaper PDF)

Resin 4.0 for Cloud Computing
Easily scale web applications in a cloud environment (whitepaper PDF)

Resin RefCardz
The must have Resin cheat sheet for network administrators and developers (PDF)

CDI AOP Tutorial
Java Standard Method Interception Tutorial

Follow Us!

Facebook: Caucho Technology
Resin Twitter page
  Caucho Blog
Caucho Blog

__________________

Contact Us
(858) 456-0300
sales@caucho.com
www.caucho.com


Caucho Newsletter – January 2014

Resin application server - Java EE 6 Web Profile Certified

January 2014 News

Resin 4.0.38
 
We hope everyone is off to a great beginning in 2014! With the start of the New Year we thought it would be beneficial to begin an in-depth review of Resin’s architectural stack. For Part 1, we will dive into the world’s fastest web server that, if you aren’t already, should be taking advantage of! Resin is meant for data-rich and intensive enterprise web applications. As such, the internal components are coded to provide the extra performance and insight needed to give your applications a true edge.
 
General feature updates and bug fixes in 4.0.38:

  • Resin Cluster – Dynamic server improvements to aid in the automatic restart after a triad server has been restarted
  • Resin Cache – Configuration added to maintain minimum thresholds in cloud environments
  • Resin Health – Thread pool analysis from PDF reports now available in new formatting

Visit http://caucho.com/resin-4.0/changes/changes.xtp for a complete list of bug fixes and improvements in this release.
 
Download Resin 4.0.38

 
Resin Essentials (Part 1) – Resin Web Server
 
Resin is engineered to work from end to end with specific thread optimizations made at each level of the architecture. Often is the case that applications will include components chosen by familiarity rather than performance. If your application includes an Apache Web Server, your architecture will handle 40-150% more load with fewer errors by utilizing Resin’s Web Server. If your application includes an NginX server, your architecture will handle 20%-25% more load with fewer errors by utilizing Resin’s Web Server.  In deployment you not only pay this fine in dollars spent on hardware and resources, but also on time managing multiple configuration files. Resin’s Web Server is yet another finely crafted component in an architecture that simply works.
 
Resin Web Server functionality:

  • Powerful and Easy to configure URL rewrite rules
  • Added security and functionality through Virtual Hosting
  • FastCGI so you can work with Python (Django), Ruby (RoR), native PHP, and more
  • Built-in HTTP Proxy Cache so you can speed dynamic pages to near-static speeds
  • Built-in mod_php like support via Quercus
  • Cluster aware load balancer that auto shares loads to new application server nodes
  • Security: Immune to buffer overflow attacks that plague other Web Severs (mostly Java with small, tight, fast JNI/C)  

Resin’s Web Server can make the difference in your application’s ability to seamlessly scale from one to millions of concurrent sessions. As an added benefit, the load balancing and clustering ensure that your application optimizes its resources redundantly across your stack.
 
Scott Ferguson, Chief Architect of Caucho said the following:
 
“For years Resin has not needed Apache httpd as a load balancer or to serve static HTML files and images. With Resin you get a complete web solution. Resin pieces are designed to work together, and designed to be fast and scalable. Performance is easy to demonstrate with our web tier, and it is the same type of performance you can expect throughout our product for session replication, proxy cache, object cache, and more. Using Resin means you value craftsmanship, and are a discerning, informed developer.”

San Diego Java User's Group – January 21

This months San Diego Java User’s Group focused on “Simple and Fun Functional Programming in Java” by Allan Schougaard. It was a very interactive JUG, with audience members debating different code segments and best practices (exactly the kind we want!). On the basis of maintainability, readability, and abstraction we’re sure participants left the meeting with some code refactoring of their own to do!  
 
Abstract: Functional programming is all the rage right now, and for good reason. It promises simpler and faster programs. Some of the holdbacks are that many people believe that it requires you to change programming language. Not so! In this talk I will show that you can use functional programming techniques and reap many benefits in the current incarnation of the Java language.
 
Check out the slide deck on the SDJUG’s site!
 
Please join us at the next JUG scheduled Feb 18, 2014 for a great night!
Visit the SDJUG website
 
 
Moving to the Cloud?
 
As cloud environments continue to mature, more companies are benefiting from migrating towards newer infrastructure. Flexibility, increased collaboration, and disaster recovery are among the top reasons fueling the movement. However, concerns about sensitive user data and having to rearchitect legacy apps mean in house systems will not be going away anytime soon. Whether a public, private, or hybrid environment is right for you, Resin is architected to work in all environments. For those wanting to port certain applications to the cloud, check out our cookbook on how to deploy Java apps on Amazon EC2:
 
http://wiki4.caucho.com/Java_EE_Cloud_application_deployment_with_Amazon_EC2
 
 
Tip of the Month


 

Enabling Resin Web Administration

Since the resin-admin is just a web-app implemented with Quercus/PHP, enabling it is just adding an appropriate <web-app> tag.
 
To enable the /resin-admin, you'll need to create an admin user and password.

  1. Create an admin user following the prompt at /resin-admin.
  2. Copy the conf/admin-users.xml.generated to conf/admin-users.xml.
  3. Change the resin_admin_external to true if you need access from a non-local IP address.
  4. Browse /resin-admin with an HTML 5 browser. 

The steps are for security reasons. Copying the admin-users.xml verifies that you have access to the server. And the default resin_admin_external=false makes sure you're not exposing the /resin-admin to the internet.
 
A detailed walkthrough can be found here!

Quercus Corner


As the PHP adoption rate continues to grow, we continue to make improvements to Quercus.  The Agile movement has led to more client-side scripting and Quercus continues to bridge the gap to the server side Java components. Quercus highlights: 

  • Meets or exceeds the performance of the C PHP implementation with common PHP applications
  • Optimized compilation of PHP to Java
  • Single process model of Java reduces unnecessary switching overhead
  • Shared data allows for caching across multiple requests
  • Java implementation eliminates many traditional security problems such as buffer overflows
  • Input/output filtering for cross site-scripting and other attacks is simple with Java EE
  • Natural, high performance integration of Java libraries in PHP applications
  • Allows Java developers to use PHP as a front-end technology

Download Quercus Today!

 


Copyright (c) 1998-2013 Caucho Technology, Inc. All rights reserved.
Caucho®, resin® and quercus® are registered trademarks of Caucho Technology, Inc.

__________________

Success Note

"Here at IBRC, we use Resin 4 to maintain high availability and secure transmissions for our flagship SaaS product Open-Line Customer Experience Improvement Tool™.  We take full advantage of load balancing and SSL encryption to achieve our goals of making Open-Line always available and secure to all who use it."

- Stewart Morse 
www.ibrc.com

Caucho Resources

  Intro to Resin 4

Interview with Paul Cowan
Cloud-optimized Resin Java EE Web Profile Java application server

Interview with Reza Rahman
Resin 4, CDISource and Java EE 7 & 8

Resin Java EE Web Profile
A truly lightweight standards-based runtime that focuses on ease-of-use for web application development (whitepaper PDF)

Resin 4.0 for Cloud Computing
Easily scale web applications in a cloud environment (whitepaper PDF)

Resin RefCardz
The must have Resin cheat sheet for network administrators and developers (PDF)

CDI AOP Tutorial
Java Standard Method Interception Tutorial

Follow Us!

Facebook: Caucho Technology
Resin Twitter page
  Caucho Blog
Caucho Blog

Caucho Forum

__________________

Contact Us
(858) 456-0300
sales@caucho.com
www.caucho.com