main website home
  • About this blog

    This blog features updates, opinions, and technical notes from Caucho engineers about Caucho products, the enterprise Java industry, and PHP. Caucho Technology is the creator of the Resin Application Server and the Quercus PHP in Java engine. A leader in Java performance since 1998, Caucho is a Sun JavaEE licensee with over 9000 customers worldwide.
  • Tags

    ajaxworld bam candi cdi cloud cluster comet configuration deploy devoxx eclipse ejb embedded flash flex google app engine hessian hmtp ioc java ee 6 javaone javazone jms messaging newsletter nyjug osgi php pomegranate quercus resin resin 4.0 REST servlet sfjug silicon valley code camp spring testing training tssjs watchdog webbeans web profile websockets wordpress
  • Meta

    • Register
    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
« Resin 4.0 clustering
Resin balloons? »

Resin 4.0.0 Task List

Based on feedback from customers, we’re adding more changes to 4.0.0 instead of spreading the changes through the 4.0.x release. People would like to see all the major changes at once, rather than dealing with new changes every two months. The tradeoff, of course, is that the 4.0.0 release will take longer to complete.

The tasks fall into three major categories:

  • WebBeans/IoC configuration
  • Clustering
  • OSGi, Maven, classloading

Because the OSGi, etc, are additions, not changes, we might keep them undocumented for 4.0.0.

Because Quercus is a series of bite-sized bug fixes, it does not have a specific 4.0.0 requirement.

WebBeans/IoC configuration

The config changes must be complete for 4.0.0 because we want to avoid major configuration changes more than once.

Backward compatibility will be maintained, but the documentation will change to reflect the new syntax.

  • Complete implementation of the WebBeans draft:
    • Injection and Binding
    • Interceptors and Decorators
    • Events
    • XML configuration
    • Scopes and EL integration
    • EJB integration
  • Conversion/Modularization of Resin configuration:
    • BAM: change <bam-service/> to <bam:Service/>
    • DistCache: change <persistent-store> to <cluster:TriadCache/>
    • Security: change <authenticator> to <sec:XmlAuthenticator>
    • Rewrite: change <dispatch> to <rewrite:Dispatch>
    • EJB: change <ejb-stateless-bean> to <ejb:Stateless/> and <ejb-server> to <ejb-r:EjbServer/>
    • JMS: change <jms-queue> to <jms:MemoryQueue>
    • JPA: change <jpa-persistence> to <amber:Persistence/>
    • Remote: change <remote-client> to <remote:HessianService url=”/foo”/>
    • Service: change <jmx-service> to <admin:JmxService/>
    • ProxyCache: change <cache> and <cache-mapping> to <proxycache:ProxyCache/>
    • bean, resource, component: replaced by WebBeans equivalent
    • OSGi: change osgi-bundle to <osgi:Bundle/>
    • JCA: change resource-adapter/connector to <jca:ResourceAdapter/>

Clustering

Clustering changes for 4.0.0 must be complete because the dynamic server addition/removal must be seamless for all clustering capabilities.

  • Triad infrastructure
    • Configuration for triad system
    • Dynamic addition/removal of servers
  • BAM infrastructure
    • Clustered BAM with addressable services (”distcache@baa.app-tier.admin.resin”)
    • Authentication/Security for administration messages
    • Isolation of admin BAM address space from user BAM address space
    • Convert lifecycle sync to BAM (startup, shutdown messages)
    • Convert watchdog to BAM
    • Convert dist JMX to BAM
    • Convert clustered JMS to BAM
    • Batching and queuing of admin BAM services
  • Distributed Caching
    • General clustered triad caching infrastructure
    • Distributed sessions layered on new caching infrastruture
    • Performance and stress work
    • Public API (jcache?) for general caching
  • Deployment
    • Distributed .git repository using BAM for communication
    • Distributed deployment/version map
    • web-app deployment from dist .git repository
    • host deployment from dist .git repository
    • command-line config deployment from dist .git repository
    • eclipse integration
    • ant/maven integration
  • Load balancing - Load balancing update to triad system
  • JMS -Clustered JMS must change to the triad/bam system

OSGi, Maven, ClassLoading

Because these are additions, not changes, we may put them off until 4.0.1 instead of adding them to 4.0.0.

  • Jar repository
    • Shared 3rd-party jars in ${resin.home}/library
    • Loaded/dependencies by Maven pom in web-app
    • Distributed with clustered deployment
  • OSGi
    • OSGi-aware Resin classloaders
    • OSGi bundles loaded from ${resin.home}/library
    • OSGi bundles configured with WEB-INF/web-beans.xml for beans and services
    • OSGi services configured with @OsgiService

This entry was posted on Tuesday, January 13th, 2009 at 11:44 am and is filed under Engineering. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

You must be logged in to post a comment.


Caucho Technology is proudly powered by WordPress and Quercus®
Entries (RSS) and Comments (RSS).

  • HOME |
  • CONTACT US |
  • DOCUMENTATION |
  • BLOG |
  • WIKI 4 |
  • WIKI 3 |
  • Resin: Java Application Server
Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
caucho® , resin® and quercus® are registered trademarks of Caucho Technology, Inc.
resin® is a cloud optimized, java® application server that supports the java ee webprofile ®