Wednesday, June 27, 2012

What is IaaS, Paas & SaaS?

These are three main Cloud Computing Stack : Infrastructure as a Service, Platform as a Service and Software as a Service.
  • SaaS applications are designed for end-users, accessible over the web.
  • PaaS are set of tools and services to help developers design, develop, build & deploy application quickly.
  • IaaS serves the need of storage, hardware, servers and networking components.
These cloud computing stacks can provide : 
  • any Service on-demand.
  • any Platform on-demand.
  • large Infrastructure on-demand.
Elasticity of cloud computing brings scalability & accessibility to the applications. 

Examples : Amazon AWS (EC2), Google Cloud (Gmail), Microsoft Azure(Sky Drive) etc.

Tuesday, June 26, 2012

Java RMI : Remote Method Invocation

Remote Method Invocation (RMI) : It allows an object running in one Java virtual machine (say a client machine)  to invoke methods on an object running in another Java virtual machine (a Server machine).

  • Server accepts tasks from clients, runs the tasks, and returns any results. The server code consists of an interface and a class. The interface defines the methods that can be invoked from the client. 
  • RMI interface extends the interface java.rmi.Remote, and each method declares java.rmi.RemoteException in its throws clause. 
  • Server register its remote objects with RMI's simple naming facility, the RMI registry.
  • Client program obtains a stub for the registry on the server's host, looks up the remote object's stub by name in the registry, and then invokes method on the remote object using the stub.
  • A Serializable object can be passed to-and-fro Client-Server.
  • Source files can be compiled like :
    javac -d destDir RMIInterface.java RMIInterfaceImpl.java Client.java
RMI stub : In simple, its a proxy or surrogate which helps in managing invocation of remote objects.

Monday, June 18, 2012

Agile Scrum Methodology

What is Agile : Able to move Quickly or Easily 
In Software Industry or Product Development, it says team should divide their task in Iteration and rapidly start working once design (most IMP. spend as much time you have to make it better) is ready.
The Role Of Scrum
Scrum has three fundamental roles: Product Owner, Scrum Master, and Team Member.
  • Product Owner is responsible for communicating the vision of the product and creates a prioritized wish list called a product backlog
  • Scrum Master acts as a liaison between the Product Owner and the team and keeps the team focused on its goal. S/He meets team each day in Daily Scrum to assess its progress.
  • Team Members are responsible for determining how tasks will be accomplished. They can select any work of their choice which they commit to finish.
More Scrum Terminologies 
  1. Sprint Planning
  2. Sprint Goal
  3. Sprint Backlog
  4. Sprint Burndown
  5. Sprint Review
Agile Scrum Benefits
  1. Shorter Delivery Cycles
  2. Customer Involvement via feedback 
  3. Self Organizing Team
  4. Adaptable to Change
Scrum Cycle repeats at end of every Sprint with newer Goal and prioritized tasks.