Question: I have a rather unusual idea. I want to run a single instance of a Java EE application client inside app server, in a similar way that JMS provider is run/embedded "within" the app server, so that it is started and stopped with the app server. Why? To ease deployment and maintenance of a complex distributed Java EE system which has application client as part of its architecture.

So:

1. There is only one application client on each server where there is app server (Glassfish).
2. I would like to have the application client run in the same start-stop cycle as the application server, and not as a totally separate entity run under a (apache or similar) system service wrapper.

Is this possible?

Answer: 
You can use [WebKit.NET](http://webkitdotnet.sourceforge.net/). This is a C# wrapper for WebKit, which is the rendering engine used by Chrome.
Update for 2014:

I use [geckofx](https://bitbucket.org/geckofx), a healthy open source project that (as of this writing) keeps up to date pretty well with the latest Firefox releases.

To embed Chrome, you might consider another healthy looking open source project, [Xilium.cefGlue](https://bitbucket.org/xilium/xilium.cefglue/wiki/Home), based on  [The Chromium Embedded Framework (CEF)](https://code.google.com/p/chromiumembedded/).

Both of these support WPF and Winforms, and both projects have support for .net and mono.