I really like DWR's approach to AJAX where it creates a clientside representation of your serverside services and marshals between javascript and java. DWR has built in spring integration but it wouldn't be difficult to create a TapestryCreator (using SpringCreator as a reference) to lookup services from the tapestry registry.
http://directwebremoting.org/dwr/index.html http://directwebremoting.org/dwr/documentation/server/integration/spring.html#springCreator http://grepcode.com/file_/repo1.maven.org/maven2/dwr/dwr/1.1.3/uk/ltd/getahead/dwr/create/SpringCreator.java/?v=source http://grepcode.com/file_/repo1.maven.org/maven2/dwr/dwr/1.1.3/uk/ltd/getahead/dwr/Creator.java/?v=source DWR has push support (aka ReverseAjax) but I'm not sure it's bullet proof as Atmosphere. http://directwebremoting.org/dwr/documentation/reverse-ajax/index.html