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

Posts Tagged ‘bam’

Newer Entries »

Engineering update

Wednesday, July 2nd, 2008

This week has been (and will be) mostly an engineering week for me, but it’s an exciting one so I thought I’d let everyone know what’s going on.  First, I’m working on improving BAM to be easier to use from a developer’s point of view.  Essentially we moved to an introspected service instead of a strict interface for receiving events.  To give an example, the main BAM interface for receiving events is BamStream.  It contains methods like the following:

GeSHi Error: GeSHi could not find the language java5 (using path /var/resin/hosts/blog.caucho.com/webapps/ROOT//wp-content/plugins/codesnippet/lib/geshi/) (code 2)

There are similar methods for queryGet, querySet, etc. These methods are event handlers that are called on a service when a new message or query arrives for the service. The problem with this is you might have to write the following dispatch pattern:

GeSHi Error: GeSHi could not find the language java5 (using path /var/resin/hosts/blog.caucho.com/webapps/ROOT//wp-content/plugins/codesnippet/lib/geshi/) (code 2)

This isn’t too bad, but it looks messy when you have a ton of different message types. To fix the problem, we’ve written a base class called GenericService. Now instead of writing the code above, you would extend GenericService and write the following:

GeSHi Error: GeSHi could not find the language java5 (using path /var/resin/hosts/blog.caucho.com/webapps/ROOT//wp-content/plugins/codesnippet/lib/geshi/) (code 2)

This is equivalent to the code before, but now we do the dispatch for you. Under the covers, there’s some reflection magic going on, but basically all you have to do is make methods that match the right signature and use parameter annotations like @Message, @QueryGet, @Presence, etc.

In other news, I’ve also been making sure that WordPress Mu works with Quercus. There were a couple of buglets, but those are fixed in the trunk now and it should be ready to go with Resin 3.2.0, due out in about 2-3 weeks. I put up a wiki page that describes how to do the installation. It’s a bit long right now, but hopefully we’ll soon be getting a Debian install that reduces the steps by half.

Tags: bam, quercus, wordpress mu
Posted in Engineering | No Comments »

BAM update

Tuesday, June 10th, 2008

The last two weeks have been pretty engineering heavy for me, thus the slow pace of updates. ;-) What I’ve been working on are several BAM-related technologies. First, the Sudoku demo has been simplified and clarified. I’ll be writing a tutorial based on it soon which I’m also hoping to publish in the Flash & Flex Developers’ Magazine. Next, I’ve been working on building a PHP/BAM bridge. This is pretty exciting and shows the real power of Quercus: you can write true event-based programs in PHP. This is not something that is done easily or cleanly in the C implementation of PHP. The first example of this will be an XMPP chat server. Basically we’re moving PHP beyond the realm of simple HTTP web applications to have the full power of the Java platform.

Tags: bam, php, quercus, xmpp
Posted in Engineering | No Comments »

Hessian articles in Flash & Flex Magazine

Friday, June 6th, 2008

I’ve got a couple of articles in the latest Flash & Flex Magazine about Hessian. You can even download one of them!

I’m submitting another article on using BAM with a Flash client that should hopefully be out later in the summer.

Tags: bam, flash, flex, hessian
Posted in Evangelism | No Comments »

NY JavaSIG followup

Friday, May 23rd, 2008

Thanks to Frank Greco and everyone who came out to see my presentation at the NY JavaSIG. I got some great questions and it looked like a lot of people were starting to understand the problems with interactive applications using HTTP. BAM is the way to go! Anyway, here are the slides from my presentation: NY JavaSIG slides on BAM/HMTP

And, a correction: During my presentation, I stated that there is no standard intereface for Comet on the server. While technically true, the new Servlet 3.0 draft spec has an API. Someone mentioned this during the Q&A and I said that while I had looked at the spec, I didn’t actually see the Comet references in there. Well, they are there in Section 2.3.3.3. I haven’t had a chance to review the spec thoroughly, but it looks like a nice compromise. Webtide’s Greg Wilkins has a nice intro here that features Comet use cases in Servlet 3.0. There were a lot of attempts to create Comet APIs from us, Jetty, Tomcat, and Glassfish, so if we can standardize on something reasonable, that will help everyone. It still doesn’t change the fact that HTTP was not designed for this kind of interaction though.

Tags: bam, comet, hmtp, javasig, nyjug, servlet
Posted in Engineering, Evangelism | No Comments »

Live from New York…

Wednesday, May 21st, 2008

Just a quick note: I’m sitting in the Brooklyn Bagel & Coffee Company on 8th Ave (Free Wifi!) with about 2.5 hours until my presentation at the NY JUG on BAM/HMTP. There’s a demo up here that I’ll be presenting during the meeting. It’s good enough to see what’s happening at the moment, but it will get even better in the coming weeks and might even be posted as a Facebook application.

See you at the JUG!

Tags: bam, facebook, hmtp, nyjug
Posted in Evangelism | No Comments »

Newer Entries »

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 ®