Eclipse Summit India '09 : Happenings from Day 2

DZone 's Guide to

Eclipse Summit India '09 : Happenings from Day 2

· Java Zone ·
Free Resource

This article is a continuation of my previous post .The vision of Eclipse Summit India '09 is to nurture new contributors and to create new proactive committers to the Eclipse community. If Eclipse Community is getting diversified with lots of new projects, Indian Software Community is already diversified into lot of areas; its just a matter of time to organize and channelize the motivated young developers to the Eclipse community.

Annamalai, Prakash GR and Chetan Kumar has already posted about the 2nd day of the Eclipse Summit India 09 on their blogs. Please check out Its Eclipse in Clips and Eclipse Tips and Eclipse Fever to get the perspective of the summit from the eyes of the organizers and speakers of the summit.

On the 1st day I was hopping between sessions. As the rolling stone I did not gather much information for the developer in me, even though I could get lot of information and photos for my blog. My priority for the 2nd day was to gain some technical knowledge, so I opted to attend the 3 hour session 'Design patterns in Eclipse' by Ilya Shinkarenko in the morning and the 3 hour session on OSGi by Sameera Jayasoma in the afternoon.

Before the technical presentations, the 2nd day opened by the keynote talks by the platinum sponsors, and this time it was the turn of Oracle and IBM.

(Clips from different sessions at Eclipse Summit India, Day 2)

For Oracle Mr. Dhiraj Bhandari from the sales team introduced their product. He presented OEPE (Oracle Enterprise Pack for Eclipse). This pack consists of Oracle Enterprise Pack for Eclipse 11g, support for Web Services, JSF, ORM Workbench etc.

One of the amazing feature he showed is the ' Fast swap' feature. Earlier, if you have ever worked on a client-server software application, you know that it takes lot of time for its 'code-deploy-test' life cycle. Even if you need to make a small code change, you need to deploy the entire project and then execute it. Using the fast swap feature, just make the change in your code, save the changes and execute the server application :). The deployment happens automatically in the background, just like the compilation happens in the JDT. Its that simple.

The Oracle's strategy - They are planning to phase out Weblogic Workbench, and more importance will be given to the JDeveloper and Eclipse Packs. It was a new information for me to hear that Oracle is the #2 committer to the eclipse community, after IBM!!!

After Oracle, it was the turn of IBM to present their tool - Rapid Application Developer for Websphere. IBM slides showed some interesting survery results from Gartner Group. Only 42% users are satisfied with the quality of the software products, only 34% of projects are successful, only 37% users are happy with the execution speed of the software products etc. IBM also featured Rational Data Architect, Rational Software Modeller and Rational Software Architect.

After the keynote talks, I headed towards the talk 'Design Patterns in Eclipse'. Ilya explained some of the patterns used in the eclipse framework using a sample RCP application. The patterns covered were,
  • Adaptibles (Properties View). This can be related with the Extension Interface pattern from the traditional patterns.
  • Singleton
    eg: PlatformUI.getWorkbench(), Platform.getAdapterManager(), ResourcesPlugin.getWorkspace().

    The disadvantages of this pattern includes classloading issues, unpredictability in dyanmic OSGi environment etc
  • Bridge Pattern
    eg: OSGi Service Registry
  • Whiteboard Pattern (Pluggable Listeners)
    This is an OSGi pattern.
    eg: Usage of ServiceTracker to register listeners
  • Proxy-Bridge Pattern (IResource to access the file system)
  • Composite Pattern (IWorkspace)
  • Observer Pattern - for tracking resource changes, event listeners in SWT.
  • Visitor Pattern
    eg: IResourceDelta and IResourceDeltaVisitor, IResource and IResourceVisitor etc
  • Strategy Pattern - Layout managers in SWT
  • Plugable Adapters - Label and Content providers in Jface
  • Command pattern - IAction implementation
  • Memento - For persisting UI state in Eclipse workbench.
  • Virtual Proxies - The lazy loading rule.
It was quite a useful session. Thanks Ilya for all the details.

(Clips from different sessions at Eclipse Summit India, Day 2)

During the lunch session I could interact with the Platform team from IBM. Post lunch I headed towards OSGi session by Sameera Jayasoma from Sri Lanka. He is a senior developer at WSO2 Inc., the open source SOA Company. He started his talk with a few words on WSO2 Carbon. Then he explained the need for modular systems and went to the details of OSGi. The workshop had lot of hands-on demos. I created my first OSGi project :).

The 3 hour long session gave some valuable information about OSGi internals.

Meanwhile in the other rooms, Anshu Jain from IBM talked about 'Eclipse: A framework of frameworks'; Janakiram MSV, Deputy General Manager, Bell Labs India talked about Google AppEngine for Java and Eclipse Developers; Krishna Venkataraman, Director, Product Management, Actuate Corp., presented Actuate's prestigious product BIRT; Srinivas Kantipudi talked about a few Eclipse Test Automation Tools, Munnangi Ravindra Babu talked about 'Fast track to develop online analytical applications using BIRT.

There were a few Salt March get aways like T-shirts, gifts from quick contests etc.

Salt March Media and ANCIT consulting had done a great job by organzing such a mega event successfully. As the eclipse community grows in India, the credit definitely goes to organizations like these, who think about the future and act. As I had mentioned in my previous blogs, open source is not a charity always; many businesses thrive on the open source model; but as open source projects 'gets' the revenue, it 'gives' back to the community; its a win-win situation.

And together, we grow as a community.



Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}