[Lift] Re: Deployment questions and little Java web dev experience

2009-06-24 Thread Derek Chen-Becker
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

2009-06-24 Thread Kris Nuttycombe

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

2009-06-23 Thread Timothy Perrett

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

2009-06-23 Thread David Pollak
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

2009-06-22 Thread David Pollak
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

2009-06-22 Thread g-man

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

2009-06-22 Thread Naftoli Gugenheim
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