Monday, July 5, 2010

What is Cloud Computing?

clip_image001

Cloud computing is a technology that uses the internet and central remote servers to maintain data and applications. Cloud computing allows consumers and businesses to use applications without installation and access their personal files at any computer with internet access. This technology allows for much more efficient computing by centralizing storage, memory, processing and bandwidth.

A simple example of cloud computing is Yahoo email or Gmail etc. You don’t need software or a server to use them. All a consumer would need is just an internet connection and you can start sending emails. The server and email management software is all on the cloud (internet) and is totally managed by the cloud service provider Yahoo, Google etc.

The analogy is ‘If you only need milk, would you buy a cow?' All the users or consumers need is to get the benefits of using the software or hardware of the computer like sending emails etc. Just to get this benefit (milk) why should a consumer buy a (cow) software /hardware?

A cloud service has three distinct characteristics that differentiate it from traditional hosting. It is sold on demand, typically by the minute or the hour; it is elastic -- a user can have as much or as little of a service as they want at any given time; and the service is fully managed by the provider (the consumer needs nothing but a personal computer and Internet access). Significant innovations in virtualization and distributed computing, as well as improved access to high-speed Internet and a weak economy, have accelerated interest in cloud computing.

These services are broadly divided into three categories:

1. Infrastructure-as-a-Service (IaaS)

2. Platform-as-a-Service (PaaS)

3. Software-as-a-Service(SaaS)

clip_image003

1-Infrastructure-as-a-Service

Infrastructure-as-a-Service like Amazon Web Services provides virtual server instances with unique IP addresses and blocks of storage on demand. Customers use the provider's application program interface (API) to start, stop, access and configure their virtual servers and storage. In the enterprise, cloud computing allows a company to pay for only as much capacity as is needed, and bring more online as soon as required. Because this pay-for-what-you-use model resembles the way electricity, fuel and water are consumed; it's sometimes referred to as utility computing.

2- Platform-as-a-Service

Platform-as-a-service in the cloud is defined as a set of software and product development tools hosted on the provider's infrastructure. Developers create applications on the provider's platform over the Internet. PaaS providers may use APIs, website portals or gateway software installed on the customer's computer. Force.com, (an outgrowth of Salesforce.com) and GoogleApps are examples of PaaS. Developers need to know that currently, there are not standards for interoperability or data portability in the cloud. Some providers will not allow software created by their customers to be moved off the provider's platform.

3- Software-as-a-Service

In the software-as-a-service cloud model, the vendor supplies the hardware infrastructure, the software product and interacts with the user through a front-end portal. SaaS is a very broad market. Services can be anything from Web-based email to inventory control and database processing. Because the service provider hosts both the application and the data, the end user is free to use the service from anywhere.

For more info & to ask any queries plz use the post query option on the top

 

Thanks & Regards

|¯¯|)¯¯)
|__|\__\aju
___|¯¯|
(¯¯(|   |etla
¯¯¯¯¯

Wednesday, April 28, 2010

How N-Tier Architecture Application are made, using Stored Procedure in Database Layer

Hi All,
In this article i will be explaining how n-tier Architecture Applications are made. There are 3 Layers  typical in any application. They are
  1. Presentation Layer: Presentation layer is basically the front end forms which is used by the end users
  2. Business Logic Layer: This layer consists of business logic like transactional operations
  3. Database Layer :
    Consists of data and data related programming like triggers, stored procedures & functions for complex sql transactions

Making these three layers independent makes you the deal with these layers independently like any changes required in stored procedure logic can be done without disturbing other layers. Further application can be developed for other platform like from web to mobile application, without disturbing database layer and business logic layers
AppLayers

To demonstrate i will be making small application using ASP.NET with C# & SQL server where add the State names in the database using a web form. I have made a database with name myDB in SQL server with a table “States” shown below.

image

I have made a sql stored procedure for inserting the record in the database to make database layer bulky.
CREATE PROCEDURE DBO.USP_INSERT_INTO_States
(
@STATEID CHAR(5)
,@STATE VARCHAR(25)
)
AS BEGIN
INSERT INTO States(
[STATEID]
,[STATE]
)
VALUES
(
@STATEID
,@STATE
)
END

Now we will create a business layer, here business will be adding new state, this transaction in the database will be done using the stored procedure, so in next step we will be making class called StateBL for handling the State (table) related transaction and we will add business method AddNewState() for adding new state. This business layers normally made as a web service, in java EJB, .NET remoting in .NET for global access.  For now we will be making ASP.NET website and we will add business class to this website i.e. from website menu-> Add new item. This class will be our Business layer in our application, coding is given below

public class StateBL
{
    //declare the objects for database operation
    SqlCommand cmd;
    SqlConnection con;

   //represents the exception occurred during the sql transaction
    public Exception exception=null;
  
    // Initialize the connnection and command object in constructor
    public StateBL()
    {
       con=new SqlConnection("Data Source=RAJU-PC\\SQLEXPRESS;Initial Catalog=myDB;Integrated Security=True;");    
       cmd=new SqlCommand();
       cmd.CommandType=CommandType.StoredProcedure;
    }

    // Used for adding State
    public Boolean AddNewState(string StateID, String State)
    {
        try
        {
            cmd.CommandText="DBO.USP_INSERT_INTO_STATES";
            cmd.Parameters.AddWithValue("@STATEID",StateID);
            cmd.Parameters.AddWithValue("@STATEID",State);
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            return true; //represents successful transaction
        }
        catch(Exception ex)
        {
            exception=ex;
            return false; //represents sql operation failed
        }
    }
}

Now we will create a web form i.e. our presentation layer to add record into the table through business layer

image

Coding for save button click is given below

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
    protected void btnSave_Click(object sender, EventArgs e)
    {
        StateBL objState = new StateBL();
        if (objState.AddNewState(txtStateID.Text, txtStateName.Text)) //check the return value of the AddNewState
        {
            //display the message on success
            lbMsg.Text = "State added successfully...";
        }
        else
        {
            //display the error message from exception object in the StateBL class
            lbMsg.Text = "Unable to add state, error:" + objState.exception.Message;
        }
    }
}

Here is the output of the program, first output is showing the error message due to connection string problem and second shows the successful addition of the record in the table.
image

image

Conclusion:
We have made three layers of the application
Database Layer: with data tables, stored procedure
Business Layers: having business class with business method for adding new state
Presentation Layer: we have a form for data entry

If i make business layer as web service and consider in future i need to develop the same application for mobile platform then what i need to develop, only the presentation for mobile platform. isn’t it?
AppLayers3

I hope you find this article helpful, if you liked it please do not forget to add your feedback below

download source code of above example

Thanks & Regards
l¯¯l)¯¯)
l__l\__\aju
.      l¯¯l
(¯¯(/_  /etla

Tuesday, March 23, 2010

Add Search Engine to your website

Hi All,

Now It very easy to add search engine to your website and custom search engine with specific sites for searching. To do this just goto http://www.google.com/cse/ and log in into your gmail account



Click on create custom search engine
Now enter the title & description for your search engine and specify the site you want to search. if you are adding it to your website specify your site name



select i have read & agree terms & conditions, then click on next



Then try search engine with some keywords. Click finish to create search engine that's it, now you can see your search engine in the list



Next we will see how to add this custom search to our website and customize look and feel to match our website design



Click on get code


just copy the code and paste in your webpage and test your page





Now here is my webpage with a search engine on it




For customizing the look & feel to match website design in the control panel click on look & feel and select design from choice or click customize


change the fonts, colors as per the your requirements



save and click on getcode and paste it in your webpage. You can also download CSS file and customize it as per your wish. Hope you find this useful

For more information or query you can visit my blog or join my groups and send your queries & feedback at
http://rjetla.blogspot.com/
http://groups.google.com/group/rjetla

Thanks & Regards

Raju Jetla


Wednesday, February 3, 2010

SilverLight - Making Hello World Program

Dear All,

Following Topic is about how to make Hello World Program with SilverLight, i have taken reference from Tim Heuer blog

Before you start make sure you have installed Visual Studio SP1, Silverlight Runtime, SilverLight SDK and SilverLight Tools, if not get it downloaded from microsoft.com

Understanding the development environment

Once you install Visual Studio and the Silverlight Tools you will notice a new grouping in the VS New Project dialog box:
New Project Dialog Box
You will see some new templates under the category Silverlight which include at least Silverlight Application, Silverlight Class Library and Silverlight Navigation Application.  Some others you may see depending on additional tools you may have installed.
For this step, choose the Silverlight Navigation Application template and give it a name for the application (I’m calling mine TwitterSearchMonitor).
The next window you will see will ask you if you would like to create a web project:
New Silverlight Application Dialog Box
If this is a new project, I highly recommend choosing to create a web project for you.  By doing this you will have a web context to run the application for you.  This is helpful in avoiding issues around accessing web services from the local file system.  Running your application under HTTP from the start will help you avoid some of the most common mistakes in debugging web service access.  You can choose the ASP.NET Web Application Project, ASP.NET Web Site or ASP.NET MVC Project if you have that installed.  If you aren’t sure, just use the defaults.

The Project Structure

Once your app is created you will see something similar like this:
Silverlight project structure
This shows your web application (which will host the Silverlight application) with pre-created test pages for the Silverlight application and the Silverlight application itself.  Let’s focus first on the Silverlight application project.
There are some key files you should be aware of here that we’ll explore in this series:
  • App.xaml – this is an application-wide resource file.  If you put resources in here (we’ll explore in styling) or global events upon startup, they will happen here.  This file is also the entry point to your application and tells the Silverlight plugin what to do next.
  • MainPage.xaml – this is a page that is a part of the template you chose.  It doesn’t have to be called MainPage, but that is what the project template uses by default.  This represents the starting user interface for your application.  Don’t be confused by details just yet.
  • Assets/Views folders – these contain assets (files, images, styles, etc.) and other UI views for your application.
The XAML files are the files that make up the UI of your application.  They are just XML files with the XAML markup language.  We will be altering these in later steps.
When you build the solution (go ahead and do that) you’ll notice in the web application’s ClientBin folder a new file with a XAP extension will show up.  This is your compiled Silverlight application.  It’s actually an archive (aka ZIP) file with a different extension file name.  If you rename it to .ZIP and open it using an archive tool you can see the contents.
The XAP file is what is served to your browser.  This is the file that is hosted on the web server and gets delivered to the end user.  The XAP is hosted within a standard HTML page that hosts the Silverlight application using the tag instantiation. 
NOTE: Silverlight is a client technology and can be hosted on any web server.  It can be any type of web server that is capable of delivering the XAP file along with the correct content MIME type from the server (application/x-silverlight-app).  As long as it does that, we don’t care what type of web server it is delivering the XAP file.
Test pages for ASP.NET and HTML are created for you with the standard template.  Since both of them are the same essentially, I usually delete one of them for simplicity.

Adding UI to the XAML pages



The template we chose is a navigation application template, meaning it has some navigation features built into it.  This is a fairly new feature to Silverlight and enables you to have a “master page” kind of view in your application.  If you look in the Views folder you will see About.xaml, ErrorWindow.xaml and Home.xaml.  For now let’s focus on Home.xaml since that is the first view that is loaded.  Open that file up by double-clicking it and you’ll see the XAML load in Visual Studio.
In this page you’ll see some XAML code that defines the view in a Grid that uses some other layout controls like a StackPanel and TextBlocks (we’ll go into StackPanel in the next step 2).  These are all part of the core control set that Silverlight provides.  A TextBlock enables you to present text to the user.  If you run the application now (hit F5 to run in debug mode – go ahead and choose to modify the web.config to enable debugging) you should see something like this:
Running Silverlight application
Notice the text in the running application matches the text in the TextBlock of the XAML.  Also notice the link style buttons in the upper right.  These represent our navigation points which go to our separate views.  Let’s add some more XAML and see how to write code.
In the Home.xaml view, after the second TextBlock, add a Button using this XAML:
   1: <Button Content="Click me" x:Name="MyButton" FontSize="18" Width="150" Height="45" />
This will display a button on the view just underneath the “Home page content” text area.  Notice the x:Name attribute?  This is the unique identifier for this element and helps us reference it in code.  Think of this as the ID attribute of the control.  Now let’s make it do something when clicked.  There are two ways we can add events to the Button (or other elements) with simplicity.  In the XAML for Button itself we can add a Click attribute and you will see VS Intellisense automatically ask us if we want to generate a new event handler:

We can also wire up the event handler in code directly and keep it out of our XAML using this code in the Home.xaml.cs page:
   1: public Home()
   2: {
   3:     InitializeComponent();
   4:     MyButton.Click += new RoutedEventHandler(MyButton_Click);
   5: }
Either way will work.  For simplicity for now you can use whatever you like…I will use the XAML method for now.  Now in the function MyButton_Click we can write managed code in the function to manipulate our user interface or other functions.  Let’s finish our Hello World sample by changing the HeaderText TextBlock (HeaderText is the x:Name value so we can reference it easily in code) to “Hello World” output.  To do that we’ll write this function code:
   1: void MyButton_Click(object sender, RoutedEventArgs e)
   2: {
   3:     HeaderText.Text = "Hello World!";
   4: }
After making these changes and running the application again (F5) we will see our button and when clicked it will change the text like below:
finished product animation

Thanks & Regards

l¯¯l)¯¯)
l__l\__\aju
.      l¯¯l
(¯¯(/_ /etla

Recent Comments