javascript + java = msjs

4 views
Skip to first unread message

wolffiex

unread,
Apr 24, 2010, 11:32:58 AM4/24/10
to couchdb-jvm-integration, pabl...@gmail.com
Hi guys,
We've been working on a framework for building server-connected,
browser-based apps with java back-ends. We call our project "msjs" and
we use jQuery + Rhino on the server to build up a valid XHTML web page
and then send it down to the client, with all of the AJAX callbacks in
place. msjs also has features for server-push. Here's the link:
http://openmsjs.org

The cool thing, Java-wise, is LiveConnect, which you may remember from
Netscape 4 days. It's still alive and well in Rhino, and it means you
can go like:
var queue = new java.util.concurrent.ConcurrentLinkedQueue();
while( !queue.offer({foo: 1, bar:[1,2,3]}) ){
queue.take();
}

Anyway, msjs is beyond the scope of just a Java library for CouchDB,
but we've found that it's a nice way to connect web browsers to the
stuff that Java's good at: transactional business logic, shared
mutable data structures, that kind of thing. It's packaged as a war,
so you should be able to just drop it into your existing project.

We have a tutorial that gives you an idea of what it's like to program
in msjs here: http://openmsjs.org/wiki/display/msjs/Your+first+msjs+app

We've also built a multi-host CouchDB admin tool using the system that
you can find out more about here:
http://openmsjs.org/wiki/display/msjs/Chaise

We'd love to hear from you! Thanks,
Adam Wolff


--
Subscription settings: http://groups.google.com/group/couchdb-jvm-integration/subscribe?hl=en-GB

Adam Wolff

unread,
Apr 24, 2010, 12:53:06 PM4/24/10
to couchdb-jvm-integration
Oh, and I should have said: because msjs is all about JSON, javascript, and http, it's a great fit with CouchDB.

A

Darran

unread,
Apr 27, 2010, 4:39:07 PM4/27/10
to couchdb-jvm-integration
Hi Adam,
Looks good. I`ll give the CouchDB client a go.

I`d be interested to know why you choose Guice over Spring for your
DI.
I`ve been working on a project recently and found Guice to be a bit
lacking compared to Spring especially
with regards to transactions.

Darran

On Apr 24, 5:53 pm, Adam Wolff <awo...@gmail.com> wrote:
> Oh, and I should have said: because msjs is all about JSON, javascript, and
> http, it's a great fit with CouchDB.
>
> A
>
> On Sat, Apr24,2010at8:32AM, wolffiex <awo...@gmail.com> wrote:
> > Hi guys,
> > We've been working on a framework for building server-connected,
> > browser-based apps with java back-ends. We call our project "msjs" and
> > we use jQuery + Rhino on the server to build up a valid XHTML web page
> > and then send it down to the client, with all of the AJAX callbacks in
> > place. msjs also has features for server-push. Here's the link:
> >http://openmsjs.org
>
> > The cool thing, Java-wise, is LiveConnect, which you may remember from> Netscape4days. It's still alive and well in Rhino, and it means you
> > can go like:
> > var queue = new java.util.concurrent.ConcurrentLinkedQueue();> while( !queue.offer({foo:1, bar:[1,2,3]}) ){
> >    queue.take();
> > }
>
> > Anyway, msjs is beyond the scope of just a Java library for CouchDB,
> > but we've found that it's a nice way to connect web browsers to the
> > stuff that Java's good at: transactional business logic, shared
> > mutable data structures, that kind of thing. It's packaged as a war,
> > so you should be able to just drop it into your existing project.
>
> > We have a tutorial that gives you an idea of what it's like to program
> > in msjs here:http://openmsjs.org/wiki/display/msjs/Your+first+msjs+app
>
> > We've also built a multi-host CouchDB admin tool using the system that
> > you can find out more about here:
> >http://openmsjs.org/wiki/display/msjs/Chaise
>
> > We'd love to hear from you! Thanks,
> > Adam Wolff
>
> > --
> > Subscription settings:
> >http://groups.google.com/group/couchdb-jvm-integration/subscribe?hl=e...

Adam Wolff

unread,
Apr 29, 2010, 11:15:16 PM4/29/10
to couchdb-jvm...@googlegroups.com
Hi Darran,
Sorry for the late reply. I do hope you'll check our stuff out.

As for Guice, I like it because it's simple and it doesn't do too much. This is just opinion, but my feeling is that people use Spring for both DI and configuration. My feeling is that DI should be done kinda before runtime, whereas configuration is a runtime thing. We use commons config for our configuration, and it works great: http://commons.apache.org/configuration/

Anyway, I hope that's not much of a rant! Best,
Adam
Reply all
Reply to author
Forward
0 new messages