Friday, March 20, 2009

Cloud Computing

Hi Friends

Today I will be discussing about "Cloud Computing" which is becoming very popular these days.

Cloud computing is Internet ("cloud") based development and use of computer technology. It is a style of computing in which dynamically scalable and often virtualised resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure "in the cloud" that supports them.

The concept incorporates infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS) as well as Web 2.0 which have the common theme of reliance on the Internet for satisfying the computing needs of the users.

The term cloud is used as a metaphor for the Internet, based on how the Internet is depicted in computer network diagrams, and is an abstraction for the complex infrastructure.



Architecture

The majority of cloud computing infrastructure as of 2009[update] consists of reliable services delivered through data centers and built on servers with different levels of virtualization technologies. The Cloud appears as a single point of access for all the computing needs of consumers.

Characterstics

- Cost is greatly reduced and capital expenditure is converted to operational expenditure
- Device and location independence enable users to access systems using a web browser regardless of their location or what device they are using.
- Reliability improves through the use of multiple redundant sites, which makes it suitable for business continuity and disaster recovery.
- Scalability via dynamic ("on-demand") provisioning of resources
- Security typically improves due to centralization of data
- Utilisation and efficiency improvement

Types of Cloud Computing



Public cloud

Public cloud or external cloud describes cloud computing whereby resources are dynamically provisioned on a self-service basis over the Internet, via web applications/web services.

Hybrid cloud

A hybrid cloud environment consisting of multiple internal and/or external providers "will be typical for most enterprises".

Private cloud

Private cloud is cloud computing on private networks. It capitalising on data security, corporate governance, and reliability concerns.

Using Cloud computing users can avoid capital expenditure (CapEx) on hardware, software and services, rather paying a provider only for what they use. Consumption is billed on a utility (e.g. resources consumed, like electricity) with little or no upfront cost. Other benefits of this time sharing style approach are low barriers to entry, shared infrastructure and costs, low management overhead and immediate access to a broad range of applications.

As customers generally do not own the infrastructure, they merely access or rent, and consume resources as a service, paying instead for what they use. Many cloud-computing offerings have adopted the utility computing model, which improves utilization rates, as servers are not left idle, which can reduce costs.

I will be discussing the implementation of cloud computing in my coming interactions.

Happy Learning !!...

Cheers

Madhu S

Write to me at madhusudan81@gmail.com

Thursday, March 5, 2009

Virtualization - The Next Big Technology in 2009

Hi Friends

Today Virtualization is the most talked about technology in the market. Today, I will be discussing some aspects of Virtualization.

What is Virtualization?

Virtualization is the simulation of one or more server environments on an actual server. It is a technology that is rapidly transforming the IT landscape and fundamentally changing the way that people compute.

Today’s powerful x86 computer hardware was designed to run a single operating system and a single application. This leaves most machines vastly underutilized. Virtualization lets you run multiple virtual machines on a single physical machine, sharing the resources of that single computer across multiple environments. Different virtual machines can run different operating systems and multiple applications on the same physical computer.

In its most technically advanced form the virtualization software called the hypervisor creates a layer of abstraction between the virtual servers and the native hardware. The hypervisor can run several virtual instances of multiple operating systems at the same time and the virtual servers need not be aware they are running in a virtualized environment.

How Does Virtualization Work?



The virtualization platform is built on a business-ready architecture. Use free software such as VMware (Microsoft)/VirtualBox (Sun Microsystems) to transform or “virtualize” the hardware resources like CPU, RAM, hard disk and network controller—to create a fully functional virtual machine that can run its own operating system and applications just like a “real” computer.

Each virtual machine contains a complete system, eliminating potential conflicts.

Virtual Box/VMware virtualization works by inserting a thin layer of software directly on the computer hardware or on a host operating system.

This contains a virtual machine monitor or “hypervisor” that allocates hardware resources dynamically and transparently.

Multiple operating systems run concurrently on a single physical computer and share hardware resources with each other.

By encapsulating an entire machine, including CPU, memory, operating system, and network devices, a virtual machine is completely compatible with all standard operating systems, applications, and device drivers.

Benefits of Virtualization?

The virtualization technology helps the organizations in the following ways:

- Optimum utilization of hardware resources.
- Performance.
- Low maintainance cost.
- Consolidation of hardware.

I will be discussing the implementation of virtualization in my coming interactions.

Cheers

Madhu S

contact me at madhusudan81@gmail.com

Friday, February 20, 2009

Sun - Java

Hi All

I was not in touch with all of you for a long time because i was preparing for Imagine Cup (The world's premiere student technology competition from Microsoft) whose finals will be held at Egypt.


There are competition categories from Software Design, Game Development, IT Challenge, Design, Photoraphy and many more...
I am sure all of you have registered for the same. If not then immediately visit http://imaginecup.com/ We might meet at Egypt for the finals.

Today I will be discussing some important questions about Java which might help you during your Job interview.

Q. What are the three OOPS principles?
Ans: Encapsulation, Inheritance and Polymorphism are the three OOPS Principles.
- Encapsulation: It is the Mechanism that binds together code and the data it manipulates, and keeps both safe from outside interference and misuse.
- Inheritance: It is the process by which one object acquires the properties of another object.
- Polymorphism: It is a feature that allows one interface to be used for a general class of actions.

Q. What are the advantages of inheritance?
Ans: Reusability of code and accessibility of variables and methods of the superclass by subclasses.

Q. What is meant by variable? What are the kinds of variables in Java?
Ans: Variables are locations in memory that can hold values. Before assigning any value to a variable, it must be declared. Java has three kinds of variables namely, the instance variable, the local variable and the class variable.

Local variables are used inside blocks as counters or in methods as temporary variables and are used to store information needed by a single method. Instance variables are used to define attributes or the state of a particular object and are used to store information needed by multiple methods in the objects.Class variables are global to a class and to all the instances of the class and are useful for communicating between different objects of all the same class or keeping track of global states.

Q. What is mean by Garbage Collection?
Ans: When an object is no longer referred to by any variable, Java automatically reclaims memory used by that object. This is known as garbage collection.

Q. What is interface? What is use of interface?
Ans: It is similar to class which may contain method’s signature only but not bodies. Methods declared in interface are abstract methods. We can implement many interfaces on a class which support the multiple inheritance.

Q. Can we define a variable in an interface ?and what type it should be ?
Ans: Yes we can define a variable in an interface. They are implicitly final and static.

I will covering some more important Q&A in my coming interactions.

Happy Learning!!...

Cheers

Padhaku Einstein
Contact me at einstein.padhaku@gmail.com


Tuesday, January 6, 2009

NIIT's National IT Aptitude Test (NITAT) on 18th of Jan 09

Dear All

The much awaited National IT Aptitude Test (NITAT) has been rolled out by NIIT, the pioneer in IT training. The test date is 18th of January 09.

NITAT is India’s largest and most widely Recognized IT Aptitude Test conducted simultaneously across 160+ cities. Over 4 lakh candidates have participated in the test over last four years. The test assesses Functional abilities and Behavioral traits that make up IT aptitude which is crucial to gain a foothold in the IT industry.

Functional abilities assessed are Numerical Ability, Logical Reasoning & Problem Solving and Verbal Ability (including English Comprehension) . Behavioral traits assessed are Result Orientation and Teamwork.
They are based upon NIIT’s extensive research at Centre for Research in Cognitive Systems (CRCS), and through extensive industry interactions.

Eligibility Criteria

- College/ Engineering Students- Graduates (Any discipline)- Students having completed Class 12th (including those awaiting results)

Performance Benefits

Being a leader in the IT Training industry, NIIT wishes to recognize and applaud the meritorious students of NITAT, on the behalf of the IT industry.
- Top 10% of candidates are eligible to participate in a special NITAT placement fair to be conducted at select metro locations
- A Merit List will be compiled, comprising names of the top one-third performing candidates and made available to major IT/ITeS organizations
- Candidates on this Merit List will receive a Special Recognition Certificate
- These Merit List candidates will also receive special value added privileges for enrolment to NIIT programmes

It has all round endorsement by media, industry, NASSCOM, IDC and all prominent technology partners of NIIT such as Microsoft, Sun Microsystems, Adobe, EMC, Intel etc.

To know more about NITAT kindly visit http://www.niiteducation.com/NITAT/

Companies will Discover their biggest asset. YOU.

Take the 5th National IT Aptitude Test for a great IT career.

Cheers

NIIT Edgeineers

Monday, December 15, 2008

Silverlight-A Closer Look

Hi Friends

In my last post i introduced you to Silverlight, Microsoft's latest technology which is used to create Rich Internet Applications. Today I will be talking about why silverlight is important.


Why Silverlight?

The web was invented as a system that allowed static documents to be stored on a web server and linked. The capability of HMTL tags is limited. Trying to draw a line, use animation, or play a movie with plain HTML is difficult or impossible with HTML alone. Over the years CSS and Javascript were added to basic HTML pages, but the user experience was not comparable with desktop applications. Today’s web applications require a richer user experience. SilverLight provides a means of creating Rich Internet Applications.

Silverlight Architecture


Base-Class Library (BCL) provides classes for collections, reflection, regular expressions, string handling and data access.The networking support in Silverlight can be used by Silverlight applications to communicate using HTTP, or at the lower socket level. Cross-domain communication is supported. A Python interpreter in Silverlight 2 hosted in Mozilla FirefoxSilverlight 2 includes the Dynamic Language Runtime (DLR) which allows dynamic compilation and execution of dynamic (scripting) languages. With the integration of .NET Framework, Silverlight also allows HTML-managed code interaction, which enables the manipulation of HTML elements from managed code, and permits JavaScript code to call managed code and use objects instantiated by managed code.

Important Components of Silverlight

Silverlight Framework consists of following components
Input – Handling input from devices like keyboard, mouse, stylus etc.
UI core – Managing rendering of bitmap images (including compressed raster images like JPEG), vector graphics, text and animations.
Media – Playback of MP3, WMA, AVI Standard, media streams.
XAML – To allow the UI layout to be created using XAML markup language.

XAML-> Extensible Application Markup Language (XAML) is a markup language for declarative application programming. Windows Presentation Foundation (WPF) implements a Extensible Application Markup Language (XAML) loader and provides Extensible Application Markup Language (XAML) language support for Windows Presentation Foundation (WPF) types such that you can create the majority of your application UI in Extensible Application Markup Language (XAML) markup.

How Silverlight Works?

- A Silverlight application starts by invoking the Silverlight control from the HTML page, which then loads up a XAML file.

- The XAML file contains a Canvas object, which acts as placeholder for other elements.

- Silverlight provides various geometrical primitives like lines, ellipses and other shapes, to elements like text, images, and media etc.

- The elements are properly positioned to achieve the desired layout. Any arbitrary shape can be created as well.

- These elements can be animated using Event triggers; some animation effects are predefined, others can be created as composite of the pre-defined effects.

- Events like keyboard or mouse movements can also raise Events which can be handled by custom scripts

Silverlight - Integrating Design and Development

Generally there is a communication mismatch between different roles e.g. A designer is concerned about the look, design, appearance of an application where as a developer is concerned about the security, management, performance of an applicaton irrespective of its looks and feel.

Since XAML is a declarative application programming language which provides a Canvas which acts as a placeholder for various elements so a designer and a developer can work simultaneously and in real time aware of the interface. Hence the performance as well as the richness of the application is improved.

NIIT has come up with some new programs to provide training on Silverlight. To know more about these programs plz visit your nearest NIIT centre.

Cheers

Madhu S

Saturday, December 13, 2008

Silverlight-Light up the Web


Silverlight is a new tool from Microsoft which is used to build Rich Internet Application (RIA) and to enhance user’s web experience.

It is a Cross browser, cross platform plug-in that enables animation, audio video, for creating rich interactive applications on the web. It includes support for the Rich Media platform, enabling delivery of rich audio and video, vector graphics, and more.

Today the needs of web users are changing as everyone is looking out for more interactive and real kind of experience. Using Silverlight we can create RIA applications which are more interactive and gives much better experience.

Silverlight is a flexible programming model and compatible tools which helps in integration with existing Web technologies based on .NET Framework environment with role-based user interface tools for designers and developers.

We are adding here an AV visual so as to give you an experience of Silverlight. If you unable to view this please visit

http://edgeineers.blogspot.com/2008/12/silverlight-light-up-web.html




Excited !!... please wait till the next post as i will be covering some of the very interesting aspects of Silverlight.

Cheers

Madhu S

Friday, December 5, 2008

IT Leaders View on Current Economic Conditions

Dear All

You all might be hearing about economy slowdown these days.

Today all of us are having a question that what we should do in this crucial period so that we can perform better.

We are posting here an AV Visual from IT Leaders like Mr. R. S. Pawar (Chairman NIIT Limited), Mr. Vijay K. Thadani (CEO NIIT Limited) and Dr. Karrie Willyerd (VP and CLO Sun Microsystems) through which they are sharing about the changing dynamics of Economy and IT and what is required on our part so that instead of getting hit by that we can leverage from that.

If you are unable to view this please visit http://edgeineers.blogspot.com/2008/12/it-leaders-view-on-current-economic.html

Lets do a collective efforts to overcome this slowdown and start a beginning of new growth trajectory.

Believe us together "We Can and We Will" keep our India Shining in IT.

Cheers

NIIT Edgeineers

niitedgeineers@gmail.com


Thursday, November 20, 2008

MS-SQL Server

Hi Friends



Today I will be discussing some more Q&A on SQL Server.

Q. What is De-normalization?

Ans.For optimizing the performance of a database by adding redundant data or by grouping data is called de-normalization. It is sometimes necessary because current DBMS implement the relational model poorly.

In some cases, de-normalization helps cover up the inefficiencies inherent in relational database software. A relational normalized database imposes a heavy access load over physical storage of data even if it is well tuned for high performance.

A true relational DBMS would allow for a fully normalized database at the logical level, while providing physical storage of data that is tuned for high performance. De-normalization is a technique to move from higher to lower normal forms of database modeling in order to speed up database access.

Q. What are the properties of the Relational tables?

Ans. Relational tables have six properties

Values Are Atomic

Columns in a relational table are not repeating group or arrays. Such tables are referred to as being in the "first normal form" (1NF). The atomic value property of relational tables is important because it is one of the cornerstones of the relational model. The key benefit of the one value property is that it simplifies data manipulation logic.

Column Values Are of the Same Kind

All values in a column come from the same set of values or domain. For example, a Product_Price column contains only specific to product price. It never contains other information such as comments, status flags, or even weekly salary.
It simplifies data access because developers and users can be certain of the type of data contained in a given column. It also simplifies data validation. Since all values are from the same domain, the domain can be defined and enforced with the Data Definition Language (DDL) of the database software.

Each Row is Unique

Each unique row ensures that no two rows in a relational table are identical; there is at least one column, or set of columns, the values of which uniquely identify each row in the table. Such columns are called primary keys.This property guarantees that every row in a relational table is meaningful and that a specific row can be identified by specifying the primary key value.

The Sequence of Columns is Insignificant

Ordering of the columns in the relational table has no meaning. Columns can be retrieved in any order and in various sequences. The benefit of this property
is that it enables many users to share the same table without concern of how the table is organized. It also permits the physical structure of the database to change without affecting the relational tables.

The Sequence of Rows is Insignificant

This property is analogous the one above but applies to rows instead of columns. The main benefit is that the rows of a relational table can be retrieved in different order and sequences. Adding information to a relational table is simplified and does not affect existing queries.

Each Column Has a Unique Name

Because the sequence of columns is insignificant, columns must be referenced by name and not by position. In general, a column name need not be unique within an entire database but only within the table to which it belongs.

Q.What is lock escalation?

Ans. Lock escalation is the process of converting a lot of low level locks (like row locks, page locks) into higher level locks (like table locks). Every lock is a memory structure; too many locks would mean, more memory being occupied by locks. To prevent this from happening, SQL Server escalates the many fine-grain locks to fewer coarse-grain locks. Lock escalation threshold was definable in SQL Server 6.5, but from SQL Server 7.0 onwards it's dynamically managed by SQL Server.

Q. What is the difference between clustered and a non-clustered index?

Ans. A clustered index is a special type of index that reorders the way records in the table are physically stored. Therefore table can have only one clustered index. The leaf nodes of a clustered index contain the data pages.

A nonclustered index is a special type of index in which the logical order of the index does not match the physical stored order of the rows on disk.

Q. What’s the difference between a primary key and a unique key?

Ans. Both primary key and unique enforce uniqueness of the column on which they are defined. But by default primary key creates a clustered index on the column, where are unique creates a nonclustered index by default. Another major difference is that, primary key doesn’t allow NULLs, but unique key allows one NULL only.

I will covering some more important Q&A in my coming interactions.

Happy Learning!!...

Cheers

Padhaku Einstein

Contact me at einstein.padhaku@gmail.com

Wednesday, November 19, 2008

If you have a Spark, make it DreamSpark

Microsoft Corporation is actively engaged in the Education space with a committed vision to empower the learning and teaching community worldwide with 21st century skills. While there are several innovative programs for the Student, Teacher and Institution community worldwide, Microsoft India is keen to extend those innovative programs for the Learning Community in India too.

DreamSpark is a new initiative designed for the Global Student Community with a view to empowering & enabling them with leading technology tools & to enhance their employability skills by providing them software design and development tools at no charge. The DreamSpark program was announced by Bill Gates on February 19, 2008 at Stanford University and it is estimated that in excess of 100 million students will be able to access these software titles "at no charge" through this program.
With DreamSpark, you can get access to various Microsoft Software including:
-Visual Studio 2005/2008 Professional Edition
-Expression Studio, including
Expression Web
Expression Blend
Expression Design
Expression Media
-SQL Server 2005 Express
-SQL Server 2005 Developer Edition
-Windows Standard Server, XNA Game Studio 2.0 (with 12-month trial academic subscription to the XNA Creators Club)
As Microsoft's Best Training Partner, NIIT is glad to bring these software to your doorsteps in the most convenient way. So, visit your nearest NIIT centre in a metro city and collect your DVD.
For more details contact 1800 102 6448 (Toll Free Number)
Happy Sparking....
Cheers!!...
NIIT Edgeineers

Wednesday, November 12, 2008

MS-SQL Server

Hi Friends
Today I will be discussing Q&A on SQL Server.

Q. Difference between "VARCHAR" and "VARCHAR2" datatypes?

Ans. The VARCHAR datatype is actually a subtype of VARCHAR2. Currently the two datatypes are identical, and you're free to use either. However, if you use VARCHAR and the ANSI standard changes, the database will be forced to change the VARCHAR type to conform, and you'll have to change any apps that depend on it. If we declare datatype as VARCHAR then it will occupy space for NULL values, In case of VARCHAR2 datatype it will not occupy any space.

Q. How do you optimize stored procedures in SQL Server?

Ans.
- Use as much as possible WHERE clause filters. Where Clause is the most important part for optimization.
- Select only those fields which really require.
- Joins are expensive in terms of time. Make sure that use all the keys that relate the two tables together and don't join to unused tables, always try to join on indexed fields. The join type is important as well (INNER, OUTER).

Q. What is a View in SQL Server Database?

Ans. As per the theory of database (which includes SQL Server, Oracle) a view can be thought of stored SQL query which result can be accessible as a table. It can be used for retrieving data, as well as updating or deleting rows. But database view does not have physical schema. The results of using a view are not permanently stored in the database. The data accessed through a view is actually constructed using standard T-SQL select command and can come from one to many different base tables or even other views.

Q. What is a Linked Server?

Ans. A linked server configuration enables SQL Server to execute commands against OLE DB data sources on remote servers. Linked Servers is a concept in SQL Server by which we can add other SQL Server to a Group and query both the SQL Server dbs using T-SQL Statements.
Linked servers offer the following advantages:
- Remote server access.
- The ability to issue distributed queries, updates, commands, and transactions on heterogeneous data sources across the enterprise.
- The ability to address diverse data sources similarly.
With a linked server, you can create very clean, easy to follow, SQL statements that allow remote data to be retrieved, joined and combined with local data.

Q. What is a "trigger" in SQL Server?

Ans. In any database including SQL Server a trigger is a procedure that initiates on INSERT, DELETE or UPDATE actions. Before SQL Server 2000 Triggers are also used to maintain the referential integrity. We can not execute triggers explicitly; the DBMS automatically fires the trigger when data modification events (INSERT, DELETE or UPDATE) happened in the associated table.Triggers are same as stored procedures in term of procedural logic that is stored at the database level. Stored procedures are executed explicitly and triggers are event-driven. Triggers can also execute stored procedures.
Nested Trigger: A trigger can also contain INSERT, UPDATE and DELETE logic within itself, so when the trigger is fired because of data modification it can also cause another data modification, thereby firing another trigger. A trigger that contains data modification logic within itself is called a nested trigger.

I will covering some more important Q&A on SQL Server in my coming interactions.

Happy Learning!!...

Cheers

Padhaku Einstein

Contact me at einstein.padhaku@gmail.com


Thursday, November 6, 2008

Why one should do SQL Server 2008?

Hi friends,

One of our community member Sushil who has done SQL Server 2005 from NIIT has asked that should he need to do SQL Server 2008 also? I think some of you are also having this question so sharing it here.

Dear Sushil, though the fundamentals of the technology remains the same but if you have to get the best of the that you have to keep yourself upgraded with the changing technology. SQL Server 2008 provides a trusted, productive, and intelligent enterprise data platform. I am writing some of the features of SQL Server 2008, which makes it very special Database .

Enhanced Database Mirroring

SQL Server 2008 builds on SQL Server 2005 by providing a more reliable platform that has enhanced database mirroring, including automatic page repair, improved performance, and enhanced supportability.

Log Stream Compression

Database mirroring requires data transmissions between the participants of the mirroring implementations. With SQL Server 2008, compression of the outgoing log stream between the participants delivers optimal performance and minimizes the network bandwidth used by database mirroring.

Automatic Recovery of Data Pages


SQL Server 2008 enables the principal and mirror machines to transparently recover from 823/824 types of data page errors by requesting a fresh copy of the suspect page from the mirroring partner transparently to end users and applications.

Transparent Data Encryption

Enable encryption of an entire database, data files, or log files, without the need for application changes. Benefits of this include: Search encrypted data using both range and fuzzy searches, search secure data from unauthorized users, and data encryption without any required changes in existing applications.

Performance Data Collection

Performance tuning and troubleshooting are time-consuming tasks for the administrator. To provide actionable performance insights to administrators, SQL Server 2008 includes more extensive performance data collection, a new centralized data repository for storing performance data, and new tools for reporting and monitoring.

Language Integrated Query (LINQ)

Enable developers to issue queries against data, using a managed programming language, such as C# or VB.NET, instead of SQL statements. Enable seamless, strongly typed, set-oriented queries written in .NET languages to run against ADO.NET (LINQ to SQL), ADO.NET DataSets (LINQ to DataSets), the ADO.NET Entity Framework (LINQ to Entities), and to the Entity Data Service Mapping provider. Use the new LINQ to SQL provider that enables developers to use LINQ directly on SQL Server 2008 tables and columns.

ADO.NET Data Services

The Object Services layer of ADO.NET enables the materialization, change tracking, and persistence of data as CLR objects. Developers using the ADO.NET framework can program against a database, using CLR objects that are managed by ADO.NET. SQL Server 2008 introduces more efficient, optimized support that improves performance and simplifies development.

Partitioned Table Parallelism

Partitions enable organizations to manage large growing tables more effectively by transparently breaking them into manageable blocks of data. SQL Server 2008 builds on the advances of partitioning in SQL Server 2005 by improving the performance on large partitioned tables.

There are many other exciting features of SQL Server 2008. If you want to know more about SQL Server 2008you can visit to the nearest NIIT Centre and ask for SQL Server 2008 program under New Technology Skill Enhancement series.


"Remember Data is not just Data anymore, it's a new form of Energy".

So keep upgrading yourself in latest technologies.

Happy Learning!!...

Cheers

Madhu S

Friday, October 31, 2008

Microsoft SQL Server 2008

Hi Friends

Today I am going to talk of MS-SQL Server 2008, a very powerful tool in Database Management.


MS SQL Server 2008 aims to make data management self-tuning, self organizing, and self maintaining with the development of SQL Server Always On technologies, to provide near-zero downtime. SQL Server 2008 will also include support for structured and semi-structured data, including digital media formats for pictures, audio, video and other multimedia data. In current versions, such multimedia data can be stored as BLOBs (binary large objects), but they are generic bitstreams. Intrinsic awareness of multimedia data will allow specialized functions to be performed on them.

Other new data types include specialized date and time types and a Spatial data type for location-dependent data. Better support for unstructured and semi-structured data is provided using the FILESTREAM data type has been added, which can be used to reference any file stored on the file system. Structured data and metadata about the file is stored in SQL Server database, whereas the unstructured component is stored in the file system. Such files can be accessed both via Win32 file handling APIs as well as via SQL Server using T-SQL; doing the latter accesses the file data as a binary BLOB. Backing up and restoring the database backs up or restores the referenced files as well. SQL Server 2008 also natively supports hierarchical data, and includes T-SQL constructs to directly deal with them, without using recursive queries.

SQL Server 2008 Architecture

Protocol layer

Protocol layer implements the external interface to SQL Server. All operations that can be invoked on SQL Server are communicated to it via a Microsoft-defined format, called Tabular Data Stream (TDS). TDS is an application layer protocol, used to transfer data between a database server and a client.

Data Storage

The main unit of data storage is a database, which is a collection of tables with typed columns. SQL Server supports different data types, including primary types such as Integer, Float, Decimal, Char (including character strings), Varchar (variable length character strings), binary (for unstructured blobs of data), Text (for textual data) among others. It also allows user-defined composite types (UDTs) to be defined and used.

For physical storage of a table, its rows are divided into a series of partitions (numbered 1 to n).

Buffer Management

SQL Server buffers pages in RAM to minimize disc I/O. Any 8 KB page can be buffered in-memory, and the set of all pages currently buffered is called the buffer cache. The amount of memory available to SQL Server decides how many pages will be cached in memory. The buffer cache is managed by the Buffer Manager. Either reading from or writing to any page copies it to the buffer cache.

Concurrency and Locking

SQL Server allows multiple clients to use the same database concurrently. As such, it needs to control concurrent access to shared data, to ensure data integrity - when multiple clients update the same data, or clients attempt to read data that is in the process of being changed by another client. SQL Server provides two modes of concurrency control: pessimistic concurrency and optimistic concurrency. When pessimistic concurrency control is being used, SQL Server controls concurrent access by using locks. Locks can be either shared or exclusive. Exclusive lock grants the user exclusive access to the data - no other user can access the data as long as the lock is held. Shared locks are used when some data is being read - multiple users can read from data locked with a shared lock, but not acquire an exclusive lock. The latter would have to wait for all shared locks to be released.

The Full-Text Search functionality has been integrated with the database engine, which simplifies management and improves performance.


Pic showing SQL Server Full Text Search Service Architecture

SQL Server includes better compression features, which also helps in improving scalability. It also includes Resource Governor that allows reserving resources for certain users or workflows. It also includes capabilities for transparent encryption of data as well as compression of backups. SQL Server 2008 supports the ADO.NET Entity Framework and the reporting tools, replication, and data definition will be build around the Entity Data Model.

On the management side, SQL Server 2008 includes the Declarative Management Framework which allows configuring policies and constraints, on the entire database or certain tables, declaratively.

I will be covering some other features of this tool in my coming posts.

Happy Learning!!...

Cheers

Madhu S

Friday, October 24, 2008

MS SQL Server

Hi Friends
Today I will be discussing Q&A on SQL Server.

Q. What is Cascade and Restrict when we use DROP table in SQL SERVER?
Ans. When we are using Drop table in SQL the syntax is simple. Drop table table_name(CASCADE / RESTRICT). We use cascade to drop table although it have some dependencies just like triggers, strored procedures, primary key,foreign key it will be deleted first. But if we use Restrict an error message is shown on using of DROP if the table have some dependencies.

Q. What is DTS in SQL Server?
Ans. If an organization is big then they might be using multiple options to store data; some people might be using EXCEL some using ACCESS and some of them might be using SQL SERVER or in some other formats also but there a problem arises that how to merge that data into one format. SQL SERVER DTS helps in this problem. It provides a set of tools using which we can customise the database according to our need. DTSRun is a command-prompt
utility used to execute existing DTS packages.

Q. What are the different types of Locks?
Ans. There are three main types of locks in SQL Server.
(1) Shared locks are used for operations that does not allow to change or update data, such as a SELECT statement.
(2) Update locks are used when SQL Server intends to modify a page, and later promotes the update page lock to an exclusive page lock before actually making the changes.
(3) Exclusive locks are used for the data modification operations, such as UPDATE, INSERT, or DELETE.

Q. What is the use of DBCC commands?
Ans. DBCC stands for Database Consistency Checker. We use these commands to check the consistency of the databases i.e., maintenance, validation task and status checks. Some of the commands are: DBCC CHECKDB - Ensures that tables in the db and the indexes are correctly linked. DBCC CHECKALLOC To check that all pages in a db are correctly allocated. DBCC SQLPERF - It gives report on current usage of transaction log in percentage. DBCC CHECKFILEGROUP - Checks all tables file group for any damage.

Happy Reading!!...

Cheers

Padhaku Einstein
Contact me at einstein.padhaku@gmail.com

Friday, October 17, 2008

ADO.Net - ActiveX Data Object.Net

Hi Friends
Today I will be discussing Q&A on ADO.Net.

Q. What are Asynchronous Database Commands ?
Ans. When we execute any database, thread that is executing the command waits before the command get fully executed before executing any additional code. Thread is blocked for another process. Asynchronous Database Commands solve this problem when database command is executing, current thread can continue any other process. Thread can execute a no of database commands simultaneously. There are two benefits of using Asynchronous Database Commands.

1) Executing Multiple Database Commands simultaneously improve performance.
2) Since ASP.Net framework uses a limited pool service for request, when anyone request for a page it assigns a thread to handle the request.

Q. Why is ADO.NET serialization slower than ADO ?
Ans. ADO uses binary serialization while ADO.NET uses text based serialization. Since the text takes more space, it takes longer to write it out.
Q. How to get database schema information when connection object is established in ADO.NET ?

Ans. There is a method that helps in getting schema information that is GetSchema() and this method is called in three different ways; first way is when we call this method without any parameter it returns the metadata (table, view, stored procedure, indexes etc). When method is called by passing metadata collection name and filter criteria returns the items from the collection after applying the filter criteria and last way is when we called by passing a metadata collection name returns information about items found in the specified collection.

Q. Which one is better in .Net WebService or Remoting ?

Ans. Both of these are good but have little difference. WebService is helpful where the user who is using WebService doesnot have the .NET plateform. On the otherside for remoting we need .Net plateform on both server side and client side so in both of these remoting is faster then webservice.

Q. What is MARS support in ADO.NET ?

Ans. In First version of ADO.NET we could only do one connection on one result set. But the new feature allows us to do multiple commands on the same connection. Another feature is we can switch back and forth in command objects in connection. MARS means (Multiple Active ResultSets).
Keep Reading!!...
Cheers
Padhaku Einstein
Contact me at einstein.padhaku@gmail.com

Saturday, October 11, 2008

OOPS - Object Oriented Programming and Systems

Hi Friends
Today I will be discussing Q&A on Object Oriented Techniques.

Q. What Is OOPS ?
Ans. OOPS is an Object Oriented Programming language,which is the extension of Procedure Oriented Programming language.OOPS reduce the code of the program because of the extensive feature of Polymorphism. OOPS have many properties such as Data-Hiding,Inheritence,Data Absraction,Data Encapsulation and many more. It also increases the reusability of the code. Everything in the world is an object. The type of the object may vary. In OOPS, we get the power to create objects of our own, as & when required.

Q. what is Class ?

Ans. A group of objects that share a common definition and that therefore share common properties, operations, and behavior. A user-defined type that is defined with the class-key 'class,' 'struct,' or 'union.' Objects of a class type consist of zero or more members and base class objects.Classes can be defined hierarchically, allowing one class to be an expansion of another, and classes can restrict access to their members.

Q. What are Constructors and Destructors?
Ans. When we create instance of class a special method of that class is called that is constructor. Similarly, when the class is destroyed, the destructor method is called. These are general terms and usually not the actual member names in most object-oriented languages. It is initialized using the keyword New, and is destroyed using the keyword Finalize.

Q. What is Abstract Class ?
Ans. Classes that cannot be instantiated. We cannot create an object from such a class for use in our program. We can use an abstract class as a base class, creating new classes that will inherit from it. Creating an abstract class with a certain minimum required level of functionality gives us a defined starting point from which we can derive non-abstract classes. An abstract class may contain abstract methods & non-abstract methods. When a class is derived from an abstract class, the derived class must implement all the abstract methods declared in the base class. We may use accessibility modifiers in an abstract class.An abstract class can inherit from a non-abstract class. In C++, this concept is known as pure virtual method.

Q. What do u mean by Function Overloading ?
Ans. When more than one function is created with the same name, but difference is of their arguments . In other words, function names can be overloaded. A function may also have the same name as an attribute. In the case that there is an ambiguity between a function on a complex type and an attribute of the complex type, the attribute will always be used.
Q. What is diff. between abstract class and an interface?
Ans. An abstract class and Interface both have method only but not have body of method. The difference between Abstract class and An Interface is that if u call Abstract class then u have to call all method of that particular Abstract class but if u call an Interface then it is not necessary that u call all method of that particular interface.
Keep Reading!!...
Cheers
Padhaku Einstein

Thursday, October 2, 2008

Net Beans

Hi Friends

Today I am going to talk about NetBeans. NetBeans refers to both a platform for the development of Java desktop applications, and an integrated development environment (IDE) developed using the NetBeans Platform. NetBeans IDE is open-source and free. It Runs on Windows, Linux, Mac OS X and Solaris.

In computing, an integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, a compiler and/or interpreter, build automation tools, and (usually) a debugger.

The NetBeans Platform allows applications to be developed from a set of modular software components called modules. A module is a Java archive file that contains Java classes written to interact with the NetBeans Open APIs and a manifest file that identifies it as a module. Applications built on modules can be extended by adding new modules. Since modules can be developed independently, applications based on the NetBeans platform can be extended by third party developers.

NetBean Platform

The NetBeans Platform is a reusable framework for simplifying the development of other desktop applications. When an application based on the NetBeans Platform is run, the platform's Main class is executed. Available modules are located, placed in an in-memory registry, and the modules' startup tasks are executed. Generally, a module's code is loaded into memory only as it is needed.

The platform offers services common to desktop applications, allowing developers to focus on the logic specific to their application. Among the features of the platform are:

- User interface management (e.g. menus and toolbars)

- User settings management

- Storage management (saving and loading any kind of data)

- Window management

NetBeans IDE

The NetBeans IDE is an open-source integrated development environment written entirely in Java using the NetBeans Platform. NetBeans IDE supports development of all Java application types (J2SE, web, EJB and mobile applications).

Modularity: All the functions of the IDE are provided by modules. Each module provides a well defined function, such as support for the Java language, editing etc. NetBeans contains all the modules needed for Java development in a single download, allowing the user to start working immediately. Modules also allow NetBeans to be extended.

The latest stable version of NetBeans IDE is 6.1 and can be downloaded free from http://www.netbeans.org/.

NetBeans Scope

In Netbeans I would like to talk about scope which is the availability (or context) of an object and its intended life span in a web application. As long as a user stays on a page, the component values are remembered even when the page redisplays, such as when the user clicks a button that returns null. However, when the user leaves the page, the component values disappear.
To make values available to other pages, or to make values available to the same page, should the user return to it, you need to store the values. When you create a project from the IDE, the IDE creates three managed beans for storing values:

- RequestBean1

- SessionBean1

- ApplicationBean1

The following figure shows the Navigator window with the default managed beans.
A managed bean is a JavaBeans object that a JavaServer Faces web application instantiates and stores in either request scope, session scope, or application scope. The web application stores RequestBean1 in request scope, SessionBean1 in session scope, and ApplicationBean1 in application scope.

I will be talking about some of the more exciting features of NetBeans which makes it one of the most well accepted IDE for Application Development.
Happy Learning!!...

Cheers

Madhu S

Friday, September 26, 2008

Happy Birthday Google...

Hi friendsToday Google has completed 9 years in web space and is celebrating its 10th birthday. We from NIIT Edgeineers family wishes google a very "Happy Birthday".

Google started with search engine and over a period of 9 years has developed some of the very famous web technologies and tools like Google Search, Google Apps, Google Maps, Gmail, Gtalk, Blogger, Picasa and many more...

In our coming posts we will share some of google's exciting web based technologies and how to use them.

Hope, Google will reach more heights in the coming year in the internet and related technology services.

Best Wishes

NIIT Edgeineers
contact us at niitedgeineers@gmail.com

Java Insight

Hi Friends


I was busy for the last few days as I was preparing for BJS 08. I am happy to share with you that the results are out and I performed very well and got scholarship also in that.

Today I am continuing my Q&A session on Java.

Q. What is java virtual machine and what is its uses?

Ans. JVM is basic run time environment for java applications. JVM is used to convert the machine code to byte code. Portability is the one of the features of java, i'ts done by using JVM.

Q.What is the priority of main thread in java? and why?...

Ans. The 'main()' method in Java is referred to the thread that is running, whenever a Java program runs. It calls the main thread because it is the first thread that starts running when a program begins. Other threads can be spawned from this main thread. The main thread must be the last thread in the program to end. When the main thread stops, the program stops running.
Main thread is created automatically, but it can be controlled by the program by using a Thread object. The Thread object will hold the reference of the main thread with the help of currentThread() method of the Thread class.

Q. What is the difference between Java and J2EE?

Ans. Java is a object-oriented programming language which is platform neutral. That is unlike C or C++, java programs can be run on any operating system with its JVM.
J2EE is a specification for server side programs. That is to support internet applications, distributed and uses component model. So that Enterprises use this server side technology in their distributed business. Since J2EE is a server side specification, anybody can implement
the specification but again using Java.

Q. Why java is not pure object oriented language?

Ans. For a pure object oriented language,there should be 6 features available with it.They are:
1. Encapsulation/Information Hiding
2. Inheritance
3. Polymorphisms/Dynamic Binding
4. All pre-defined types should be Objects
5. All operations performed by sending messages to Objects
6. All user-defined types are Objects
Object oriented paradigm of programming says that everything in a programming world should felt like object mean : "Abstract and Encapsulated" The paradigm is not completely satisfied by Java. Some of the feature that make such violation are
1. Existence of primitives which are manipulated in ordinary style .
2. Existence of mathematical operator handled also not like objects. These two essential characteristics make Java somewhat what is the question.

But here again Java is big winner to make presence of wrapper classes to wrap up this difficulty or adaption. Moreover in Java 1.5 you will feel more free because of auto-boxing feature that make auto conversion of object to primitive and primitive to object.

Q. Can String class be extendable? and why?

Ans. No.String class cannot be extened as it is final class.
String classes are once of the core classes provided by java library and probably is one of the most frequently used class as well. It is marked Final and CANNOT be extended. Classes are marked final in order to retain their behavior.
For Strings,It is because in case if someone extends the String class and overrides the methods, the behavior will become abnormal,thats why it is marked final.

Keep Reading!!...

Cheers

Padhaku Einstein
Contact me at einstein.padhaku@gmail.com


Saturday, September 20, 2008

AJAX

Hi Friends,



Today I will be talking about Ajax. Ajax (asynchronous JavaScript and XML), or AJAX, is a group of interrelated web development techniques used for creating interactive web applications or Rich Internet Applications.
With Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. Data is retrieved using the XMLHttpRequest object or through the use of Remote Scripting in browsers that do not support it.

Technologies


The term Ajax has come to represent a broad group of web technologies that can be used to implement a web application that communicates with a server in the background, without interfering with the current state of the page. Ajax uses certain technologies like:

- XHTML and CSS for presentation
- the Document Object Model for dynamic display of and interaction with data
- XML and XSLT for the interchange and manipulation of data, respectively
- the XMLHttpRequest object for asynchronous communication
- JavaScript to bring these technologies together


There have been a number of developments in the technologies used in an Ajax enabled application, these are:


- JavaScript is not the only client-side scripting language that can be used for implementing an Ajax application. Other languages such as VBScript are also capable of the required functionality.


- The XMLHttpRequest object is not necessary for asynchronous communication. It has been noted that IFrames are capable of the same effect.


- XML is not required for data interchange and therefore XSLT is not required for the manipulation of data. JavaScript Object Notation (JSON) is often used as an alternative format for data interchange.


Ajax Framework


An Ajax framework is a framework that helps to develop web applications that use Ajax, a collection of technologies used to build dynamic web pages on the client side. Data is read from the server or sent to the server by JavaScript requests.


Ajax frameworks can be loosely grouped into categories according to the features they offer and the skills required of the user:


Direct Ajax frameworks


These frameworks require HTML, CSS and Ajax expertise: a developer is expected to author pages directly in HTML, and framework APIs deal directly with HTML elements. These frameworks are generally smaller. They are commonly used for a web site such as a shopping experience, but not for a web application such as web-based email, at least not without further frameworks layered on top.


Ajax component frameworks


These frameworks offer pre-built components, such as tabbed panes, which automatically create and manage their own HTML. Components are generally created via JavaScript or XML tags, or by adding special attributes to normal HTML elements. These frameworks are generally larger, and intended for web applications rather than web sites.


Server-driven Ajax frameworks


Several frameworks offer a server-side component-based development model with some degree of Ajax support. Components are created and manipulated on the server using a server-side programming language. Pages are then rendered by a combination of server-side and client-side HTML generation and manipulation. User actions are communicated to the server via Ajax techniques, server-side code manipulates a server-side component model, and changes to the server component model are reflected on the client automatically.


Advantages


- In many cases, the pages on a website consist of much content that is common between them. Using traditional methods, that content would have to be reloaded on every request. However, using Ajax, a web application can request only the content that needs to be updated, thus drastically reducing bandwidth usage.


- The use of asynchronous requests allows the client's Web browser UI to be more interactive and to respond quickly to inputs, and sections of pages can also be reloaded individually. Users may perceive the application to be faster or more responsive, even if the application has not changed on the server side.


- The use of Ajax can reduce connections to the server, since scripts and style sheets only have to be requested once.


Ajax is widely used in web applications developed in Java and .Net platform. Professionals working on these platforms/technologies can incorporate Ajax for better performance of their applications.


Happy Learning!!...


Cheers


Madhu S

Friday, September 12, 2008

Adobe ColdFusion- A tool for Web Application Deployment


Hi friends

In my last interaction I talked about Adobe flex. Today I am discussing ColdFusion one very important tool from Adobe which is useful for Web Application Deployment and because of its certain features is becoming very famous.

ColdFusion is an application server and software development framework used for the development of computer software in general, and dynamic web sites in particular. In this regard, ColdFusion is a similar product to Microsoft ASP.NET, JavaServer Pages or PHP. ColdFusion was the first amongst these technologies to provide the developer the capability of creating dynamic websites that were attached to a backend database. This technology is gaining a lot of popularity these days.

The primary distinguishing feature of ColdFusion is its associated scripting language, ColdFusion Markup Language (CFML), which compares to JSP, ASP.NET, or PHP and resembles HTML in syntax. ColdFusion is most often used for data-driven web sites or intranets, but can also be used to generate remote services such as SOAP web services or Flash remoting. It is especially well-suited as the server-side technology to the client-side Flex.

One important feature is ColdFusion can also handle asynchronous events such as SMS and instant messaging via its gateway interface, available in ColdFusion MX 7 Enterprise Edition.

Some of the main features of ColdFusion are:

- Client and server cache management
- Client-side code generation used especially for form validation
- Conversion from HTML to PDF and FlashPaper
- Data retrieval from common enterprise systems such as Active Directory, LDAP, POP, HTTP, FTP, Microsoft Exchange Server
- File indexing and searching service
- Platform-independent database querying via ODBC or JDBC
- Session, client, and application management
- XML parsing, querying, and validation
- Server clustering
- Task scheduling

Some important new features in ColdFusion includes Microsoft .Net integration, Microsoft Exchange Server integration, multi threadingand more ECMAScript (scripting language, standardized by European Computer Manufacturers Association) compliant CFSCRIPT. For development of ColdFusion applications, several tools are available like Adobe Dreamweaver CS3, Eclipse etc.

You might be thinking what makes ColdFusion so important?

Because ColdFusion is a Java EE application, ColdFusion code can be mixed with Java classes to create a variety of applications and utilize existing Java libraries. ColdFusion 8 supports .NET within the CFML syntax. ColdFusion developers can simply call any .NET assembly without needing to recompile or alter the assemblies in any way.

A unique feature for a J2EE vendor, ColdFusion 8 offers the ability to access .NET assemblies remotely through proxy (without the use of .NET Remoting). This allows ColdFusion users to leverage .NET without having to be installed on a Windows operating system.



ColdFusion can not only bring together disparate technologies within the enterprise, but can make these technologies available to a number of clients beyond the web browser including, but not limited to, the Flash Player, Adobe Integrated Runtime (AIR), Mobile devices (SMS), Acrobat Reader (PDF) and IM gateways. This opens a lot of opportunities for innovations in application development.


NIIT has strategic alliance with Adobe through which NIIT offers Web 2.0 training programs on Adobe technologies like Flash, Dreamweaver, Flex, ColdFusion.


To know more about Web 2.0 training programs visit your nearest NIIT centre or visit http://www.edgeineers.in/program_web2.asp

To avail BJS scholarships on Web 2.0 based programs plz visit http://www.netvarsity.com/BJS08/Scholarship_Details.aspx

Happy Learning!!...

Cheers

Madhu S