[Lift] Re: Deployment questions and little Java web dev experience
The line is blurring. With EJB 3.1 (Java EE 6) there is talk of using various profiles so that you can essentially deploy a WAR file that bootstraps a subset of an application server feature set within a servlet container. OpenEJB already does something like this: http://openejb.apache.org/ Derek On Tue, Jun 23, 2009 at 1:54 PM, Jeppe Nejsum Madsen je...@ingolfs.dkwrote: On 23 Jun 2009, Naftoli Gugenhem wrote: What's the difference between an application server and a servlet container? Depends on who you ask :-) Application server usually means a J2EE implementation which support things such as EJBs, message services, transaction monitors, database pools (and a servlet container). A servlet container, as the name implies, is a service that can be used to host servlets. So while applications can run using only a servlet container, an application server typically means a servlet container and a lot of extra services which you may or (most likely) may not need. /Jeppe --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Deployment questions and little Java web dev experience
I hadn't seen openejb before, thanks for the reference! Kris On Wed, Jun 24, 2009 at 8:35 AM, Derek Chen-Beckerdchenbec...@gmail.com wrote: The line is blurring. With EJB 3.1 (Java EE 6) there is talk of using various profiles so that you can essentially deploy a WAR file that bootstraps a subset of an application server feature set within a servlet container. OpenEJB already does something like this: http://openejb.apache.org/ Derek On Tue, Jun 23, 2009 at 1:54 PM, Jeppe Nejsum Madsen je...@ingolfs.dk wrote: On 23 Jun 2009, Naftoli Gugenhem wrote: What's the difference between an application server and a servlet container? Depends on who you ask :-) Application server usually means a J2EE implementation which support things such as EJBs, message services, transaction monitors, database pools (and a servlet container). A servlet container, as the name implies, is a service that can be used to host servlets. So while applications can run using only a servlet container, an application server typically means a servlet container and a lot of extra services which you may or (most likely) may not need. /Jeppe --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Deployment questions and little Java web dev experience
Yes thats pretty much right - examples of context are: / /something/ /yet/another/ Cheers, Tim On Jun 23, 4:59 am, Naftoli Gugenheim naftoli...@gmail.com wrote: When you deploy a web app I think you specify a context path (at least in jetty) which I think is what you're looking for -- the first part of the path after the domain name. On Mon, Jun 22, 2009 at 11:39 PM, g-man gregor...@gmail.com wrote: I came from a similar background, but with some detours after Rails through Erlang, GAE w/ Django, and web2py. It took me about 2 months to finally start having fun with Lift and Scala, but I can tell you now it's really nice to just sit down, write something, and watch it work! I'm no expert yet, and I'm constantly reading all the books I can find, but the rewards and power are definitely there. Where I needed dozens of files with Rails, I only need 3 models, 3 snippets, and 2 templates now, and they are far cleaner! My advice is to slow down, do the 'ToDo' app tutorial, and then start adding functionality to it. As you add features, you will research and learn about new things and how to do them. As a study aid, I keep the 'PocketChange' app from the book open, and look to see how similar problems were solved there. As they say, almost everything you need to know is contained in those two examples. As to all the niceties of the servers and deployment to a VPS, I suggest you leave that for later. The little Jetty thing running on localhost will give you a taste of how Maven sets up things, and how to tweak them (adding logging, comments, debugging messages, etc), plus you always have the Group here for help. Lift (and Scala) are both very young, so it will take a while for all the books, websites, tutorials, and videos to come out. Imagine Rails 5 years ago and you have some idea of where we are, and that's not even considering the new 'Goat Rodeo' project... No worries -- have fun! On Jun 19, 1:09 pm, Nolan Darilek no...@thewordnerd.info wrote: 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
[Lift] Re: Deployment questions and little Java web dev experience
On Tue, Jun 23, 2009 at 11:07 AM, Naftoli Gugenhem naftoli...@gmail.comwrote: What's the difference between an application server and a servlet container? App servers do everything that servlet containers do and more (LDAP, JNDI, blah blah blah). If you're running a big enterprise system, you might need an app server... most projects I work on just need a servlet container. - Timothy Perretttimo...@getintheloop.eu wrote: Yes thats pretty much right - examples of context are: / /something/ /yet/another/ Cheers, Tim On Jun 23, 4:59 am, Naftoli Gugenheim naftoli...@gmail.com wrote: When you deploy a web app I think you specify a context path (at least in jetty) which I think is what you're looking for -- the first part of the path after the domain name. On Mon, Jun 22, 2009 at 11:39 PM, g-man gregor...@gmail.com wrote: I came from a similar background, but with some detours after Rails through Erlang, GAE w/ Django, and web2py. It took me about 2 months to finally start having fun with Lift and Scala, but I can tell you now it's really nice to just sit down, write something, and watch it work! I'm no expert yet, and I'm constantly reading all the books I can find, but the rewards and power are definitely there. Where I needed dozens of files with Rails, I only need 3 models, 3 snippets, and 2 templates now, and they are far cleaner! My advice is to slow down, do the 'ToDo' app tutorial, and then start adding functionality to it. As you add features, you will research and learn about new things and how to do them. As a study aid, I keep the 'PocketChange' app from the book open, and look to see how similar problems were solved there. As they say, almost everything you need to know is contained in those two examples. As to all the niceties of the servers and deployment to a VPS, I suggest you leave that for later. The little Jetty thing running on localhost will give you a taste of how Maven sets up things, and how to tweak them (adding logging, comments, debugging messages, etc), plus you always have the Group here for help. Lift (and Scala) are both very young, so it will take a while for all the books, websites, tutorials, and videos to come out. Imagine Rails 5 years ago and you have some idea of where we are, and that's not even considering the new 'Goat Rodeo' project... No worries -- have fun! On Jun 19, 1:09 pm, Nolan Darilek no...@thewordnerd.info wrote: 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
[Lift] Re: Deployment questions and little Java web dev experience
There are some good suggestions for using Lift on this thread. Please try the following: git clone git://github.com/dpp/lift-samples.git tar -xzvf lift-samples/jetty_instance.tgz cd jetty_instance cp *your_war_file_from_mvn_install* webapp/root.war ./start_prod.sh Open a browser to http://localhost:9910 So, that's how I deploy my Lift apps. I use a separate jetty instance for each app. It costs about 32MB of RAM over sharing apps per jetty instance (this can be material if you're in a VPS). Hope this helps. On Fri, Jun 19, 2009 at 1:09 PM, Nolan Darilek no...@thewordnerd.infowrote: 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. :) -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at
[Lift] Re: Deployment questions and little Java web dev experience
I came from a similar background, but with some detours after Rails through Erlang, GAE w/ Django, and web2py. It took me about 2 months to finally start having fun with Lift and Scala, but I can tell you now it's really nice to just sit down, write something, and watch it work! I'm no expert yet, and I'm constantly reading all the books I can find, but the rewards and power are definitely there. Where I needed dozens of files with Rails, I only need 3 models, 3 snippets, and 2 templates now, and they are far cleaner! My advice is to slow down, do the 'ToDo' app tutorial, and then start adding functionality to it. As you add features, you will research and learn about new things and how to do them. As a study aid, I keep the 'PocketChange' app from the book open, and look to see how similar problems were solved there. As they say, almost everything you need to know is contained in those two examples. As to all the niceties of the servers and deployment to a VPS, I suggest you leave that for later. The little Jetty thing running on localhost will give you a taste of how Maven sets up things, and how to tweak them (adding logging, comments, debugging messages, etc), plus you always have the Group here for help. Lift (and Scala) are both very young, so it will take a while for all the books, websites, tutorials, and videos to come out. Imagine Rails 5 years ago and you have some idea of where we are, and that's not even considering the new 'Goat Rodeo' project... No worries -- have fun! On Jun 19, 1:09 pm, Nolan Darilek no...@thewordnerd.info wrote: 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
[Lift] Re: Deployment questions and little Java web dev experience
When you deploy a web app I think you specify a context path (at least in jetty) which I think is what you're looking for -- the first part of the path after the domain name. On Mon, Jun 22, 2009 at 11:39 PM, g-man gregor...@gmail.com wrote: I came from a similar background, but with some detours after Rails through Erlang, GAE w/ Django, and web2py. It took me about 2 months to finally start having fun with Lift and Scala, but I can tell you now it's really nice to just sit down, write something, and watch it work! I'm no expert yet, and I'm constantly reading all the books I can find, but the rewards and power are definitely there. Where I needed dozens of files with Rails, I only need 3 models, 3 snippets, and 2 templates now, and they are far cleaner! My advice is to slow down, do the 'ToDo' app tutorial, and then start adding functionality to it. As you add features, you will research and learn about new things and how to do them. As a study aid, I keep the 'PocketChange' app from the book open, and look to see how similar problems were solved there. As they say, almost everything you need to know is contained in those two examples. As to all the niceties of the servers and deployment to a VPS, I suggest you leave that for later. The little Jetty thing running on localhost will give you a taste of how Maven sets up things, and how to tweak them (adding logging, comments, debugging messages, etc), plus you always have the Group here for help. Lift (and Scala) are both very young, so it will take a while for all the books, websites, tutorials, and videos to come out. Imagine Rails 5 years ago and you have some idea of where we are, and that's not even considering the new 'Goat Rodeo' project... No worries -- have fun! On Jun 19, 1:09 pm, Nolan Darilek no...@thewordnerd.info wrote: 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