Hi, all. I'm new to Lift and have a few questions about using it. For background, I'm coming from Ruby to Scala, having finally been frustrated by some aspects of the former enough to try jumping ship. I know Java syntax, but the simplicity of Ruby has always been a powerful draw for me, so when I used Java I always stayed away from Maven and other cornerstones of the Java tool community. I say all of this not to stir up Ruby vs. Scala drama (because we just don't have enough of that already :P ) but to explain that I'm mistified by much of the Java ecosystem, and a lot of what's out there seems to take it for granted that I know all of this. So please pardon my newbie questions, and feel free to point me to the FM on the subject if there is one, because I've certainly been *trying* to RTFM. :) I also recognize that these topics aren't specific to Lift, but I figure I'm likely to find more proponents of low ceremony in the Scala community than I'd find if I seeked out some more general purpose Java enterprise deployment resource.
First...servlets? Web containers? App servers? Oh my. I want to write a few hobbyist apps with Lift and deploy them to my VPS. They may or may not take off, in which case I'd like a solution that can scale to real-world use. Not heavy real-world use, mind you, but I figure a separate VM/port for every app instance is overkill. So what do I need for this? I gather the app server is what handles arranging web apps in a single VM instance, but it's tough cutting through all the enterprise language to figure out which one of these is best for my circumstances, especially since I'm not dealing with legacy code and just want to launch hobbyist/personal projects. And I can't for the life of me figure out whether Tomcat is an app server or something else entirely. This seems so much more complicated than just throwing up a few Mongrels and a load balancer, or reading through the nicely-written Passenger manual and following the step-by-step instructions. I'm sure it has its advantages, I just can't get a grip on how it works. I've also been reading a lot about OSGi and it looks really nice. Am I correct in assuming that OSGi is to Java web apps what Rack is to Ruby ones? OK, maybe not exactly, and I know it's a more general-purpose mechanism (I'm toying with ScalaModules in a desktop app for providing pluggable UIs and other services) but in poking through OSGi articles, I've read a few statements hinting that this is probably the best way to deploy new apps with no legacy dependencies. Is this true? Is an app server actually needed here, or do I just create an OSGi execution environment and start adding bundles? It seems like the way to deploy an app is to build a war file and drop it into a specific directory of your servlet/app server/doohicky-whatamajig serverletcontainerthingie. It also looks as if all apps are installed into the same HTTP namespace, with URL path collisions resolved by editing web.xml and prepending something to the /* for the map elements. Is this accurate? Or is it possible to have the server prepend /myapp or /myapp.war based on the name of the deployed app, then handle the mappings via ProxyPass in the front-end server? That's closer to what I'm used to in Ruby, where the app takes over the URL namespace beneath whatever path you assign it, but it's not clear to me based on what I've read that this happens with Java app servers. Thanks for reading, and again, feel free to respond with a link or google keywords if I'm just missing something obvious. One of the biggest challenges I find myself facing with this move is that most of what I've found assumes a high ceremony->low ceremony migration path, or at least assumes that you've spent enough time in the Java ecosystem at some point to get it. :) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---
