Wednesday, December 22, 2010

Cloud Computing

It's been long time since the last update in my blog. There are several reasons for not updating this as I changed the company and there is no access to blogs from that company.

I would like to take this opportunity to publish a new article on Cloud Computing as this is the hot technology in today's market.

Many companies or most of the people talk about cloud, cloud, cloud....what is this all about? There were so many jargons, services in cloud like SaaS, PaaS, IaaS etc., Below article should educate about all these things. Hope this will be helpful!

Cloud Computing: Is a style of computing over internet where shared servers provide resources, software and data to computers/other devices on demand

Cloud Services
  • IaaS (Infrastructure as a Service) – Is the delivery of computer architecture over internet. It involves the use of remote computers (operating systems, database, middleware, applications) and storage
  • SaaS (Software as a Service) – Is the delivery of Applications (e.g., CRM or ERP) as a service to end users over internet through browsers
  • PaaS (Platform as a Service) – Is the delivery of Application development and deployment platform(e.g., Pega) as a service to developers over internet through browsers, who use the platform to build, deploy and manage SaaS applications

Cloud Types

  • Private cloud is also called internal or corporate cloud, which provides hosted services to a limited number of people behind firewall
  • Public cloud is also called external cloud, where resources are dynamically provisioned on a self-service basis over internet


  • Security on physical, virtual and cloud environments
  • Roles/User management for authentication and authorization
  • Firewall settings to control network access between group of instances
  • Virtual private cloud by specifying IP range for the access
  • Backups and Monitoring
  • Logs and Reporting

Availability and Performance

  • Multiple locations - Cloud instances will be hosted/available in multiple locations to ensure high availability
  • Load Balancer – Automatically distributes incoming traffic to multiple cloud instances for fault tolerance and load balancing for higher performance

Cloud Storage

  • Is a model of networked data storage where data is stored in multiple virtual servers rather than being hosted on dedicated server
  • Hosting companies operate large data centers, who virtualizes the resources according to customer requirements and expose them as virtual servers, which customers can manage

Cloud Monitor

  • Is a kind of dashboard that provides monitoring for cloud resources
  • Provides visibility into resource utilization, operational performance including CPU utilizations, disk read/writes and network traffic

Inter Cloud

  • Is an inter connected global “cloud of clouds” and is extension of Internet “network of networks”
  • This is helpful where each cloud can use the computational and storage resources of other clouds


  • Cost is greatly reduced as infrastructure is provided by third party
  • No burden of managing IT infrastructure
  • Device and location independence
  • Scalability via dynamic provisioning of resources on a fine-grained, self-service basis
  • Ability to rapidly and in-expensively re-provision technological infrastructure resources
  • Reliability is improved if multiple redundant sites are used
  • Maintenance is easier since they don’t have to be installed on each user’s computer


Friday, May 22, 2009

Oracle Fusion Middleware Architecture

As many of you aware that Sun was acquired by Oracle in April, 2009.

There is a big overlap on software products of Sun & Oracle like IDM, SOA, Database etc., Each of it's product has got it's own strengths and weakness.

As we don't know which sun products are retained by oracle and what products will be merged/scrapped etc., we have started evaluating some of Oracle products

I have spend sometime to understand Oracle Fusion Middleware which is similar/competitor to Sun JavaCAPS/Open ESB.

I had drawan a diagram to depict my first level understanding on Oracle SOA suite as shown here.

It contains 3 broad categories, Design Time, Run Time and Administering/Monitoring tools.

1. The underlying layer is the Oracle ESB, which provides adapters, routing services etc.,

2. On top of it, OWSM (web service manager) is available for communicating across applications via web services

3. Third layer is the heart of any SOA tools, which is called BPEL Process Manager

4. Fourth layer is the Oracle Business Activity Monitoring for providing dash boards

5. Above this, some applications like B2B (Business to Business Integration) available

To administer/monitor all of the above, there are some monitoring tools available from each layer as shown in the diagram

Oracle JDeveloper and Eclipse IDEs supports design time activities for the developer to develop SOA applications

These applications can be deployed and run on to the application servers like Oracle App Server or Weblogic etc.,

Tuesday, March 10, 2009

Comprehensive example in Open ESB using File, FTP, JMS, JDBC and Soap

The last 5 articles explains different binding components (File, FTP, Soap, JDBC, JMS) usage in Open ESB. To summarize and get more understanding of each of this BC, here is a comprehensive scenario using all of these binding components. Let's define a problem that requires to use all these BCs.

Problem Description: Get the employee details from the database based on employee id and publish it in JMS. There will be two different subscribers who listens to JMS and consumes the message based on some filter logic and publish the message either on local file or on FTP server. The whole solution should be exposed as a web service so that it can be accessible to any web service client.
Let's assume that you have to implement this solution in normal application like Java/.Net. You'll have to take care of the following major things apart from business logic
  • Management of Database connections
  • Management of JMS connections
  • Management of FTP connections
  • Management of File streams
  • Web service implementations

In case, you are using SOA application all of the above are taken care by the respective binding components and user can only concentrate on the business logic.

Click here to view the complete solution in Open ESB

Below is the solution overview diagram

JMS/Messaging in Open ESB

As we know that messaging in the core technology in any ESB/SOA application, this article explains how messaging has been addressed in Open ESB using JMS Binding Component.

Follow this link to get the complete solution on the usage of JMS BC with a sample business scenario

Connecting to database in OpenESB

In any application, there is a maximum probability of using database, so here is the need on how to interact/connect with different databases from the application. There are many solutions available in each of the application like java/.Net/PHP etc., but the same need to be addressed in any of ESB/SOA application as well.

Let's see how this is addressed in Open ESB. Even in Open ESB, there are multiple solutions available like SQL SE, JDBC BC to connect to the database but this article explains the database connectivity using JDBC BC.

Follow this link to get the complete solution.

FTP in OpenESB

Previous article describes the transferring of files from one location to other location within file system with some conversion of the message using Encoders but most of the real time requirements involves upload/download of files from the remote location using the FTP protocal.

As this is common requrement in many of the SOA/ESB solutions, we are going to discuss how we can achieve this in Open ESB

Click here for the problem description and detailed solution of File Transfer using FTP protocol in Open ESB

Monday, March 9, 2009

Encoders in Open ESB

In any ESB/SOA application, message transformation like converting the message from one format to another specific format is the minimum requirement, this article describes how you can achieve this in Open ESB.

The application receives the CSV file and transforms in to XML file using Java EE Engine in OpenESB. Click here to view the complete solution

The main component used here is Encoders in Open ESB