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


Saturday, December 29, 2012

Spring Framework Data Access Object support - templates

Spring supports Data Access Object with 3 standard possible ways:

JDBC Templates
Hibernate Contextual Sessions
JPA Based templates


XML bean wiring includes follows:
Datasource configuration - JNDI or connection pool based
Wire template class with property to use the above datasource


JDBC Templates are for applications that are very small and requires quick development. Still will not support things like lazy loading, eager loading, cascade deletes, objects graph.

Hibernate Contextual sessions will support what is not supported by JDBC as mentioned above.

JPA based templates are JEE based standard and supports variety of frameworks from different vendors.

The templates are boiler plate code that is provided by Spring framework to write just the database access code and not worry about connection opening, closing, cleaning up of objects.

Had a good read on the above.

Tejas Bavishi


Thursday, December 13, 2012

Spring, Vaadin and CloudFoundry

There is  a good presentation on building web applications which are cloud based using Spring framework, Vaadin and CloudFoundry.

The presentation is here to build on the idea - http://www.slideshare.net/joshlong/cf-vaadin#btnNext

Happy reading :)

Tejas Bavishi


 

Hadoop in Practice book

Hadoop in practice book is available on Amazon.com.

This book looks promising for developers and architects, though I am still to read this book.

The book covers various practical approaches (practices) to various components of a Big Data or Hadoop based system.

Here's the link to the book - Hadoop in Practice Book

Happy reading :)

Tejas Bavishi