4 Software Description

12
Chapter 4 Software Description SOFTWARE DESCRIPTION 4.1 Front End: .NET FRAMEWORK: The Microsoft .Net Framework is a platform that provides tools and technologies need to build Networked pplications as well as Distributed !eb Services and !eb pplications. The .Net Framework provides the necessar" compile time and run#time founda tio n to bui ld and run an" lan guag e tha t conf orms to the Commo n $angua ge Specification %C$S&.The main two compone nt s of .Net Fr amework ar e Common $anguage 'untime %C$'& and .Net Framework Class $ibrar" %FC$&. The Common $anguage 'untime %C$'& is the runtime environment of the .Net Framework that e(ecutes and manages all running code like a )irtual Machine. The .Net Framework Class $ibrar" %FC$& is a huge collection of language#independent and t"pe# safe reusable classes. The .Net Framework Class $ibraries %FC$& are arranged into a logical grouping according to their functionalit" and usabilit" is called Namespaces. Common Language Runtme: The Common $anguage 'untime %C$'& is an *(ecution *nvironm ent . +t works as a la"er between ,perating S"stems and the applications written in .Net languages that conforms to the Common $anguage Specification %C$S&. The main function of Common $anguage 'untime %C$'& is to convert the Managed Code into native code and then e(ecute the -rogram. The Managed Code compiled onl" when it needed that is it conver ts the appr opr iat e ins tr uct ions when eac h functi on is cal led. The Common $angua ge 'unt ime %C$'&/ s 0ust +n Ti me %0+ T& compil ati on converts +ntermedi ate $anguage %MS+$& to native code on demand at application run time. During the e(ecution of the program the Common $anguage 'untime %C$'& man age s memor" Thr ead e(e cut ion 1ar bage Col lec tion %1C& *(ception 2andling 3T, F+NNC+N1 4

Transcript of 4 Software Description

Page 1: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 1/12

Chapter 4 Software Description

SOFTWARE DESCRIPTION

4.1 Front End:

.NET FRAMEWORK:

The Microsoft .Net Framework is a platform that provides tools and technologies

need to build Networked pplications as well as Distributed !eb Services and !eb

pplications. The .Net Framework provides the necessar" compile time and run#time

foundation to build and run an" language that conforms to the Common $anguage

Specification %C$S&.The main two components of .Net Framework are Common

$anguage 'untime %C$'& and .Net Framework Class $ibrar" %FC$&.

The Common $anguage 'untime %C$'& is the runtime environment of the .Net

Framework that e(ecutes and manages all running code like a )irtual Machine. The .Net

Framework Class $ibrar" %FC$& is a huge collection of language#independent and t"pe#

safe reusable classes. The .Net Framework Class $ibraries %FC$& are arranged into a

logical grouping according to their functionalit" and usabilit" is called Namespaces.

Common Language Runtme:

The Common $anguage 'untime %C$'& is an *(ecution *nvironment . +t works

as a la"er between ,perating S"stems and the applications written in .Net languages that

conforms to the Common $anguage Specification %C$S&. The main function of Common

$anguage 'untime %C$'& is to convert the Managed Code into native code and then

e(ecute the -rogram. The Managed Code compiled onl" when it needed that is it

converts the appropriate instructions when each function is called. The Common

$anguage 'untime %C$'&/s 0ust +n Time %0+T& compilation converts +ntermediate

$anguage %MS+$& to native code on demand at application run time.

During the e(ecution of the program the Common $anguage 'untime %C$'&

manages memor" Thread e(ecution 1arbage Collection %1C& *(ception 2andling

3T, F+NNC+N1 4

Page 2: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 2/12

Chapter 4 Software Description

Common T"pe S"stem %CTS& code safet" verifications and other s"stem services. The

C$' %Common $anguage 'untime& defines the Common T"pe S"stem %CTS& which is a

standard t"pe s"stem used b" all .Net languages. That means all .N*T programming

languages uses the same representation for common Data T"pes  so Common $anguage

'untime %C$'& is a language#independent runtime environment. The Common $anguage

'untime %C$'& environment is also referred to as a managed environment because

during the e(ecution of a program it also controls the interaction with the ,perating

S"stem.

Common T!"e S!#tem:

The Common T"pe S"stem %CTS& is a standard for defining and using data t"pes

in the .N*T framework. CTS define a collection of data t"pes which are used and

managed b" the run time to facilitate cross#language integration.

CTS provide the t"pes in the .N*T Framework with which .N*T applications

components and controls are built in different programming languages so information is

shared easil". +n contrast to low#level languages like C and C55 where classes6structs

have to be used for defining t"pes often used %like date or time& CTS provides a rich

hierarch" of such t"pes without the need for an" inclusion of header files or libraries inthe code.

Frame$or% C&a## L'rar!

The .Net Framework class librar" %FC$& provides the core functionalit" of .Net 

Framework architecture. The .Net Framework Class $ibrar" %FC$& includes a huge

collection of reusable classes interfaces and value t"pes that e(pedite and optimi7e the

development process and provide access to s"stem functionalit".

The .Net Framework class librar" %FC$& organi7ed in a hierarchical tree structure and it is

divided into Namespaces. Namespaces is a logical grouping of t"pes for the purpose of

identification. Framework class librar" %FC$& provides the consistent base t"pes that are

used across all .N*T enabled languages. The Classes are accessed b" namespaces which

3T, F+NNC+N1 8

Page 3: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 3/12

Chapter 4 Software Description

reside within ssemblies. The S"stem Namespace is the root for t"pes in the .N*T

Framework. The .Net Framework class librar" %FC$& classes are managed classes that

 provide access to S"stem Services. The .Net Framework class librar" %FC$& classes are

ob9ect oriented and eas" to use in program developments. Moreover third#part"

components can integrate with the classes in the .N*T Framework.

C( .NET LAN)*A)E:

h"brid of  C and C55   it is a Microsoft programming language developed to

compete with Sun:s 0ava language. C; is an ob9ect#oriented programming language used

with <M$#based !eb services on the.N*T platform and designed for improving

 productivit" in the development of !eb applications. C; boasts t"pe#safet" garbage

collection simplified t"pe declarations versioning and scalabilit" support and other

features that make developing solutions faster and easier especiall" for C,M5 and !eb

services. Microsoft critics have pointed to the similarities between C; and 0ava.

C; is designed to be a platform#independent language in the tradition of 0ava

%although it is implemented primaril" on !indows&. +t:s s"nta( is similar to C and C55

s"nta( and C; is designed to be an ob9ect#oriented language. There are for the most part

minor variations in s"nta( between C55 and C;. Main has no return t"pe there are nosemicolons after class names there are some %to C55 programmers& strange decisions

regarding capitali7ation # such as the capitali7ation of Main. ,ther a few differences the

s"nta( is often the same. This decision is reasonable in light of the fact that C s"nta( has

 been used with several other languages # notabl" 0ava.

Similar to 0ava C; does not support multiple inheritances= instead it provides

0ava:s solution> interfaces. +nterfaces implemented b" a class specif" certain functions

that the class is guaranteed to implement. +nterfaces avoid the mess" dangers of multiple

inheritances while maintaining the abilit" to let several classes implement the same set of

methods.

3T, F+NNC+N1 ?

Page 4: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 4/12

Chapter 4 Software Description

nother helpful feature of C; is garbage collection. Therefore it is unnecessar" to

include a destructor for each class unless a class handles unmanaged resources= if so it:s

necessar" to release control those resources from within the class. C; also provides direct

access to memor" through C55 st"le pointers but these pointers are not garbage collected

until specificall" released b" the programmer.

C; as part of the .N*T framework is compiled to Microsoft +ntermediate

$anguage %MS+$& which is a language similar to 0ava:s b"tecode. MS+$ allows C; to be

 platform independent and runs using 9ust in time compiling. Therefore programs running

under .N*T gain speed with repeated use. Furthermore because the other languages that

make up the .N*T platform compile to MS+$ it is possible for classes to be inherited

across languages. The MS+$ allows C; to be platform independent.

4.+ ,a-% End:

SL SER/ER:

3T, F+NNC+N1 @

Page 5: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 5/12

Chapter 4 Software Description

Microsoft SA$ Server is a relational database management s"stem developed

 b" Microsoft. s a database it is a software product whose primar" function is to store

and retrieve data as reBuested b" other software applications be it those on the same

computer or those running on another computer across a network. There are at least a

do7en different editions of Microsoft SA$ Server aimed at different audiences and for

different workloads. +ts primar" Buer" languages are T#SA$ and NS+ SA$.

  SA$ Server 8 *(press replaces the Microsoft Data *ngine %MSD*& as the free

version of SA$ Server for application development and lightweight use. +t remains free

and retains the limitations of MSD* with respect to client connections and performance.

+t/s a great tool for developing and testing applications and e(tremel" small

implementations.

T"pes of uthentication in SA$ Server are>

Windows Authentication: The identit" of the client on the Domain of the ,S 6 Network is

used b" SA$ Server to allow or den" access to the resources in the database

SQL Server Authentication: The permissions to the client are granted based on the

identit" which was created and stored in SA$ Server database.

S0& Serer Com"onent#

. -rotocol $a"er 

-rotocol la"er implements the e(ternal interface to SA$ Server. TDS is an

application la"er protocol that is 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 data. The

data in the SA$ Server database is stored in primar" data files with an e(tension .mdf

3T, F+NNC+N1 E

Page 6: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 6/12

Chapter 4 Software Description

and Secondar" data files with an e(tension .ndf e(tension are used to store optional

metadata. $og files in SA$ Server are recogni7ed with the .ldf e(tension.

. Guffer Management

SA$ Server buffers pages in 'M to minimi7e disc +nput6,utput. ,n the

 basis of available memor" SA$ Server decides how man" pages will be cached in

memor". The buffer cache is managed b" the Guffer Manager.

4. $ogging and Transaction

SA$ Server uses transaction to make sure that an" operation either totall"

completes or is undone if fails but never leaves the database in an intermediate state.n" changes made to a page will update the in#memor" cache of the page and

simultaneousl" all the operations performed will be written to a log along with the

transaction +D. *ach log entr" is recogni7ed b" an increasing $og SeBuence Number

%$SN& which makes sure that no event overwrites another event. SA$ Server makes

sure that the log will be written onto the disc before the actual page is written back.

8. Concurrenc" and locking

when multiple users update the same data or attempt to read data that is in the

 process of being changed b" another user. +n SA$ Server we have two modes of

3T, F+NNC+N1 H

Page 7: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 7/12

Chapter 4 Software Description

concurrenc" control # pessimistic concurrenc" and optimistic concurrenc". +n

 pessimistic concurrenc" control SA$ Server controls concurrent access b" using

locks %shared or e(clusive&.

+n ,ptimistic concurrenc" control a new version of a row is created whenever the

row is updated. Goth the versions of the row are stored and maintained into a s"stem

defined database Tempdb.

?. Data 'etrieval

Data retrieval from SA$ Server is done using T#SA$. SA$ Server also allows

us to write stored procedures to Buer" the data.

@. SA$ C$' %Common $anguage 'untime&

SA$ Server 8 also has a new component named SA$ C$' via which it

integrates with .N*T Framework. !hen we write code for SA$ C$' data stored in

SA$ Server databases can be accessed b" using the D,.N*T -+s like an" other

application that accesses SA$ Server data.

4.2 Feature#:

C( FEAT*RES:

. Simple>

3T, F+NNC+N1

Page 8: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 8/12

Chapter 4 Software Description

+t simplifies C55 b" eliminating irk some operator such as #I > > and pointers.

. Consistent>

+t support an unified t"pe s"stem which eliminates the problem of var"ing ranges

of integer t"pes. ll t"pes are treated as ob9ect and developers can e(tend the t"pe s"stem

simpl" and easil".

. Modern>

+t supports utomatic garbage collection modern approach to debugging rich

intrinsic model for error handling decimal data t"pe for financial application and robust

securit" model.

4. ,b9ect#,riented>

  +t support all the three tenets of ob9ect#oriented s"stem namel" *ncapsulation

+nheritance and -ol"morphism.

*ncapsulation

!rapping up data member and method together into a single unit %i.e. Class& is

called *ncapsulation. *ncapsulation prevents clients from seeing it/s inside view where

the behaviour of the abstraction is implemented. *ncapsulation is a techniBue used to protect the information in an ob9ect from the other ob9ect. 2ide the data for securit" such

as making the variables as private and e(pose the propert" to access the private data

which would be public.

+nheritance

+t is the idea that one class called a subclass can be based on another class called

a base class. +nheritance provides a mechanism for creating hierarchies of ob9ects.

+nheritance is the abilit" to appl" another class:s interface and code to user own class.

3T, F+NNC+N1

Page 9: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 9/12

Chapter 4 Software Description

 Normal base classes ma" be instantiated themselves or inherited. Derived classes can

inherit base class members marked with protected or greater access. The derived class is

speciali7ed to provide more functionalit" in addition to what its base class provides.

-ol"morphism>

-ol"morphism means one ob9ect behaving as multiple forms.

8. T"pe#Safe>

 C; is more t"pe safe than C55. The onl" implicit conversions b" default are

those which are considered safe such as widening of integers. This is enforced at

compile#time during 0+T and in some cases at runtime. There are no implicit

conversions between booleans and integers nor between enumeration members and

integers. n" user#defined conversion must be e(plicitl" marked as e(plicit or implicit

unlike C55 cop" constructors and conversion operators which are both implicit b"

default.

?. )ersion able>

  Making new versions of software modules work with the e(isting applications is

known as versioning with the help of new and override ke"words !ith this support a

 programmer can guarantee that his new class librar" will maintain binar" compatibilit"with the e(isting client application.

@. Compatible>

C; enforces the .N*T common language specification and therefore allows

interoperation with other .N*T language.

E. Fle(ible>

C; memor" address pointers can onl" be used within blocks specificall" marked

as unsafe and programs with unsafe code need appropriate permissions to run. Most

ob9ect access is done through safe ob9ect references which alwa"s either point to a JliveJ

ob9ect or have the well#defined null value= it is impossible to obtain a reference to a

3T, F+NNC+N1

Page 10: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 10/12

Chapter 4 Software Description

JdeadJ ob9ect or to a random block of memor". n unsafe pointer can point to an

instance of a value#t"pe arra" string or a block of memor" allocated on a stack. Code

that is not marked as unsafe can still store and manipulate pointers through the S"stem.

H. +nter#,perabilit">

  C; provides support for using C,M ob9ects no matter what language

was used to author them. C; also supports special features that enable a program to call

out an" native -+.

SL SER/ER FEAT*RES:

. Database mirroring

Database mirroring is a new high#availabilit" feature in SA$ Server 8. +t:s

similar to server clustering in that failover is achieved b" the use of a stand#b" server= the

difference is that the failover is at the database level rather than the server level. The

 primar" database continuousl" sends transaction logs to the backup database on a

separate SA$ Server instance. third SA$ Server instance is then used as a witness

database to monitor the interaction between the primar" and the mirror databases.

. Database snapshots

database snapshot is essentiall" an instant read#onl" cop" of a database and it

is a great candidate for an" t"pe of reporting solution for compan". +n addition to being a

great reporting tool user can revert control from primar" database to user snapshot

database in the event of an error. The onl" data loss would be from the point of creation

of the database snapshot to the event of failure.

. C$' integration

!ith SA$ Server 8 user now has the abilit" to create custom .N*T ob9ects

with the database engine. For e(ample stored procedures triggers and functions can

now be created using familiar .N*T languages such as )G and C;. *(posing this

3T, F+NNC+N1

Page 11: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 11/12

Chapter 4 Software Description

functionalit" gives "ou tools that "ou never had access to before such as regular

e(pressions.

4. Service Groker 

This feature gives the abilit" to create as"nchronous message#based applications

in the database entirel" through TSA$. The database engine guarantees message deliver"

message order consistenc" and handles message grouping. +n addition Service Groker

gives the abilit" to send messages between different SA$ Server instances. Server Groker

is also used in several other features in SA$ Server 8.

8. DD$ triggers

DD$ triggers are defined at the server or database level and fire when DD$

statements occur. This gives the abilit" to audit when new tables stored procedures or

logins are created.

?. 'anking functions

SA$ Server 8 provides with the abilit" to rank result sets returned from the

database engine. This allows customi7ing the manner in which result sets are returnedsuch as creating customi7ed paging functions for !eb site data.

@. 'ow versioning#based isolation levels

This new database engine feature improves database read concurrenc" b" reducing

the amount of locks being used in user database. There are two versions of this feature

%both of which must be enabled at the database level&>

3T, F+NNC+N1 4

Page 12: 4 Software Description

8/13/2019 4 Software Description

http://slidepdf.com/reader/full/4-software-description 12/12

Chapter 4 Software Description

• 'ead Committed +solation 3sing 'ow )ersioning is used at the individual

statement level and guarantees that the data is consistent for the duration of the

statement.

• Snapshot +solation is used at the transaction level and guarantees that the data is

consistent for the duration of the transaction.

E. <M$ integration

SA$ Server 8 introduces the new <M$ data#t"pe. 3ser can store full <M$

documents in this new data#t"pe and user can place validations on the well#formed

documents in the database. dditional enhancements include the abilit" to Buer" the

<M$ documents and create inde(es on the <M$ data#t"pe.

H. T'K...CTC2

3ser can use the new T'K...CTC2 constructs in SA$ Server 8 to catch and

handle deadlocks when the" occur in the database. This long#awaited feature simplifies

error handling in the database.

. Database Mail

Database Mail the eventual successor to SA$ Mail is a greatl" enhanced e#mail

solution available in the database engine. !ith Database Mail there is no longer a

dependenc" on Microsoft ,utlook or M-+ e#mail clients. Database Mail uses standard

SMT- to send e#mail messages.

3T, F+NNC+N1 8