Tuesday, January 27, 2009

Essential Java resources

This is very useful article, it has most of the resources you may need that if you are java developer. Which has collection of resources for Web sites and developer Web portals, Weblogs, Packages and/or libraries, Conferences and books.

Read the full article here.

Sunday, January 18, 2009

Axis2 1.5 is coming stay tuned

After about six month we are working towards getting Axis2 1.5 release. Glen has done two beta releases so far, so download the beta releases and see whether the issues you want to fix are fixed there. Then if it is doable team may consider that.

You can download the release from - here

If you see a problem create a JIRA

Friday, January 09, 2009

Component Oriented Architecture and WSO2 Carbon

Computer industry is changing so rapidly and technology coming and going very fast, some are stay in the industry some longer duration and some are not. So anyway by looking at the technology movements I think next generation of computer would be component oriented. Where in the first place we had very tightly coupled computing with zero extensibility and zero flexibility. Then they moved to loosely coupled systems. A classic example of that is Service oriented architecture or SOA.

There the idea is everything in the system is services, so the communication between service happen using message passing. So system become so flexible and extensible. And there are few ways of implementing SOA too;
  • Using existing messaging system
  • POX- Plain Ole XML
  • Web services

And I think Web services became very success in the SOA, and it has become a industry stranded for SOA. So many specification, so many implementation. Above all due to standards and standards bodies like WSI, most of the implementations are said to be inter operate. For example Microsoft .Net and Apache Axis2 inter operate each others.

Moving beyond the service oriented architecture, now people are developing system using building blocks called components. With the introduction of OSGi it has become a very popular topic. When I heard about OSGi I did not realized the power of OSGi and specially components based systems. But now I know the power. Even Axis2 can be used as an OSGi bundle (or component).

By adopting to the new technology WSO2 has also moved most of its projects to OSGi based components, as a result of that they can build different kind of system integrating different building blocks of OSGi bundles. By looking at the activities going on, I would say WSO2 Carbon is becoming one of the coolest project or rather framework for building SOA related technologies, such as Web Services, ESB, Registry etc, ..

Fun with Google Maps

We all know Google Maps is very powerful and useful tool, in the meantime no magic it is a software, and idea of this post is not to tell anything bad about Google Maps. Today I wanted to get directions to some place, after completing that just for fun I searched direction from Mountain View, LA, USA to Japan interestingly Google was able to give me the driving direction from MV to Japan, we know it is not possible to drive from USA to Japan, however due to some incorrect logic (bug) it gave me the directions :) . I know how hard to test all the use cases, so it is ok to have this kind of bugs in a software, it is tradeoff between usage and the perfrormance (being a software guy I know how hard to test all the edge cases). I know what I did was a crazy (who is going to drive from USA to Japan) thing too, ... but it was fun. Want to look at full directions ? see here

Monday, January 05, 2009

Autonomic Computing

While I was reading about cloud computing I encounter the term “Autonomic computing”, then I found that it has a direct relationship with the cloud computing. First let's look at what it mean by Autonomic computing. Autonomic computing refers to the self-managing characteristics of distributed computing resources, adapting to unpredictable changes whilst hiding intrinsic complexity to operators and users. As name implies an autonomic system makes decisions on its own, using high-level policies such as service level agreement; it will constantly check and optimize its status and automatically adapt itself to changing conditions.

Nice thing here is that though it said to be self manage it does not have any Artificial Intelligent (AI) involve with it, it is just control theory. Having said that Autonomic computing can be modeled in terms of two main control loops (local and global) with sensors (for self-monitoring), effectors (for self-adjustment), knowledge and planer/adapter for exploiting policies based on self- and environment awareness.

Typical Autonomic Computing system will contains following characteristics,
  • Self-Configuration: Automatic configuration of components;
  • Self-Healing: Automatic discovery, and correction of faults;
  • Self-Optimization: Automatic monitoring and control of resources to ensure the optimal functioning with respect to the defined requirements;
  • Self-Protection: Proactive identification and protection from arbitrary attacks.