Wednesday May 14, 2008
Insert Witty Irony Herevince kraemer's Weblog
All
|
5 in 5
|
Compile Time
|
Ease of Evolution
|
General
|
GlassFish
|
Gotchas
|
Java
|
Music
|
NetBeans
New Improved Tooling for Sailfin ...Now built Pragmatically, end to end... Some folks may recall that I had done some work to make the Sailfin build for the tooling a bit more pragmatic. With the hustle and bustle to prep for JavaOne, completing that work got delayed. But, now that work is done.... What does that mean to users? A lot, I hope. Now, folks will be able to get their hands on tooling bug fixes quick and easy. The Sailfin project's nightly build will have the latest and greatest tooling, without nasty manual intervention. Ah! A smooth running pragmatic build process... It smell like victory! Or was that Teen Spirit.... Hmmm. (2008-05-14 22:25:55.0) Permalink Comments [0] While I have been working with the build infrastructure, I have been making some changes to the test agent. Most of them are pretty minor tweaks and bug fixes. The most significant change that I have made is on the main "screen". In the past, all the shortcut buttons, like 'ACK', 'CANCEL' and 'BYE' were always enabled. These shortcuts are now enabled and disabled based on the selected item in the history list.
The state of the shortcuts when a request message is selected.
The state of the shortcuts when a response is selected. I have also extended the Converged Servlet Application to open the test agent automatically, when it is deployed. It isn't much. I hope that it will save users a click or two. I have also spent some time fixing bugs and doing some clean-up, based on the output of FindBugs. (2008-03-19 17:02:49.0) Permalink I helped a co-worker configure his environment (a Sunray) to allow him to clone the NB repository. It actually wasn't very hard. The instructions are in the Netbeans wiki: http://wiki.netbeans.org/HgAndSunrays. (2008-03-18 13:18:39.0) Permalink Directory Deployment from NetBeans to GlassFish I published a teaser entry, where I demonstrated the effect of a code change related to directory deployment that I had pushed a couple days before. Since the entry was exposition "thin", I have gotten some questions about it... After reading through the questions, I figured it would be easy to google up some reference and post them.... Boy, was I wrong! I hope that this entry will answer the questions and be a "hit" for folks interested in NetBeans, directory deployment and GlassFish. The synonym for directory deployment in the JBoss user community appears to be 'exploded deployment'. The synonym for directory deployment in the WebLogic user community appears to be 'deployment of exploded archive directories'. When a project is directory deployed into a web container, like Tomcat, or an app server, like GlassFish, a lot of optimizations can occur.
NetBeans supports directory deployment of Web Application projects to Tomcat and GlassFish. This has been available for quite some time. I found this reference that alludes to directory deployment with NB 3.6 and Sun Java System Application Server 8.0. NetBeans was extended to support directory deployment of ears and ejb-jars onto GlassFish V2 in the NetBeans 6.0 release. The other server integration plugins for NetBeans 6.0.1 or NetBeans 6.1 (recently beta'ed) do not support directory deployment. The recent changes that improve the performance of 'Run Project' and 'Run File' for a JSP file change in web applications and web applications embedded in an enterprise application are available in nightly builds of NetBeans 6.1. I hope to integrate some of the ideas from a blog entry by JFA in the next few days. This will make even more web-app change scenarios faster. (2008-03-17 07:50:53.0) Permalink Some Directory Deployment Improvements Old stuff... ant output from second Run File on a jsp... with no code change in the jsp (or anywhere else in the web app)... init: deps-module-jar: deps-ear-jar: deps-jar: library-inclusion-in-archive: library-inclusion-in-manifest: compile: compile-jsps: Incrementally deploying WebApplication137_localhost:4848_server Completed incremental distribution of WebApplication137 Incrementally redeploying WebApplication137_localhost:4848_server Start registering the project's server resources Finished registering server resources moduleID=WebApplication137 While redeploying, trying to stop the application in target server completed successfully While redeploying, trying to remove reference for application in target server completed successfully deployment started : 0% deployment finished : 100% Deploying application in domain completed successfully Trying to create reference for application in target server completed successfully Trying to start application in target server completed successfully Deployment of application WebApplication137 completed successfully run-deploy: Browsing: http://localhost:8080/WebApplication137/index.jsp run-display-browser: run: BAD! The IDE is doing a lot of work that is not necessary that I have to wait for it to finish.... New Stuff... ant output from second Run File on a jsp... with no code change in the jsp (or anywhere else in the web app)... init: deps-module-jar: deps-ear-jar: deps-jar: library-inclusion-in-archive: library-inclusion-in-manifest: compile: compile-jsps: Incrementally deploying WebApplication137_localhost:4848_server Completed incremental distribution of WebApplication137 run-deploy: Browsing: http://localhost:8080/WebApplication137/index.jsp run-display-browser: run: SWEET! The IDE avoided doing the unnecessary work, so I can be more productive! New Stuff... ant output from second Run Project on an Ent App projects that has the web app from the previous tests in it... after the user has changed some content in the JSP.... pre-init: init-private: init-userdir: init-user: init-project: do-init: post-init: init-check: init: deps-jar: deps-j2ee-archive: init: deps-module-jar: deps-ear-jar: deps-jar: library-inclusion-in-archive: library-inclusion-in-manifest: compile: compile-jsps: do-ear-dist: Building jar: /export/home/vkraemer/NetBeansProjects/WebApplication137/dist/WebApplication137.war dist-ear: pre-pre-compile: pre-compile: do-compile: Copying 1 file to /export/home/vkraemer/NetBeansProjects/EnterpriseApplication158/build post-compile: compile: pre-dist: do-dist-without-manifest: do-dist-with-manifest: Building jar: /export/home/vkraemer/NetBeansProjects/EnterpriseApplication158/dist/EnterpriseApplication158.ear post-dist: dist: pre-run-deploy: Incrementally deploying EnterpriseApplication158#/WebApplication137_localhost:4848_server Incrementally deploying EnterpriseApplication158_localhost:4848_server Completed incremental distribution of EnterpriseApplication158 post-run-deploy: run-deploy: Browsing: http://localhost:8080/WebApplication137/ run-display-browser: run-ac: run: SWEET! The IDE was busy, but the time to do all this "work" was almost zero seconds. We may be able to eliminate some of the work from this case, too. (2008-03-12 13:32:39.0) Permalink Comments [1] Love the freshest tooling bits? I wrote up an entry a couple days ago about a new way to get the NBM files that implement the SIP application development support. In that entry I lamented that the process that gets the bits there wasn't very Pragmatic, since it wasn't fully automated and repeatable. Today, I want to let you know that I have extended the build to be a bit closer to a Pragmatic solution. Here is what you need to do....
If you look in SFWS/publish/glassfish/lib/tools/netbeans, you will see the nbm files... built fresh from the source! You should probably note: these instructions are very similar to the Building SailFin without checking out and building Glassfish instructions. Update: 22 Feb 2008... the value for sailfin.build.dependency.order needed to change for the checkout-sailfin step... (2008-02-14 13:16:53.0) Permalink Finding Tools for Sailfin Has Never Been Easier In the past, I have been sending folks to https://sailfin.dev.java.net/servlets/ProjectDocumentList to get the nbms for the SIP development tooling. When the code got updated, I would do a build and stage the bits for folks to use. This created some extra work for me, but was a pragmatic solution at the time. It wasn't a Pragmatic solution, though. I was creating the bits from my personal workspace. I was moving them into position by hand. And that bothered me. I wanted the bits to be in a more accessible location. I wanted to get the bits to get to that "place" through a more controlled and repeatable process. Today, we are half way there! If you get today's nightly build of the project Sailfin code, you will find a new subdirectory tree under lib:
The nbms that implement the SIP application development tooling are all there, ready to be installed into NetBeans. (2008-02-08 10:03:29.0) Permalink NetBeans 6.1 and Project Sailfin While work is being done on the modules that let users create and test SIP Servlet applications that can be deployed to a Glassfish domain that has been extended to support SIP, one of my teammates has been working on making these applications "visible". We have also been working on making the choice of which type of server to register in the IDE more obvious. We committed many of the necessary changes over the weekend. If you get a recent nightly build of NetBeans 6.1, you should see the following changes:
I was also able to install the latest available builds of the SIP Application Development module and the SIP Protocol Test Agent module into the NetBeans 6.1 build. There is a fair number of code changes that have been going into NetBeans 6.1 to hit Milestone 1. These changes should finish baking this week. If you want avoid being on the absolute bleeding edge... you may want to wait for the NetBeans 6.1 Milestone 1 release. If you have serious thrill issues: Download, Fire up and Save Often. (2008-01-14 22:40:58.0) Permalink Comments [1] SIP Application Development Module version 0.4 for NetBeans 6.0 Now that the holiday break is over, it is time to release a new feature in the SIP Application development module: the SIP Listener wizard.
You can find the wizard in the list of items that you can add to a Converged Servlet Application project, via the project's right click menu.
This is what the wizard looks like.
Here is a sample of the code that is generated, if you set the package to "a" and select the SipApplicationSession Listener check box and the SipServletListener check box.
The new build is available in the project's "document list" as version 0.4. It has been tested a bit with NetBeans 6.0 and Sailfin build 15. (2008-01-07 18:48:29.0) Permalink Using the Test Agent to Debug ClickToDial I have a rough cut of a write up that describes using the Test Agent to debug the ClickToDial sample app. It is screenshot heavy and verbage light. Since this is a wiki page, please feel free to extend it as seen fit. (2007-12-18 20:21:40.0) Permalink SIP Application Development Module Suite for NetBeans 6.0 I have been waiting for some issues to get resolved recently. A couple of them got cleared up in the last week which allowed me to get some updates to folks that are doing SIP application development. I was able to make a couple minor changes to the development module.
You may have noticed that I said 'Suite' in the title. I am not trying to put on airs. Yvo Bogers contributed a new "module" that you can see in the list of available modules on the SailFin project's document list. The new module is a collection of four NBM's that implement a SIP protocol level test agent. There is a document that describes the test agent functionality. You can use this this module to fire SIP requests and generate responses. This test agent makes it possible to deploy and test the ClickToDial sample from inside NetBeans on a single computer and see the protocol level messages as they go through the SIP Servlets. Stay tuned for an updated version of the ClickToDial write up, with screen shots and the like, that shows you how to do this. I have done all my recent testing in NetBeans 6.0. (2007-12-17 19:19:26.0) Permalink No.. The last web app hasn't been developed... though some of the ideas that I have seen floated on TechCrunch seem like they are 'A Web App Too Far'. I am talking about how I "do" web-app development in NetBeans. When you are debugging a Java application in NetBeans, you have the option to 'Apply Code Changes'. You can read this chapter of the NetBeans Field Guide about debugging that describes the 'Apply Code Changes' feature. You can use this feature of the debugger to significantly reduce the number of times that you deploy a web app that has been targeted to GlassFish. The best explanation is an example... [To play along at home, I recommend that you get NetBeans 6.0 and GlassFish V2.]
FINE PRINT: This depends on a couple of very important things.
(2007-12-12 22:17:18.0) Permalink SIP Application Development Module version 0.2 for NetBeans 6.0 Well, it has been a couple weeks since the release of the SIP Application Development Module version 0.1 for NetBeans 6.0. I have been pretty busy with finishing my work related to the NetBeans 6.0 release. I have found some time to work on the module, though. I was able to get a feature in that folks had requested for some time: a Project Template. What does it look like, you ask.
Project Wizard: Page 1
Project Wizard: Page 2
Project Wizard: Results There were a couple bug fixes that I integrated into this release, too. Use this link to find out what has been fixed in the 0.2 release. You can use this link to download the SIP Application Development Module version 0.2 or use this link to see all the available releases of the SIP Application Development Module for NetBeans 6.0. Remember, more new features are in the works. These new features are discussed in the draft Functional Specification for the SIP Development Module for NetBeans 6.0. Please file issues in the issue tracker for Project Sailfin, against the "Tools" subcomponent. (2007-11-07 20:04:11.0) Permalink Well, finding current "how-to" information about using the Plugin Manager to install a module that you have downloaded turned out to be harder than I expected. Elena did a quick write up about installing the SIP App Dev Module into NetBeans 6.0. The write up includes screen shots with details that will change as time goes on... The version number will increase, etc... but the "gist" will remain the same for quite some time. (2007-11-06 21:57:58.0) Permalink SIP Application Development Module version 0.1 for 6.0 A little over a year ago, Ludo created a prototype NetBeans module for doing SIP Application development with NetBeans 5.5.1 and a very early release of the code that became the basis for Project Sailfin. The code for the prototype has moved into the Project Sailfin repository and has been ported to NetBeans 6.0. At this point there aren't many changes from Ludo's original prototype, but I figured users might want to try out the bits in 6.0. The new features implemented by the SIP Application Development Module for NetBeans 6.0 (version 0.1) are:
You will need to use the Plugins Manager to install the SIP Application Development Module for NetBeans 6.0 (version 0.1) into NetBeans 6.0. I haven't found a good link that describes this process, yet. When I do, I will update this entry with a pointer to that info. More new features are in the works. These new features are discussed in the draft Functional Specification for the SIP Development Module for NetBeans 6.0. Please file issues in the issue tracker for Project Sailfin, against the "Tools" subcomponent. (2007-10-29 17:06:29.0) Permalink |
Calendar
RSS Feeds
All /5 in 5 /Compile Time /Ease of Evolution /General /GlassFish /Gotchas /Java /Music /NetBeans About Me![]() Short Bio SearchLinks
Navigation
ReferersToday's Page Hits: 233 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||