Tuesday, December 17, 2013


I spent some more time going through SCALA. To me SCALA now looks like "C" / "C++" programming. So it is somewhere between Java and C/C++.

For example,
1) the format statements.
2) The Collection library with various functions
3) It's own persistence framework
4) Exception handling mechanism
5) Polymorphism
6) Concurrency programming

Having said this, please note that SCALA is based Java and not C/C++. I just compared it with C/C++ because of some of the similarities mentioned above.

You can read more about this here - http://twitter.github.io/scala_school/


Wednesday, December 11, 2013

SCALA / PLAY Framework

When I first heard about the SCALA programming language and PLAY framework, I thought that this is another fashion technology which will die soon. But then I played with it and found that these combination will go a long way in future (like Hadoop) especially for non-enterprise Java applications.

PLAY framework is just like MVC which has one central controller, various actions mapped to each page and Model. Note that concept is highly evolved and very intuitive once you get familiar with it.

Also, there are various templates available including integration with Spring framework, JPA and hibernate. The compiled source code can run in provided typesafe-activator or can be built as a WAR file and deployed on Tomcat or JBoss or any other application server. This means that if your target deployment is on JBoss, you can also use EJB.

The typesafe-activator is very fast and provides shell. I liked the idea of SCALA which is built on top of JVM and you can mix and match the JAVA and SCALA programming language constructs.

Also, take a look at the SCALA IDE - http://scala-ide.org/

I think the combination of PLAY and SCALA has a very bright future.

Give it a spin :-)

--Tejas Bavishi

Wednesday, July 17, 2013

Apache Ambari

Apache Ambari project is available at Apache Ambari Site

This project is for operations team who are managing, provisioning and monitoring Hadoop clusters. This has intuitive web UI. Ambari does not support windows operating system currently.

There is similar product released by Cloudera called HUE or Hadoop User Experience.

Ambari leverages Ganglia and Nagios for some of it's features.

This is still an incubator project, so expect more activities on this.

--Tejas Bavishi

Tuesday, July 16, 2013

Google BigQuery

Google has introduced BigQuery or BigData analytics at cheap price. It is available at - Google BigQuery

This is suited to applications that have Big Data platform like Hadoop for managing bulk of data in Terabytes.

The data can be loaded to Google BigQuery either using Google Cloud Storage or via HTTP post job.

Once data is in, it can be queried and used by many applications like for example, there is Java client library which can connect to Google BigQuery and fetch data for analytical applications.

There are many tutorial videos about features of Google BigQuery available at - Google BigQuery tutorial videos

Tejas Bavishi

Thursday, March 28, 2013

TomEE - Open source Tomcat Application Server

Several years back, there used to be argument that Tomcat is a servlet container and not an application server as it does not have support for EJBs.

Now there is a new open source product called TomEE which is aimed at certifying for JEE 6 web profile. What this means is that this is Tomcat plus EJB plus JSF plus web services plus dependency injection plus JPA, etc.

This has the complete JEE6 stack configured out of the box and is therefore Tomcat application server or TomEE.

Here's the link - http://tomee.apache.org/apache-tomee.html

It is an Apache project :)

Happy TomEEing

Tejas Bavishi


Saturday, February 23, 2013

SOA - Service Oriented Architecture

How to implement SOA?

Service Oriented Architecture is a orchestration of web services. These web services can be created in Java or .Net. Also, some of these web services are connectors or wrappers provided by various vendors who sell ERP, COBOL legacy systems. The orchestration is achieved using BPEL engines. Because web services are platform independent and XML based to communicate among them SOA is popular.

Note that it is only the interface which is interoperable. Behind the scenes a web service might wrap an EJB, which connects to database using hibernate.

Also, a set of web services which are bundled together as one application because of orchestration using BPEL, may act as an atomic unit of application. In a typical enterprise IT landscape, there could be many such atomic applications and they will have to work together. That is where ESB - Enterprise Service Bus comes in to picture. While there are many open standards for web services like JAX-WS and SOAP, there are no standards for ESB like we have for web services. ESB is infrastructure and backbone for SOA. You cannot buy SOA but you can buy an ESB product. The ESB is like USB which allows a variety of hardware devices to connect to the PC.

For example, ESB allows clients to connect a variety of messaging systems without forcing to create point-to-point channels.

The distinguishing feature of various ESB products have one most important feature and that is to what protocols it supports, like SOAP, HTTP, JMS, HTTPS, SMTP, XMPP, FTP, connectors to various ERP and business applications, to legacy systems like COBOL.

The ESB proves a very important mediation and transformation capability for SOA. For example, if a customer id field changes from all alphabetic characters to all numeric characters, ESB will be very useful to transform this data at the ESB bus level before reaching to a SOAP based service end point.

Having said that it is not always important to have ESB in SOA.

SOA is fundamental to any large enterprise IT system and building products that are readily integrable to SOA should be on the product roadmap of any ISV's product design.

Happy SOA building :)

Tejas Bavishi

Openstack.org - IaaS - Cloud Computing

Openstack.org is providing APIs and open source stack in the area of IaaS, Infrastructure as a Service. So it is more suited to service providers who want to provide virtualization to consumers or more like Amazon EC2 or rackspace like offerings.

Openstack also talks about using the same open source stack in enterprise as private cloud or private IaaS. This is in direct competition with Eucalyptus stack. But I think that openstack is much more advanced and also has lot of open source community support.

Here is the link for openstack.org - Openstack.org

Here is the link for Eucalyptus - Eucalyptus.com

Happy cloud computing :)

Tejas Bavishi

Friday, February 22, 2013

SaaS: Cloud based metering and billing solutions

There are few providers of cloud based metering and billing solutions around the globe. The solutions are very different by each provider, so it is difficult to compare product service provided by one provider to another.

In this scenario, the approach an ISV can take is to evaluate based on solution requirement, market good will and cost charged by the solution provider.

You can google and you will find few companies who provide such support.

It is also not difficult to build your own billing and metering solution based on how complex you want it to be.

Happy cloud computing :)

Tejas Bavishi