CARVIEW |
![]() Get Involved
Get Informed
Get Connected
Search
Online Books:
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||
![]() |
Rama Pulavarthi's Blog
Hudson@JavaOnePosted by ramapulavarthi on May 15, 2008 at 02:24 PM | Permalink | Comments (0)Kohsuke and I talked about "Improving the Engineering Process Through Automation by Hudson" at JavaOne last week. Kohsuke talked about Continous Integration, best practices with larger deployments of Hudson and extensibility features in Hudson. I showed the demo of some of the features of Hudson. The demo has two parts. In the first part, the focus was on the ease of installation and using Hudson. We showed that Hudson can be installed by doing "java -jar hudson.war" and it needs no container setup or database configuration to get started. Later showed the WEB UI for manging hudson and creating new jobs. The configuration in Hudson is very intuitive with inline help for all the configuration parameters and on the fly error checking. This is very handy where we don't have to wait until the build fails to realize its because of a silly typo. First, I created a "FreeStyle Job" which checks out sources from a subversion repository and runs ant to build the project and run some tests. Later configured the job to archive the artifacts generated by that project and report Javadoc and Junit results. The Junit reporting feature in Hudson is very nice that it gives additinal information than it is there in your Junit reports. It offers easier navigation to reports of tests across different builds and keeps track of the age of test failures and plots trends with various builds etc. Configuring the build to run periodically is very easy with hudson. It uses Cron-like syntax to set it to run whenever you want it. It can also monitor the SCM changes so that it can run automatically when ever somebody makes change to the sources instead of running periodically. This was shown in the demo by configuring to poll the subversion every minute for changes. I set up a mail server on my macbook to show that Hudson can send email notifications of the build status. Later, I showed the newly introduced Maven2 project. Hudson has nice integration with Maven2 where it parses the POMs in your project and monitors the goals you run to execute some routine housekeeping you do with normal hudson job. For example, when you run "test" phase , it automatically records the Junit Reports and archives the artifacts. With this Maven2 Project feature, you need to do very little configuration to setup the job like hooking up the sources and invoking Maven to execute some goals. In the second part, We showed the distributed build setup and Multi-Configuration Job(Matrix job). Adding slaves to the Master Hudson requires running hudson slave agent on the slave computer. It is as easy as clicking a Java Web Start link from the slave computer thats being hooked up. Of course, you can use other mechanisms like SSH to run the slave agent on the slave computer. Later we showed creating Multi- Configuration Job where the project tests are run in different configurations. The Multi Configuration job can be very handy when you need to build something for different platforms or run tests with different configurations (like different containers, different JDKs, different databases etc.). You don't need to create a separate job for each configuration. Just create a Multiconfiguration job to instruct hudson to run in all the combinations of the parameters in parallel. Hudson not only runs the jobs in all the configurations in parallel but also aggregates the artifacts and reports from all the builds and shows in a nice matrix for easier comprehension. We did n't get enough time to show this feature completely in the session. The response from the audience was great and they liked the features of Hudson and the value it brings in. I am planning to create some screencasts of these demos and some other useful features like build promotion and put it on Hudson wiki. Go get Hudson and give it a try. Another important thing is that when you try Hudson, also look at the growing list of Hudson Plugins to work with various build systems, SCMs, notification mechanisms etc that complement the common core features in Hudson. JDK 6 Update 6 is outPosted by ramapulavarthi on April 16, 2008 at 02:41 PM | Permalink | Comments (0)You can find javac compilation issue with classes in javax.xml.ws.wsaddressing package in my previous blog "A little update for JAX-WS 2.1 users with JDK 6 Update 4 and Update 5" The corresponding bug 6672868 is fixed in JDK 6 update 6. The fix should be available in Open JDK 6 as well. So, you don't have to use the compiler switches or workarounds as mentioned in my previous blog to make it work :) Status of WS-Addressing and MTOM Interop scenarios at PlugfestPosted by ramapulavarthi on March 25, 2008 at 11:28 AM | Permalink | Comments (0)I attended the Interop Plugfest @Microsoft from March 18th - 20th. This was my first time at Plugfest and to Microsoft campus. You can find more about the Interop Plugfest here, where all the test scenarios and wsdls are published. It was good meeting people face to face and interact with people working on the same technologies. I was mostly testing the WS-Addressing and MTOM scenarios between Metro and .NET 3.5. You can find the last report from the Plugfest held in November 2007 from Harold's blog. Here is the status on WS-Addressing and MTOM scenarios.
WS-Addressing -------------------------------------------------------------- Metro -> Metro: WS-Addressing CR SOAP 1.1: 24/24 WS-Addressing CR SOAP 1.2: 29/29 WS-Addressing Member Submission SOAP 1.1: 18/18 WS-Addressing Member Submission SOAP 1.2: 19/19 Metro -> .NET 3.5: WS-Addressing CR SOAP 1.1: 22/23 (1143 failed) WS-Addressing CR SOAP 1.2: 24/25 (1243 failed) WS-Addressing Member Submission SOAP 1.1: 10/10 WS-Addressing Member Submission SOAP 1.2: 11/11 *** Test 1143 and Test1243 have been rerun with updated enpoints made available on separate ports have been tried and verified to work and the fix might be available in upcoming major release of WCF. .NET 3.5 -> Metro: WS-Addressing CR SOAP 1.1: 24/25 (1152 failed) WS-Addressing CR SOAP 1.2: 26/26 (1152 failed) WS-Addressing Member Submission SOAP 1.1: 10/11 (1152 failed) WS-Addressing Member Submission SOAP 1.2: 11/12 (1152 failed) *** Test 1152 is being investigated by Microsoft. *** Test 1299 has been added to SOAP 1.2 endpoints and has been tested separately. This test is added to test wsa:Action based Dispatching. This has been tested to work in all the scenarios.
MTOM: -------------------------------------------------------------- Scenarios: Soap11MtomSignEncrypt 4 Soap11MtomSignOnly 5 Soap11MtomUtf16 5 Soap11MtomUtf8 5 Soap12MtomUtf8 5 Soap12MtomUtf8Aug04 5 Soap12MtomUtf8Security 5 Soap12MtomUtf8SecurityAug04 4 As you can see a decrease in number of tests, testEchoBinaryHeaderasString in Soap11MtomSignEncrypt and Soap12MtomUtf8SecurityAug04 has been removed from the test suite (as there is no standard way for encrypting a SOAP Header in WSS 1.0 unlike in WSS 1.1) Metro -> Metro: 38/38 Metro -> .NET 3.5: 38/38 .NET 3.5 -> Metro: 38/38 ***There are some random failures when I run the tests repeatedly in WCF -> Metro scenario. Metro service throws an exception and is being investigated. As you can clearly see, there are very few failures in WS-Addressing and MTOM compared to the last Plugfest in November 2007 as we fixed some testcase issues and got some issues resolved by Microsoft. Its a good progress !!! Currently, There are no direct WS-Addressing 1.0 tests that use WS-Addressing 1.0 Metadata. WS-Addressing Metadata is being tested indirectly in some Security scenrios. Hopefully, some of these tests will be updated to use Metadata and that gives a way to test interoperability when we implement the Metadata specification. A little update for JAX-WS 2.1 users with JDK 6 Update 4 and Update 5.Posted by ramapulavarthi on March 07, 2008 at 05:00 PM | Permalink | Comments (1)Some issues on compiling using classes in javax.xml.ws.wsaddressing package have come to our attention (You can follow the thread in the Metro User forum). As you can see, javax.xml.ws.wsaddressing package along with the classes W3CEndpointReference and W3CEndpointReferenceBuilder are infact there in rt.jar. But javac complains package javax.xml.ws.wsaddressing does not exist. This is due to the fact that JAVA_HOME/lib/ct.sym was not updated with these new api. This problem is in the JDK 6 Update 4 and Update 5, should not effect you unless you are using W3CEndpointReference and W3CEndpointReferenceBuilder in your applications. We are actively working on providing a fix in future update release. In the mean while, you could use one of these following workarounds.
We will be very soon fixing this glitch. Thanks for your cooperation. OpenJDK 6 now has JAX-WS 2.1 and JAXB 2.1Posted by ramapulavarthi on February 29, 2008 at 12:35 PM | Permalink | Comments (2)As you know, Earlier we updated JAX-WS implementation in JDK 6U4 with JAX-WS 2.1 along with JAXB 2.1, you can find more details about that here. As blogged earlier, We were also working on updating the JAX-WS in OpenJDK 6. Finally, its done. JAX-WS 2.1.1 with JAXB 2.1.6 is integrated in to OpenJDK 6 b06. So, All the JAX-WS 2.1 features and bug fixes that are in JDK 6 Update 4 Release are available in b06. All the JAX-WS and JAXB components reside in jax-ws repository of the OpenJDK Mercurial forest. All the JAX-WS sources are released under the GNU General Public License Version 2 (GPLv2). You can download the OpenJDK 6 source bundle and build it yourself. For that you need to first download the binary plug (components that are not available under open source license are avaiable under the Binary License) as described here. Subscribe to jdk6-dev@openjdk.java.net for technical discussions related to Open JDK 6. Once OpenJDK 7 starts accepting checkins, we plan to update JAX-WS in OpenJDK 7 as well. Stay tuned. Technorati: ![]() |
![]() |
May 2008
Search this blog:CategoriesCommunity: Java Web Services and XMLCommunity: NetBeans Web Services and XML Archives
May 2008 Recent EntriesStatus of WS-Addressing and MTOM Interop scenarios at Plugfest ![]() |
![]()
|