tag:blogger.com,1999:blog-1280619439915049383.post8274992193688872875..comments2024-03-28T06:26:09.951-05:00Comments on James Lorenzen's Blog: No more J2EE webappsjlorenzenhttp://www.blogger.com/profile/13635369821860631868noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-1280619439915049383.post-1597394999192333032008-06-16T18:44:00.000-05:002008-06-16T18:44:00.000-05:00Have you thought about using the Maven Jetty plugi...Have you thought about using the Maven Jetty plugin? This allows you to set up "scan intervals" which scans your source code and automatically restarts your app, very quickly for any code change. Any JSP changes are automatically detected without the need to restart the container. <BR/><BR/>We use this for our development and have found that this reduces development time and frustration by eliminating much of the need to restart the container.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-62182661674359609782008-03-05T07:37:00.000-06:002008-03-05T07:37:00.000-06:00I agree with felix. Have a look at http://www.seas...I agree with felix. Have a look at http://www.seaside.st<BR/><BR/>I was sceptical first since I never heard of Smalltalk. Learning the language was easy (just objects and messages) - but tools are different (no wizards, browsers to manipulate the system). It really rocks.<BR/>Unfortuanately many companies want J2EE. If not I would now decide for Seaside instead of Rails.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-30687883097074875132007-11-22T15:33:00.000-06:002007-11-22T15:33:00.000-06:00i've been too crackbrained to post a proper link.....i've been too crackbrained to post a proper link... <BR/><BR/><BR/><A HREF="http://seaside.st" REL="nofollow">use this one instead</A>Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-61555605389364539592007-11-22T15:29:00.000-06:002007-11-22T15:29:00.000-06:00you should rapid-develop your web-application in s...you should rapid-develop your web-application in <A HREF="seaside.st" REL="nofollow">seaside</A> and port it to java afterwards. writing smalltalk code is a mind-opening experience for most java programmers and since it is so damn easy learn, switching isn't that painful.<BR/>since seaside does have "rapid dev-deploy"(as you call it), you might want to see it.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-47208780102725824552007-11-21T15:43:00.000-06:002007-11-21T15:43:00.000-06:00I agree this pain must be stopped. You might try t...I agree this pain must be stopped. <BR/><BR/>You might try the following:<BR/><BR/>use tomcat sysdeo plugin during dev<BR/>which allows<BR/>a. no war copies (direct out of workspace)<BR/><BR/>javarebel from zeroturnaround has been good for me as well.Jameshttps://www.blogger.com/profile/00283486392720421719noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-69267011255895799492007-11-21T12:21:00.000-06:002007-11-21T12:21:00.000-06:00Some people should really try the newer versions o...Some people should really try the newer versions of ECLIPSE that's out - the one that comes with the Web Tools Platform. It easy to configure server profiles and when there are changes in the classpath, eclipse will automatically restart tomcat.<BR/><BR/>spring + (hibernate, or iBatis for legacy stuff), along with wicket really makes stuff easy.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-28116716031302155732007-11-21T10:10:00.000-06:002007-11-21T10:10:00.000-06:00Check out MyEclipseIDE. It does EXACTLY what you ...Check out MyEclipseIDE. It does EXACTLY what you want and is THE reason why I subscribed to it when I was doing web development.<BR/><BR/>For the past two years, it's been all Client Java for me so haven't used it in a while.<BR/><BR/>HTH,<BR/>MilindMilind Raohttps://www.blogger.com/profile/00822450183978295485noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-78944590450654741042007-11-21T07:08:00.000-06:002007-11-21T07:08:00.000-06:00Yes, as soon as one uses EJB, the deployment time ...Yes, as soon as one uses EJB, the deployment time is very noticeable.<BR/><BR/>Tomcat however on web site development, I cant complain about, on Netbeans anyway.<BR/>You see it doesnt deploy it to Tomcat (move the application), Tomcat simply runs the "build" in your project. Because compilation can be done incrimentally, its quick. Leave the browser open, and it plenty quick.<BR/><BR/>EJB is overly complicated, if you want try something that will cut the whole development time down to a third, look at a POJO Application Server.<BR/><BR/>You dont even develop the application inside the server ;)<BR/>That probably means its as fast as your compiler will run.POJO NUThttps://www.blogger.com/profile/08225613438886926496noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-50159778996268007422007-11-21T04:13:00.000-06:002007-11-21T04:13:00.000-06:00I have been concerned about the exact same issue. ...I have been concerned about the exact same issue. Change -> Save -> Refresh is very important for me too and I have found the solution.<BR/><BR/>On the machine I develop locally I use Tomcat. <BR/>1) I have a web-template project with an Ant script that contains a "deploy-local" target. This has to be executed only once and it will create a CATALINA_HOME/conf/Catalina/localhost/context.xml file with a docBase attribute pointing directly at the project's web directory. <BR/>2) Additionally I keep libraries and build java sources directly within project/web/WEB-INF.<BR/><BR/>These 2 combined do the trick for me.Dimitrios Menounoshttps://www.blogger.com/profile/07416863812258576754noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-22868396627134110962007-11-20T14:21:00.000-06:002007-11-20T14:21:00.000-06:00Oh, if you change class files as opposed to JSP fi...Oh, if you change class files as opposed to JSP files then you will need to redeploy. At that point, just touch the web.xml and JBoss will redeploy your exploded WAR.Unknownhttps://www.blogger.com/profile/01250366072479750097noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-4507155706020194552007-11-20T14:18:00.000-06:002007-11-20T14:18:00.000-06:00Right. You want to declare both the normal deploy...Right. You want to declare both the normal deploy directory and your development directory. So it would look something like this:<BR/><BR/><attribute name="URLs"><BR/> file:/myproject/myWARroot,deploy/<BR/></attribute>Unknownhttps://www.blogger.com/profile/01250366072479750097noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-42050623275239531212007-11-20T14:07:00.000-06:002007-11-20T14:07:00.000-06:00Thanks so much for all the excellent feedback.Stan...Thanks so much for all the excellent feedback.<BR/>Stan, I appreciate the link to the jboss wiki. I assume you are referring to adding the following:<BR/><attribute name="URLs"><BR/> deploy/<BR/></attribute><BR/><BR/>If I point that to my exploded directory I should be good, right?jlorenzenhttps://www.blogger.com/profile/13635369821860631868noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-78080548430148891242007-11-20T13:37:00.000-06:002007-11-20T13:37:00.000-06:00Somehow the above URL got cut off. The rest is:he...Somehow the above URL got cut off. The rest is:<BR/>heDeploymentScannerInConfjbossSystem.xmlUnknownhttps://www.blogger.com/profile/01250366072479750097noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-49929395681033985032007-11-20T13:36:00.000-06:002007-11-20T13:36:00.000-06:00With JBoss you don't even have to copy the JSP fro...With JBoss you don't even have to copy the JSP from your development environment. You can tell JBoss to look anywhere for the deployments. So just tell JBoss to look at the place where you have your exploded WAR and it will detect changed JSP files without redeploy and without restarting the server.<BR/><BR/>To see how to set up multiple deployment roots (even across a network) look here:<BR/>http://www.jboss.org/wiki/Wiki.jsp?page=ConfiguringTheDeploymentScannerInConfjbossSystem.xml<BR/><BR/>StanUnknownhttps://www.blogger.com/profile/01250366072479750097noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-37930678548333003782007-11-20T09:02:00.000-06:002007-11-20T09:02:00.000-06:00I'm OK with business logic being (re)deployed as a...I'm OK with business logic being (re)deployed as an archive as you tend to be able to write unit tests with them to test out the correct functionality. However it sucks for doing that for display logic. For conventional web apps I use an eclipse plugin<BR/><A HREF="http://piecesofflare.sourceforge.net/" REL="nofollow">PiecesOfFlare</A><BR/>which deploys the changed (jsp) file into the (exploded) webapp (on jboss). So I hit control-S and then refresh my browser. Saved me a bunch of time.<BR/><BR/>--Kurterthttps://www.blogger.com/profile/07418191492358888029noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-10003406234010153342007-11-20T02:14:00.000-06:002007-11-20T02:14:00.000-06:00JBoss's Seam 2.0 provides some better support for ...JBoss's Seam 2.0 provides some better support for incremental redeployments. Has anyone ever tried something like they have ?Aldrin Mhttps://www.blogger.com/profile/16292536077592944252noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-12914103209773848532007-11-20T01:20:00.000-06:002007-11-20T01:20:00.000-06:00well, there are enough hot deployment round trips ...well, there are enough hot deployment round trips in grails, so I would suggest to get away from java completely. <BR/><BR/>grails (or rather groovy), while beeing absolutely brilliant, has the feature of beeing java, which is both its biggest advantage as its biggest disadvantageChrigelhttps://www.blogger.com/profile/05227615949751525227noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-33886034154801236582007-11-19T20:32:00.000-06:002007-11-19T20:32:00.000-06:00While I understand the pain of development in J2EE...While I understand the pain of development in J2EE environment, your IDE can always hot replace the code (with non-structural changes) in a JVM.<BR/><BR/>Tomcat/JBoss is really developer-breeze imagine hours and hours of waiting for Websphere test environment to come up...Nirav Thakerhttps://www.blogger.com/profile/07204297663478577248noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-29162217454683137592007-11-19T16:14:00.000-06:002007-11-19T16:14:00.000-06:00I meant to say "_deployment_ stage of Java/J2EE ap...I meant to say "_deployment_ stage of Java/J2EE application" of course.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-20559569266606804842007-11-19T16:13:00.000-06:002007-11-19T16:13:00.000-06:00Hey,JavaRebel is a relatively new piece of softwar...Hey,<BR/><BR/><A HREF="http://www.zeroturnaround.com/javarebel/" REL="nofollow">JavaRebel</A> is a relatively <A HREF="http://www.theserverside.com/news/thread.tss?thread_id=47175" REL="nofollow">new</A> piece of software that very nearly eliminates the mind-numbing recompile/deploy/test cycle.<BR/><BR/>I am pretty sure that after arrival of such first birds, development stage of Java/J2EE application will soon be eliminated for most conceivable cases/environments.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-70269296076922142402007-11-19T14:28:00.000-06:002007-11-19T14:28:00.000-06:00I hear ya and I used to complain about this too bu...I hear ya and I used to complain about this too but then I got a 2GHz Dual Core machine and I don't even notice IntelliJ redploying the app inside tomcat.<BR/><BR/>But the point is taken, there needs to be a faster way of developing, I'd even settle for smarter IDEs that makeup for the mess that is the Servlet spec.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-71904034810106947852007-10-30T14:38:00.000-05:002007-10-30T14:38:00.000-05:00I've developed a few JSP based web apps, a few PHP...I've developed a few JSP based web apps, a few PHP/MYSQL apps, a few practice Rails apps, and hundreds of Domino web apps (it's been my bread and butter). <BR/><BR/>Domino is not open source in any way, shape, or form. But because of the comparitively minimal time it takes to develop a production app for the web or the Lotus Notes client or both, mainly due to it's "convention over configuration" approach (the same as Rails) and not having to compile/package/deploy anything, it continues to be my development environment of choice. <BR/><BR/>If you need a relational database back end, Rails is better because of its ability to handle parent-child records automatically. Domino handles this automatically only in it's hierarchical built in database. And I wouldn't want to store a million records in one of those. <BR/><BR/>In certain situations, Domino is a good choice with DB2 as the back end, particularly where multiple disparate instances of DB2 exist but use a single instance of business logic / web logic on the front end.<BR/><BR/>And complex security is a breeze. The closest I've seen is .Net's latest offerings. Alas, Domino's Web 2.0 offerings out of the box are non-existent. IBM expects you to use some other framework plopped on top.<BR/><BR/>But the core offerings are there and the development community is deep -- see openntf.org and the IBM Lotus Domino forums.<BR/><BR/>I'm not saying that either Domino or Rails is perfect, but I prefer both over J2EE hands down.Robhttps://www.blogger.com/profile/08149596376349784564noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-53480587839349981952007-10-29T07:32:00.000-05:002007-10-29T07:32:00.000-05:00Different technologies has various advantages and ...Different technologies has various advantages and disadvantages or pain when it comes to testing. I'm not sure that J2EE developers have come to accept it as it's forced on them due to the house keeping required by the server.<BR/><BR/>The previous posts cover things that I would expound also so I won't reinvent the wheel. The challenge for any project is developing an efficient and effective testing environment and process. Be sure to research available tools and processes to reduce time and increase efficiency. Of course if there is enough pain then you may find a moneymaker in developing a solution to solve the pain where people are willing to pay for it. ;-)Richhttps://www.blogger.com/profile/12976218818163410069noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-224300204048065202007-10-29T00:00:00.000-05:002007-10-29T00:00:00.000-05:00James,I feel your pain and, in an environment like...James,<BR/><BR/>I feel your pain and, in an environment like that, I would be finding other, quicker ways to deploy & test my application.<BR/><BR/>Developing J2EE apps has not changed since you last developed them. If you make a change to a JSP file (or JSPX if using JSF), there's no need to rebuild & deploy the entire WAR. Deploy the WAR in exploded form and just copy of the JSP/JSPX/JS.<BR/><BR/>However, if you have made a change to a compiled class or a packaged jar file, then you'll need to either build & redeploy or bounce the application server. Unfortunately, there's no getting around that.<BR/><BR/>As Kit suggested, there are IDE plugins that you can launch app servers. These can also help with the building, deploying and testing cycle. Depending upon how complicated your application is (watch out for configuration files with substitution values occur during builds), running the application from the plugin may or may not be easy.Jeffrey S. Hairhttps://www.blogger.com/profile/04257536388316375171noreply@blogger.comtag:blogger.com,1999:blog-1280619439915049383.post-78846504273887538372007-10-28T23:36:00.000-05:002007-10-28T23:36:00.000-05:00James.Although, my experience with J2EE is next to...James.<BR/><BR/>Although, my experience with J2EE is next to nil, and my time with webapps is close to the same I do have some thoughts.<BR/><BR/>First thought, test-driven development(design)? Although, this probably doesn't work for seeing the "visible" effects of a change - everything server side should be done TDD.<BR/><BR/>Second thought, Eclipse plugin? I know that for a lot of app servers you can instantiate from Eclipse - and even have it restart every time you build.<BR/><BR/>I'm not sure about other IDEs, but if the app server doesn't have the means for rapid dev-deploy I don't want to see it.<BR/><BR/>I've seen the same problem in JBI when trying to build a comprehensive application. Because it is truly decoupled we had to restart every node, anytime any component changed. End-to-end testing is always tough...<BR/><BR/>Anyway, I feel your pain. My gut tells me that unit testing is the way out...but, then I can only imagine how tough this would be for working with a dynamic (won't say web2.0) site.Kit Plummerhttps://www.blogger.com/profile/09235624888148158256noreply@blogger.com