Skip to main content

IndicThreads Java Conference 2010

This is my second consecutive Java conference from IndicThreads. Here are some of the topics and the speakers who had share their valuable information. The conference is great and I recommend all to visit it once and see the difference

Harshad Oak
Harshad is the man of few words. He is the organizer and owner of the indicthreads conference. He is the Java Champion and Oracle Ace.

He started conference with the topic Java: Riding the Change where he discusses the changing the nature of the Java. What is around the corner and what Java guys need to be in mind in the coming time.

He discusses the language changes and the Oracle view on the Java.
He had given his experienced thought on the many of the scripting languages like groovy, jython etc. He clarifies that the place of Java is more superior to any of the other languages. Java superiority will be continued.

He had also told about the 5 - 95 rule which says that 5% of the people think java will be lost in the near future and rest 95% think opposite. There is a drop in the cool quotient among the new developers which led to uncertainty.

JavaFX is good upcoming scripting language and is good to try but is definitely not to rely upon.
All in all the good news that Java will rock in the future and will be a dominant language.

Saager Mhatre
Saager, the confident guy with glasses demonstrates the Domain Specific languages (DSL’s) with Groovy. DSL’s are the languages that are target to a particular type of domain. Many new languages are coming out that in the same way as Groovy.

Why do we need domain specific languages? In answer to this question Saager explains that these languages provide better domain-expert interactions and help in improved developer productivity.

After that he started a brief introduction about the Groovy. He beautifully explains how we can change the code from Java to Groovy. His main focus is on the Groovy and how it can be used as the DSL.

The use of Groovy helps to reduce the code at the minimum and with the more readability. He also demonstrates the example of Java and then step by step converting it to the Groovy.

Aniket Shaligram
Aniket is another confident and young guy who holds the session on Flex on Grails. He started explaining the use of Rich Internet Applications (RIA)

Why should we use RIA applications? Better user experience and No browser compatibility issue are two of the reasons for that. Flex is best for the RIA application for front end. After that he started with Flex details and some good example of it.

Basically the example which he explained was from the adobe site. The example demonstrates the basic CRUD functionality. This example is very good and I love it. Then he explained the why Flex is better than Silverlight and JavaFX. Maturity is one of the main reasons why Flex has taken lead.

After that he turned to the Grails and started talking about why it should be used. Some of the reasons what he had explained are: Grails is Java based, it is Groovy based and it follows the policy of DRY i.e. Don’t Repeat Yourself.

He had explained about the security plug-in and scaffolding plug-in of the Grails that help the developers with the coding part.

Jagdeesh
Jagdeesh the very talented guy from Sun Microsystems which is now Oracle presented the talk on the JavaEE 6 – Deep Dive. He had an experience of around 9 years. This can be seen from the way he is giving the session. I love the way and the knowledge he shares with the audience.

He told that JavaEE implementations are done by the two main players i.e. Glassfish and the TmaxSoft. Whenever JavaEE versioned is released there is a TCK is launched i.e. Technology Compatibility Kit that specifies that the follows all the standards.

He had described some of the best features of the JavaEE6 like Servlets 3.0 which can be used as asynchronized way. Now from JavaEE6 onwards the web.xml is optional and it is up to the developer to use it or not. We can specifies the annotations in the servlet itself that will tell them there URL pattern and name which is earlier done in web.xml .

The use of JavaEE6 in the application makes it more fast and scalable. In between the session Jagdeesh also shows the demo of the new features which were recorded by the Arun Gupta. The session continues for 2 hours but the way he delivers it does not count for it.

Many questions arised from the audience that why we should use the JavaEE6 as Spring provides most the things in better way. But Jagdeesh explains that with the new version of the Spring some of the functionalities will change and the old functionalities will stop working but in case of JavaEE6 this will not happen.
JavaEE6 is based on standards that are plus point which will help the lower versions of the software to be worked with the newer versions.

Santosh Kumar
Why OSGi matters for Enterprise Java infrastructures is the session on which Santosh talks. OSGi stands for Open Services Gateway initiative. He started by simply asking question what is OSGi?

Everyone knows (at least the people working in eclipse) that eclipse is based on the OSGi. It basically shows how we can make the application in more modular way.

Sometimes when we make some modules in the application which are good for that time but in future they might not be that good.

Is there any way that we make the application work correctly by changing the modules without disturbing the functionality of the previous running application? Now Java does not provide this type of functionality and the Java guys are working very hard to make it more modular. There is a project named Jigsaw which will be integrated into the Java 8 as per the Oracle.

This project helps the Java to be more modules driven. How OSGi handles this? In eclipse whenever we deploy a new plug-in it automatically picks it up. OSGi handles it by making the modules and there is a META-INF file each module which tells about the version number and the dependencies which it is depends upon.

Developing applications using OSGi makes faster and module driven which will help developers to develop the code. More information on OSGi can be gathered from http://www.osgi.org

Venkat L
Venkat is from IBM Bangalore and is experienced guy. He is very confident about what he is presenting. He gave the talk on the Best practices for performance evaluation and Diagnosis of Java applications.

He explains the working of the JVM. How JVM handles your code and what we should do to make our applications works smartly. We can set the garbage collection policy in the JVM according to the needs of the application. Healthcenter is a tool by IBM which can show the performance of the application but it is only for the IBM JVM.

JVM contains the JIT i.e. Just In Time complier which basically converts the byte code to the machine readable format. JVM is smart enough to see if the method is called frequently. If it does then it optimizes the method to make the code run faster. But in this case the line of code that is generated is more but this is one time activity.

JVM has been making changes from the time it is released. IBM is working on its JVM and Sun is working on its JVM. By time to time one is better than the other.

Shekhar Gulati
 Shekhar is one of my favorite speakers. Spring Roo and the Cloud is the topic on which he gave the talk. He is very energetic and young and Spring loving guy.

First release of the Spring is in the October 2002. From then Spring has gone many changes. Spring Roo is one the many changes that is in existence.

Spring Roo is the development tool which generates the boiler plate code for the developer. It does not come into the picture when we talk about the runtime or compile time. It is basically a rapid development tool for the Spring projects which are based on maven.

Spring Roo is so much easy to configure and use that anybody by taking a small understanding of it can make a Spring project. It is command based and its console is written in Ruby.

His 80-90% session is demo. He drives the audience to demo and shows how within minutes any developer can make a project out of it. I love the Spring Roo functionality. Simple commands and great results.
Adding the functionality to the Spring application is child’s play. Type security setup and viola Spring security is integrated into the project. Similarly we can add logging

Why should we use Spring Roo? Because it is easy to configure and it is based on the standards. There is a specific requirement for Spring Roo that is application should be web applications and it should have database bind to it. It is very easy to learn and apply.

JMS, JSON, Spring web flow, SOLR are some of the functionalities that we can use with Sprig Roo.

Prashant
He is another guy from IBM. He gave his talk on optimizing the Java application.

His main focus is on the how to increase the performance of the application. He had given many tips how we can increase the productivity of the application.

He had also described some of the tools that can be helpful for the performance like the JLM i.e. Java Lock Monitor. It can be downloaded from http://perfinsp.sourceforge.net/jlm.net

Avoiding the synchronization in static methods and breaking the long synchronized blocks into the smaller one. He had also given introduction about some tools for memory management.

UnConference
This is something I had seen for the first time in the conference. Unconference is a talk or the discussion between the delegates on the various topics. Anybody can write the topic on the white board available so that it can be discussed.

As per Harshad this is something that is started some conferences back.
One topic is a Spring vs JavaEE6. This is very interesting and I love the way it is organized. And the role of Java in the future is also discussed.

Various tools for the increasing the performance and productivity are also discussed in this session. Some tools for the memory management are discussed. MAT (Memory Analysis Tool), yourkit, jprofile, visualVM and SpringInsight are some of the tools that will help.

Gaurav Kohli
He is the guy from the XEBIA who gives talk on the Breaking relational RDBMS and dating with HBASE. This is very interesting talk which I love because I am very new to the NoSQL. Yes, HBASE is the database which is based on the NoSQL.

He started with the discussion on the cons of the RDBMS like it cannot be scaled. Cassandra and HBASE are the two NoSQL solutions. There are also other solutions but Gaurav had main focused on the HBASE.

Cassandra is based on the performance and availability whereas HBASE is based on the availability and consistency.

Facebook has accepted Cassandra as they want performance and availability where as Yahoo is based on HBASE. HBASE is based on the key value pair. RDBMS is based on the row-column based whereas NoSQL is based on the column based only where everything is stored in columns.

In the end Gaurav told that HBASE is not a replacement of RDBMS but solves a subset of the problems that were generated by the RDBMS.

Sanjoy Singh
Sanjoy is one of my favorites and he is the last person to give the presentation. He talks about Building scalable and language independent Java services using Apache Thrift. The way he presented the session is very impressive. He started his session with line on his presentation.

COMPUTERS ARE NOT INTELLEGENT HUMANS MAKES THEM
Reading this line makes everyone go with the line but when Sanjoy added one word to the line everyone started laughing. The line becomes
COMPUTERS ARE NOT INTELLIGENT BECAUSE HUMAN MAKES THEM

Application is developed in one language by some of the developers. Problem arises when the language does not fulfill the requirement of the application. Then it is very difficult for the developers to do the task because the services are written in other language.

Then he started talking about the new framework developed at Apache known as Thrift which helps to solve the above problem. This will help to write the program written in thrift and then with some commands we can convert the code in different languages like java, php etc.

He had also given example demonstrating the same. He writes some code in a file and save the file with .thrift extension. Then he run command that generates the code for the different language depending on the command. He makes the java code as server and called that code from the php. It runs absolutely in the same way as it is written in php.

This solves the problem which is described above. Now we can write the code and then we can call in any language. That’s great!!

I am willing to see some more examples written in Apache Thrift. Since it is apache project we can download the source code and see the source of the Thrift.

I love the overall conference loves to go there again :)

Comments

  1. u rock man!!!!! Keep it up:)

    ReplyDelete
  2. Last time, I missed the opportunity to attend this conference with you buddy.. But will try to make it happen this time.. :)

    ReplyDelete

Post a Comment

Popular posts from this blog

Getting height and width of image in Java

Yesterday I was working on something that requires manipulation of image for getting its properties. After searching over the internet I found a very intersting class on Java i.e ImageIO and BufferedImage class. These classes are good enough to manipulate images. there are many other claases also. But what I need i got it from these. I found many developers searching over internet for getting properties of image and there is no good small example for that. Thats why I thought why not creating a simple code to manipulate the image and help the developers. Here is the small code that helps to get the height and width of the image. Enjoy it!! import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class GetImage { public static void main(String[] args) { try { File f = new File("E:/Vinod/Docs/Pics/krishna_01.jpg"); BufferedImage image = ImageIO.read(f); int height = image.getHeight(); in

Struts 2 Hello World Example

I had seen many new deveopers struggling against struts2 hello world example. So I decided to write a small example. Below are the required libraries to run this example which are easily availabel struts2-core-2.1.8.1 xwork-core-2.1.6 commons-logging-1.0.4 commons-logging-api-1.1 freemarker-2.3.8 ognl-2.7.3 commons-fileupload-1.2 The structure of the applictaion which I am following is (Eclipse IDE) Struts2Demo |---src | |----org | | |----vinod | | | |----action | | | | |----HelloWorld।java |---struts.xml |---WebContent | |---jsp | |---HelloWorld।jsp |---index.jsp |---WEB-INF | |---lib | |---web.xml Struts 2 in Action It is true that different IDE's use different structure, but at last when war is build they follow same structure. Lets start... HelloWorld.java import com.opensymphony.xwork2.ActionSupport; public class HelloWorld extends ActionSupport { String greetings = null; public String execute() throws Exception { setGreetings("Hel

Struts 2 Ajax drop down Example

Struts 2 has emerged as boon for developers. But the documentation available is very small. So I had decided to give a brief demonstration of the ajax used in struts 2.1.8.1 Libraries used: commons-beanutils-1.7.0.jar commons-fileupload-1.2.jar commons-logging-1.1.jar commons-logging-api-1.1.jar freemarker-2.3.8.jar struts2-core-2.1.8.1.jar struts2-dojo-plugin-2.1.8.1.jar xwork-core-2.1.6.jar In this example when u select from one drop down the other will populate accordingly. You can use it as it is or play with it. Enjoy !! index.jsp <%@ taglib prefix="s" uri="/struts-tags" %> <s:action name="ListingAction" executeResult="true"></s:action> listing.jsp <%@ taglib prefix="s" uri="/struts-tags"%> <%@ taglib prefix="sx" uri="/struts-dojo-tags"%> Listing detail.jsp <%@ taglib prefix="s" uri="/struts-tags"