Friday, 25 December 2009

Looking back to 2009 and predictions from 2010

So this is Xmas and what have you done...
Well this is christmas and just like in John Lennon's song another year is over. 2009 was quite active and I suppose 2010 won't be much different... Here are few picks as what we left behind and what we should expect from Santa;

Adobe; This year Adobe Max was great, they have so much to show to developer community. Flex 4 Beta 2 is out which is quite stable (Here is something I have done for a friend while playing with Flex 4), probably we should expect to see the full version end of first quarter. This is the first major upgrade since version 2, most of the animation libraries are rewritten, and the language gets more mature. There are great changes and shortcuts making the syntax and coding style much simpler. Another big move from Adobe for Flex is the LiveCycle Data Services 3 and Fiber. Adobe seems quite keen to offer easy development with Fiber via LCDS3. You can check out beta version. I really think this will be a good step, Model Driven development will drive more people to Flex and more corporations will be interested in them. However, I still believe Adobe should lower the licence costs. Flex builder is not expensive but still there is a chain between the ide and the community. Open sourcing Blaze as a subset of LCDS was a great move but still LCDS is a bit isolated due to licence cost. I know Adobe needs to generate revenue, but forming a huge community is a big step, once Flash-Flex tools spread that wide I am sure money will follow. Another expectation from 2010 is the mobile Flash player. The long waited love between mobile world and flash coming to a happy end. Also suprisingly the new Flash CS will be capable to export native iPhone Applications. This would not ruin Apple's Objective-C but will definetly make iphone development much easier. One more thing, Flex ups sorry Flash builder 4 will also be offering mobile applications. I watched a session at AdobeMAX which was quite impressive. It will be offering nice features such as realizing the platform and arranging the UI more suitable for the device. So Adobe did well on 2009 and seems like a very happy 2010 is ahead.

Apple; The year started with questions over Steve Job's health and ended with his return. Everyone is worried about an Apple without him. This year apple did not release any major new product but nearly all the products had nice upgrades. Macbooks go pro (i missed that with just one week!!), iPhone received an S to its name which comes with faster chipset and a compass. On software side iPhone OS 3 is released which is quite important for every developer interested in iPhone. Finally the snow leopard came from the snowy mountain peaks to the town. After installation you do not realize the change at first but the details is great. Its tuned well and getting better. That should be something others envy, having a innovative and still stable OS and just release new versions to tune it! The new year brings new expectations from Apple, the tablet rumors has been around for quite long and it has been told that Apple had been researching on that for a quite long time, even the mobile safari on iPhone comes from that research. I am sure Steve has more suprises than Santa which is hard to predict. Good job apple, but i still wish to see cheaper models so macs can become more widely used.

Google; is on the top of the world. They are building their dream products, conquiring the world and still do not need to think where the revenues are generated. Its the only company offering everything for free to end user and still made the highest income in 2009. Chrome is getting more popular and extensible each day. Now the linux and mac versions are out which i had been using the developer previews for a long time. Google Wave which they introduced at Google I/O is out for beta testing. First preview of ChromeOS is available, may not be impressive but very promising. Google apps and mail is available for anyone for free even with your own domain name. GWT2 which should be out in 2010 is offering everything the first version failed and is a flagship of html+ajax against the Flex+JavaFX apps. Google App Engine is finally available for Java, and it is the most easy cloud to start with. Android is marching and for sure has brighter future than any other including the iPhone. Android SDK is the dream platform of any developer and soon with the better hardware devices it may become the dream phone. Well done Google! By the way one more thing I expect from Google in 2010, they should hire me :)

IBM; Everything started with the rumor of IBM buying Sun which ended in a not expected way. IBM should be wondering what will happen to Java and all other what if scenarios. 2010 will be hot for them.

Microsoft; Still trying to recover from Vista disaster, Microsoft finally released Windows7. Its not a huge step, not innovative but at least it is not Vista!, yes it can work, and if you are a vista user and not planning to move to ubuntu or mac than yes it is definitly worth to upgrade! Not much news for developers except for their own cloud, the Azure. I feel they are much behind what they expect from silverlight but silverlight 3 seems much more complete can compete with Flex. Windows mobile is suffering, really i can't even imagine how i survived using my old phone about a year and I don't really expect much. Windows mobile was the only platform the demo failed at AdobeMAX for the new Flash player. Sometimes I really can not understand Microsoft. They had the mobile OS much before than Apple and Google. I understand they don't have the vision of Apple so they failed to built a competitive one but even Google built one from sketch after that and they still can not improve theirs. I wonder if this is a plot for Gates. Is he planning to return and rescue just like once Jobs did in Apple? Well if so please hurry. Anything positive about Microsoft in 2009? Well i do not know what is it good for but they opened a cafe in Paris, named the Windows cafe. In 2010 most probably internet explorer will become less popular against chrome and firefox, windows mobile will be buried against iPhone and android. A new wave of tablet from apple or netbook (with chromeOS) reveloution may wipe out windows from that market.

Oracle; bought Sun and Larry was on stage at JavaOne keynote. Oracle became having 3 major application server, 2 major database, offering 2 competitive IDEs. Lately they announced that they will not kill MySQL to get approval of EU for the buy out but I don't think Netbeans would survive like MySQL. Glassfish may also become a victim. The main questions is what will happen to Java, well Larry is smart even if he wants to change everything he would not do it that fast and get anger of the community. So yes I expect to see a JavaOne in 2010 and I think JCP will survive. Actually it would be very encouraging for the community if Oracle give up their chair from JCP and let them survive on their own. Lets see what will oracle bring to Sun in 2010.

Sun, is sold. Everything started with the news of IBM buying Sun. At first I was worried but later I was even more worried when Oracle bought Sun instead of IBM. 2009 was quite full for Java. JavaSE 7 is coming to end, JavaEE6 is already out with Glassfish3. Netbeans had several releases. JavaFX is finally much more stable and usable, with better IDE support and mobile support. If Oracle would insist on JavaFX, i really believe it can compete against Flex and Silverlight. JavaEE6 has quite nice features and is filling every gap JavaEE5 had. EJB3.1, Webbeans, EJB lite are all long waited nice features. JavaSE7 is not a very major update, but still nice to see the progress and also there are some nice enhancements under the project coin, which may really improve the coding style and syntax of the language. All I can expect from 2010 is more investment on JavaFX in terms of features, components, devices, and better IDE integration and support.

For me, 2009 was a bit boring at first half (yeah good guess I was back to JSF that time), but the second half was quite fun. Attented Google I/O (received a free Android HTC Phone) and JavaOne, watched most of the sessions on AdobeMAX, had a presentation and tutorial session at Eclipsist. I was able to play, teach and mentor with Flex, learn some Objective-C and mess with iPhone apps (even released on to App Store), had some Blackberry development, and of course started warming up tours with Flex4. Oh also we doubled the posts on FlexJava this year reaching to 84 countries.
Waiting to see what Santa brought for me for 2010. Merry christmas and a happy ne year!!!!

Thursday, 3 December 2009

Web Service Definition with CXF, Maven, Spring

For a long time I have never designed and implemented a web service. I think for 2 years I have been using Remoting in my projects. Two days ago my company needed a small web service. The web service method would take a collection of entity as a parameter, then operate on the entities and return the operated collection back. I implemented the web service using Eclipse platform's web service tool. I have created an interface and the implementation class. Then I right clicked on the implementation class and selected the Web Service link, then Create Web Service link.


Then a pop up window opened and when I clicked the Next button I received a warning message below.


I recognized that axis needs custom object's definition in the wsdd file. And it does not support List, Set, Vector.. vs types of java. If I would define whole the custom objects to a definition file I would suffer from that.

I searched for web service tools for a while. I found Apache's open source project CXF. I sometimes heard about cxf from my brother. I was new to CXF and I needed a sample Hello World project to see the steps of creating a new project. In general, people type blogs about new technologies, but they don't provide a sample project implementation. I am suffering about this problem. Some of bloggers paste their code blocks but sometimes they are not enough. Yesterday night I have found a blog about CXF from
http://www.benmccann.com/dev-blog/web-services-tutorial-with-apache-cxf/
. Thanks to Benjamin.

Then I created a dynamic web project, enabled maven, enabled spring to the project. I created the operation classes, client class and tested the project. The console made a smile at me. You can download source code of the project. To run the project all you have to do is deploy to Tomcat and run Client.java as a java application. Enjoy :)


Microsoft's reply to Apple Stores; The Windows Cafe



This picture was taken, on december 2nd on Boulevard Sebastapol, Paris. I can't find words to describe how suprised I was. So what is Windows Cafe for? specially in Paris which is famous for its cafes.
First of all it has nothing common with a regular Paris Cafe or any Apple Shop. Its a Nespresso Store clone in terms of design, with a bar body guard waiting in front door, with few pcs inside and some windows boxes on the shelves. Probably the body guard is for stopping the apple users going inside.
The idea is really funny, and reminded me the Apple commercial where the windows guy was spending money on ads instead of fixing vista.
I think even Steve Jobs could not imagine to offer such a stupid thing if he had a spy in the board of directors of MS. Or is it someone in Microsoft who enjoys watching the Apple ads making fun of them.
So what next, Office restaurant? Visual Studio hotel?.. hmm may be IBM would also join with a Websphere theme park.
Oh god I never thought i would miss Gates...