Top storage Blogs



And the 2010 Top 10 Storage Vendor Blogs are out from storage monkey

Details at - http://bit.ly/7P0Fvk

1) Chuck Hollis (EMC) - http://chucksblog.emc.com/ - 205 ( 10.84%)

2) Mark Twomey / Storagezilla (EMC) - http://storagezilla.typepad.com/ - 182 ( 9.62%)

3) Barry Burke (EMC) - http://thestorageanarchist.typepad.com/ - 175 ( 9.25%)

4) Dave Graham (EMC) - http://flickerdown.com/ - 153 ( 8.09%)

5) Val Bercovici (NetApp) - http://blogs.netapp.com/exposed/ - 107 ( 5.66%)

6) Vaughn Stewart (NetApp) - http://blogs.netapp.com/virtualstorageguy - 103 ( 5.45%)

7) HP StorageWorks Blog - http://www.hp.com/storage/blog - 99 ( 5.24%)

8] Dave Hitz (NetApp) - http://blogs.netapp.com/dave/ - 95 ( 5.02%)

9) Hu Yoshida (HDS) - http://blogs.hds.com/hu/ - 67 ( 3.54%)

10) Marc Farley (3Par) - http://www.storagerap.com/ - 66 ( 3.49%)


SOA is old medicine(OOP) in new box ??

I think most of ideas like encapsulation and abstraction obviously derived from same principles as object orientation. Object-oriented analysis and design was responsible for building stream lined applications comprised of reusable, flexible software. OO design aspire to fulfill the business reqmt throughout the lifespan of an application including post-deployment upgrades and extensions. While Service oriented design establishes a flexible design framework  that allows for the agile accommodation of  ever changing business requirement.

One of the reason why I believe they closely resemble one another is because fundamental concepts governing looks somewhat similar. Lets look at couple of them. Classes and Objects: In OO a runtime instance of class is an object and in SOA runtime a service can create run time instance of itself.  Class can be comparable to a technical service contract in service orientation.But the big difference is that class can define a combination of public/private access while service expresses only public information. Due to this a service contract can be seen as close resemblance to a interface implemented by a class. Methods and Attributes: OO design describes classes with methods and atributes which can be eiher private or public. But in service orientation if a method is defined as private then it can be used by external entitities, or  consumers. For this reason a web service contract cannot define private operations(methods). Due to emphasis on statelessness service contracts are discouraged from defining attributes. Now lets look at what they have in common, Service re-usability:Much of OO si geared toward creation of re-usable classes and OO promotes such reusability like SOA.
service abstraction: Both OO and SOA closely resembles one another while using abstraction principles. In OO abstraction requires that a class provide an interface to the external world and in soa only service contract is available up front and most of implementation and underlaying details are hidden. There is also lot of similarities between, loose coupling, service autonomy etc discussed in the which differs from the object oriented approach.

I think it is obvious from the above discussion that Object oriented Design influenced SOA during its initial stages, and much of principles are derived from OOP concepts. But there are some principles like inheritance which is completely unknown in the SOA world. Also it is worth noting that some service orientation principles such as loose coupling and autonomy, are not directly promoted by object orientation.

I think object orientation and service orientation are complementary design paradigms. It is important for us know the subtle differences between these two, so that one is not confused with another. For example Object oriented design is poor choice when dealing with distributed applications on the other hand SOA provides developers  and architects an easy way to integrate systems.


What do you prefer MEP or RPC ??

WSDL document describes how the service is bound to SOAP messaging protocol. A WSDL SOAP binding can be either RPC style binding or Document style binding.

1.With document style we use literal encoding and we use SOAP encoding with RPC style.

2. Document style encoding may look like this




....


RPC Style:




...



Literal encoding forces document style to conform to specific XML Schema.Which then can

be validated using XSD.

Read the rest of this entry »


Junit Small Intro

What Is JUnit?

What is JUnit? You need to remember the following points when answering this question:

  • It is a software testing framework to for unit testing.
  • It is written in Java and designed to test Java applications.
  • It is an Open Source Software maintained by the JUnit.org community.

Answer from the JUnit FAQ:

JUnit is a simple, open source framework to write and run repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks. JUnit features include:

  • Assertions for testing expected results
  • Test fixtures for sharing common test data
  • Test runners for running tests

JUnit was originally written by Erich Gamma and Kent Beck.

JUnit Cookbook

How do you write testing code?

The simplest way is as an expression in a debugger. You can change debug expressions without recompiling, and you can wait to decide what to write until you have seen the running objects. You can also write test expressions as statements which print to the standard output stream. Both styles of tests are limited because they require human judgment to analyze their results. Also, they don't compose nicely- you can only execute one debug expression at a time and a program with too many print statements causes the dreaded "Scroll Blindness".

JUnit tests do not require human judgment to interpret, and it is easy to run many of them at the same time. When you need to test something, here is what you do:

  1. Annotate a method with @org.junit.Test
  2. When you want to check a value, import org.junit.Assert.* statically, call assertTrue() and pass a boolean that is true if the test succeeds

For example, to test that the sum of two Moneys with the same currency contains a value which is the sum of the values of the two Moneys, write:

@Test public void simpleAdd() {

    Money m12CHF= new Money(12, "CHF");
    Money m14CHF= new Money(14, "CHF");
    Money expected= new Money(26, "CHF");
    Money result= m12CHF.add(m14CHF); 

    assertTrue(expected.equals(result));
 }

Inline Assertions in Junit 4?  * Following I saw from a posting at Junit.org

Inline Assertion Templates for Eclipse

One of the benefits of continuous testing is that it makes a lot of other techniques more valuable. One great example of this is an inline assertion. Inline assertions are added to production code, rather than test code, to prove whether or not various conditions are exercised in the code. For example, let say we're working on a authorization system, and we have a class called User.

public class User
{
    public final String name, password;

    public User(String name, String password)
    {
        this.name = name;
        this.password = password;
    }
}

Suppose we're curious about whether or not we ever test the system with a user that has a null password. If we're working with a legacy system, we might wonder if this class is tested at all. When using a continuous test runner, we can quickly add an inline assertion to find out, like so:

Read the rest of this entry »


Java and C++

C/C++ and Java

a.Java got inspired by C++ during its design time so it shares most of common features that are part of C++. But There is varying degree of difference when it comes to actual implementation of C++ features in Java.

b.Java is object oriented language as C++. All classes in Java inherit from the Object class, but this behaviour differs in C++.

c.Java has inheritence just like C++ does, but it does not support Mulitple inheritence.

d.Like C++ in Java there is constructor but notable difference is no distructor in Java. Automatic Garbage collection frees up the unused memory once the object is out of scope. This can be big boon as most of
C++ bugs relates to memory leaks, or there is no double free/corruption as well.One more difference with Constructor is that there is no "new" keyword while creating the instances of object.

5.In Java all method definitions are contained within the class definition, Unlike C++ where method defination can be found outside the class. The "inline" keyword does not work in Java, methods are made inline by the Justin time compiler(JIT) as required.

6.Java language always uses call by value, while has both call by Value and call by reference using (&) parameter.

Read the rest of this entry »



  • Tweets

    Follow kiranputtur on Twitter
  • Posts

    September 2010
    M T W T F S S
    « Mar    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
  • Facebook Friends


  • About

    Here I blog about all kind of stuff from Advaita philosopy monoism to software programming, Design Oriented Approach, reviews about latest hardware storage equipments as well as my rantings about open source projects. more..

  • Following Projects