Ebanking

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ebanking as PDF for free.

More details

  • Words: 24,617
  • Pages: 121
E Banking

Chapt er 1

Abstr act

The E-Banking is an application that has been developed for a well-established regional bank operating primarily in south India. The bank has several branches in key cities and towns in the north. In the world of this competitive environment and technological development, the bank has been totally computerized in the last 3 years, and to increase its customer base has started planning, for a concept called as e-banking; with this concept the bank wants to move very nearer to the customers and increase its basic operational strategies. Through E-Banking the bank wants to introduce the core concept of IT based Enabled Services (ITES). The E-Banking services are executed only upon the customer, and these e-banking services would fully integrate with the core banking solution that is already in usage. The major idea is to provide a series of services to the customer through the internet, and make the customer feel flexible in calling out simple tasks faster instead of making visit to the bank every time. The e-banking service is open only to savings bank. Customers and not for current account holders. The customer is privileged to use most of the system only as a viewing phase, the only online transactions the customer can do are chequebook requisition and fund transfer among his personal accounts. The project ahs been planned to be having the view of distributed architecture, with centralized storage of the database. The application for the storage of the data has been planned. Using the constructs of MS-SQLServer2000 and all the user interfaces have been designed using the ASP.Net technologies. The database connectivity is planned using the “SQL Connection” methodology. The standards of security and data protective mechanism have been given a big choice for proper usage. The application takes care of different modules and their associated reports, which are produced as per the applicable strategies and standards that are put forwarded by the administrative staff.

Chapt er 2

Project Synopsis

The entire project has been developed keeping in view of the distributed client server computing technology, in mind. The specification have been normalized up to 3NF to eliminate all the anomalies that may arise due to the database transaction that are executed by the general users and the organizational administration. The user interfaces are browser specific to give distributed accessibility for the overall system. The internal database has been selected as MS-SQL server 200.The basic constructs of table spaces, clusters and indexes have been exploited to provide higher consistency and reliability for the data storage. The MS-SQL server 200 was a choice as it provides the constructs of high-level reliability and security. The total front end was dominated using the ASP.Net technologies. At all proper levels high care was taken to check that the system manages the data consistency with proper business rules or validations. The database connectivity was planned using the latest ”SQL Connection” technology provided by Microsoft Corporation. The authentication and authorization was crosschecked at all the relevant stages. The user

level

accessibility

has

been

restricted

into

two

zones

namely.

The

administrative zone and the normal user zone. About the Organization The National Bank (TNB) is a well-established regional bank operating primarily in south India, but with several branches in key cities and towns in the North. Dfgegdfgdfgdfgdf

Manual Process

 Leaves the bank

Customer physically visits the bank

Associated and integrates the information as needed

Inquires for an existing service or some specific information

The incharge clerk checks the specification and answers the query

 Customer makes a counter sign and receives the checkbook

Customer physically visits the bank

The cheque book is sent for manages initials

Raises a request for new checkbook by filling in the prescribed form

The incharge clerk accepts the request and prepares the cheque book with respect to given specification

Why the New System The development of the new system contains the following activities which try to automate the entire process keeping in view of the database integration approach. 1. The administrators have grates accessibility in collecting the consistent information that is very much necessary for the system to exist and coordinate. 2. The system at any point of time can give the customers information related to their  Accounts and accounts status  The balance enquiry  The fund transfer standards  The cheque book request 3.The system can provide information related to the different types of accounts that are existing within the bank. 4.The system can provide the bank administration with information on the number of customers who are existing in the system. 5.The system at any point of time can provide the information related to the executed transactions by the customer. 6.The system with respect to the necessities can identify all the history details of the trial participants along with their outcome of the results.

7.The system with respect to the necessities can provide the status of research and development process that is under schedule within the organization currently. 8.With proper storage of the data in a relational environment the system can Applegate itself to cater to the standards of providing a clear and easy path for future research standards that may arise due to organizational policies.

Chapter 3

Feasibility Report

Technical Descriptions: The total number of databases that were identified to build system is 17. The major parts of the databases are categorized as administration components and customer of based components. The administration components are useful is managing the actual master date that may be necessary the maintain the consistency of the system. These databases purely used for the internal organizational needs and necessities. The uses of customer components are designed to handle to transactional states that arise upon the system whereas customer makes a visit onto the portal for the same of a product purchase. The customers components are scheduled accept parametrical information from the uses as per the system necessity.

GUI’S In the flexibility of the uses the interface has been developed a graphics concept in mind, associated through a browses interface. The GUI’S at the top level have been categorized i. Administration users interface ii. Account Holder interface The Administration users interface concentrate on the consistent in that is practically

part

of

organizational

actuaries

and

which

needs

proper

authentication for date collation. These interfaces to the visitors with all the transactional states lute date in date deletion and date updation only with the Date search capabilities. The Account holder interface helps the ordinary website visitors is transacting through the required services that provided upon the site. The customer interfaces also help the ordinary users in managing their own information

Required Hardware  Pentium IV Processor.  128 MB RAM.  20GB Hard Disk space.  Ethernet card with an Internet and Internet zone.

Required Software  Windows 2000 XP operating system.  Internet explorer 5.0 and Netscape navigator.  Oracle 9i.  TCP/IP Protocol suite.

Number of Modules The system after careful analysis has been identified to be presented with the following modules.

1. Employee information module: The module manages the information of all the employees who practically exist for this organization. Each employee is exclusively associated through a specific department and authorized designation. The module manages all the transactional relations that generically arise as and when the system has been executed, upon the requirements.

2. Banks Information module: This module specifies the integrated and interrelation information alert the banks and their branches. The module also specifically states the different services each bank can provide and integrates itself with customer’s accounts information.

3. Customers accounts information module: The module maintains the actual customers list that have availed bank accounts upon this system. The module integrates itself with the banks and the types of services the bank can provide.

4. Customer transaction module: This module maintains the information related to all the transaction that are executed by the customer upon the E-Banking application. The module integrates itself with entities like transaction types to check the consistency of the transaction.

5. Fund Transfer master: This module maintains the information related to the funds that have been transferred by the customer from one of his account to another account of his own. This module helps the customer in executing the fund transfer with out the physical visit to the banks premises.

6. Chequebook request module: This module maintains the information related and issues by the bank. This module facilitates the customer with requesting the chequebook through online process eradicating the physical visits.

Chapt er 4

Analysis Report

SRS Document Intended Audience And Reading Suggestions The

document

is

constructs

of

my

university

as

document

specifies

prepared

keeping

Bachelors

partial

Degree

fulfillment

the

is

general

of

view

/

of

the

Masters

my

Degree

academic

procedure

that

academic from

purpose

that

has

the been

followed by me, while the system was studied and developed. The general document was provided by the

industry as a reference

guide to understand my responsibilities in developing the system, with respect to the requirements that have been pin pointed to get the exact structure of the system as stated by the actual client. The system as stated by my project leader the actual standards of the specification were desired by conducting a series of interviews and

questionnaires.

The

collected

information

was

organized

to

form the specification document and then was modeled to suite the standards of the system as intended.

Document Conventions: The overall documents for this project use the recognized modeling standards at the software industries level. •

ER-Modeling to concentrate on the relational states existing

upon

the

system

with

respect

to

Cardinality. •

The Physical dispense, which state the overall data search for the relational key whereas a transactions is implemented on the wear entities.



Unified

modeling

language

concepts

to

generalized blue print for the overall system.

give

a



The standards of flow charts at the required states that are the functionality of the operations need more concentration.

Microsoft SQL Server 7.0 Storage Engine Introduction SQL Server™ 7.0 a scalable, reliable, and easy-to-use product that will provide a solid foundation for application design for the next 20 years. Storage Engine Design Goals Database applications can now be deployed widely due to intelligent, automated storage engine operations. Sophisticated yet s i m p l i f i e d a r c h i t e c t u r e i m p r o v e s p e r f o r m a n c e , r e l i a b i l i t y, a n d s c a l a b i l i t y.

Feature

Description and Benefits

Re l i a b i l i t y

C o n c u r r e n c y, s c a l a b i l i t y, a n d r e l i a b i l i t y a r e i m p r o v e d with simplified data structures and algorithms. Runtime checks of critical data structures make the database much more robust, minimizing the need for consistency checks.

Scalability

Ease of Use

The new disk format and storage subsystem provide storage that is scalable from very small to very large databases. Specific changes include: • Simplified mapping of database objects to files e a s e s m a n a g e m e n t a n d e n a b l e s t u n i n g f l e x i b i l i t y. DB objects can be mapped to specific disks for load balancing. •

More efficient space management including increasing page size from 2 KB to 8 KB, 64 KB I/O, variable length character fields up to 8 KB, and the ability to delete columns from existing tables without an unload/reload of the data.



Re d e s i g n e d u t i l i t i e s s u p p o r t t e r a b y t e - s i z e d d a t a b a s e s e f f i c i e n t l y.

DBA intervention is eliminated for standard operations —enabling branch office automation and desktop and mobile database applications. Many complex server operations are automated.

Storage Engine Features

Feature

Description and Benefits

D a t a Ty p e Sizes

Maximum size of character and binary data types is dramatically increased.

Databases and Files

Databases creation is simplified, now residing on operating system files instead of logical devices.

Dynamic Memory

Improves performance by optimizing memory allocation and usage. Simplified design minimizes contention with other resource managers.

D y n a m i c Ro w - F u l l r o w - l e v e l l o c k i n g i s i m p l e m e n t e d f o r b o t h d a t a Level Locking rows and index entries. Dynamic locking a u t o m a t i c a l l y c h o o s e s t h e o p t i m a l l e v e l o f l o c k ( r o w, page, multiple page, table) for all database operations. This feature provides improved concurrency with no tuning. The database also supports the use of "hints" to force a particular level of locking. Dynamic

A database can automatically grow and shrink within

Space Management

configurable limits, minimizing the need for DBA intervention. It is no longer necessary to pre allocate space and manage data structures.

Evolution

T h e n e w a r c h i t e c t u r e i s d e s i g n e d f o r e x t e n s i b i l i t y, with a foundation for object-relational features.

Large Memory SQL Server 7.0 Enterprise Edition will support Support memory addressing greater than 4 GB, in conjunction with Windows NT Server 5.0, Alpha processor-based systems, and other techniques. Unicode

Native Unicode, with ODBC and OLE DB Unicode APIs, improves multilingual support.

Storage Engine Architectural Overview Overview The

original

code

was

inherited

from

Sybase

and

designed

for

eight-megabyte Unix systems in 1983.These new formats improve manageability and scalability and allow the server to easily scale from

low-end

to

high-end

systems,

improving

performance

and

m a n a g e a b i l i t y. Benefits There are many benefits of the new on-disk layout, including: •

Improved scalability and integration with Windows NT Server



Better performance with larger I/Os



Stable record locators allow more indexes



More indexes speed decision support queries



Simpler data structures provide better quality



Greater extensibility, so that subsequent releases will have a cleaner development process and new features are faster to implement

Storage Engine Subsystems Most relational database products are divided into relational engine and storage engine components. This document focuses on the storage engine, which has a variety of subsystems: •

Mechanisms that store data in files and find pages, files, and extents.



Record pages.



Access methods using b-trees that are used to quickly find records using record identifiers.



Concurrency control for locking,used to implement the physical lock manager and locking protocols for pageor record-level locking.



I/O buffer management.



Logging and recovery.



Utilities for backup and restore, consistency checking, and bulk data loading.

management

for

accessing

the

records

on

Databases, Files, and Filegroups Overview SQL Server 7.0 is much more integrated with Windows NT Server than any of its predecessors. Databases are now stored directly in Windows NT Server files .SQL Server is being stretched towards both the high and low end. Files SQL Server 7.0 creates a database using a set of operating system files, with a separate file used for each database. Multiple databases can no longer share the same file. There are several important benefits to this simplification. Files can now grow and shrink, and space management is greatly simplified. All data and objects in the database, such as tables, stored procedures,

triggers, and views, are stored only within these operating system files: F i l e Ty p e

Description

Primary data file

This file is the starting point of the database. Every database has only one primary data file and all system tables are always stored in the primary data file.

Secondary data files

These files are optional and can hold all data and objects that are not on the primary data file. Some databases may not have any secondary data files, while others have multiple secondary data files.

Log files

These files hold all of the transaction log information used to recover the database. Every database has at least one log file.

When a database is created, all the files that comprise the database are zeroed out (filled with zeros) to overwrite any existing data left on the disk by previously deleted files. This improves the performance of day-to-day operations. Filegroups A database now consists of one or more data files and one or more log files. The data files can be grouped together into user-defined f i l e g r o u p s . Ta b l e s a n d i n d e x e s c a n t h e n b e m a p p e d t o d i f f e r e n t filegroups to control data placement on physical disks. Filegroups are a convenient unit of administration, greatly improving f l e x i b i l i t y. S Q L S e r v e r 7 . 0 w i l l a l l o w y o u t o b a c k u p a d i f f e r e n t portion of the database each night on a rotating schedule by choosing which filegroups to back up. Filegroups work well for sophisticated users who know where they want to place indexes and tables. SQL Server 7.0 can work quite effectively without filegroups. Log files are never a part of a filegroup. Log space is managed separately from data space. Using Files and Filegroups Using files and filegroups improves database performance by allowing a database to be created across multiple disks, multiple disk controllers, or redundant array of inexpensive disks (RAID)

s y s t e m s . Fo r e x a m p l e , i f y o u r c o m p u t e r h a s f o u r d i s k s , y o u c a n create a database that comprises three data files and one log file, with one file on each disk. As data is accessed, four read/write heads can simultaneously access the data in parallel, which speeds u p d a t a b a s e o p e r a t i o n s . A d d i t i o n a l l y, f i l e s a n d f i l e g r o u p s a l l o w better data placement because a table can be created in a specific filegroup. This improves performance because all I/O for a specific t a b l e c a n b e d i r e c t e d a t a s p e c i f i c d i s k . Fo r e x a m p l e , a h e a v i l y used table can be placed on one file in one filegroup and located on one disk. The other less heavily accessed tables in the database can be placed on other files in another filegroup, located on a second disk. Space Management There are many improvements in the allocations of space and the management of space within files. The data structures that keep track of page-to-object relationships were redesigned. Instead of linked lists of pages, bitmaps are used because they are cleaner and simpler and facilitate parallel scans. Now each file is more a u t o n o m o u s ; i t h a s m o r e d a t a a b o u t i t s e l f, w i t h i n i t s e l f. T h i s w o r k s well for copying or mailing database files. SQL Server now has a much more efficient system for tracking table space. The changes enable •

Growing and shrinking files



Better support for large I/O



Ro w s p a c e m a n a g e m e n t w i t h i n a t a b l e



Less expensive extent allocations

SQL Server is very effective at quickly allocating pages to objects and reusing space freed by deleted rows. These operations are internal to the system and use data structures not visible to users, yet are occasionally referenced in SQL Server messages. File Shrink T h e s e r v e r c h e c k s t h e s p a c e u s a g e i n e a c h d a t a b a s e p e r i o d i c a l l y. I f a database is found to have a lot of empty space, the size of the files in the database will be reduced. Both data and log files can be shrunk. This activity occurs in the background and does not affect a n y u s e r a c t i v i t y w i t h i n t h e d a t a b a s e . Yo u c a n a l s o u s e t h e S Q L Server Enterprise Manager or DBCC to shrink files as individually

o r a s a g r o u p , o r u s e t h e D B C C c o m m a n d s S H R I N K D ATA B A S E o r SHRINKFILE. SQL Server shrinks files by moving rows from pages at the end of the file to pages allocated earlier in the file. In an index, nodes are moved from the end of the file to pages at the beginning of the file. In both cases pages are freed at the end of files and then returned to the file system. Databases can only be shrunk to the point that no free space is remaining; there is no data compression. File Grow Automated file growth greatly reduces the need for database management and eliminates many problems that occur when logs or databases run out of space. When creating a database, an initial size for the file must be given. SQL Server creates the data files based on the size provided by the database creator and data is added to the database these files fill. By default, data files are allowed to grow as much as necessary until disk space is e x h a u s t e d . A l t e r n a t i v e l y, d a t a f i l e s c a n b e c o n f i g u r e d t o g r o w a u t o m a t i c a l l y, b u t o n l y t o a p r e d e f i n e d m a x i m u m s i z e . T h i s prevents disk drives from running out of space. Allowing files to grow automatically can those files if a large number of files Therefore, it is recommended that files or as many different local physical disks as that compete heavily for space in different

cause fragmentation of share the same disk. filegroups be created on available. Place objects filegroups.

Physical Database Architecture Microsoft SQL Server version 7.0 introduces significant i m p r o v e m e n t s i n t h e w a y d a t a i s s t o r e d p h y s i c a l l y. T h e s e c h a n g e s are largely transparent to general users, but do affect the setup and administration of SQL Server databases. Pages and Extents The fundamental unit of data storage in SQL Server is the page. In SQL Server version 7.0, the size of a page is 8 KB, increased from 2 KB. The start of each page is a 96-byte header used to store system information, such as the type of page, the amount of free space on the page, and the object ID of the object owning the page.

There are seven types of pages in the data files of a SQL Server 7.0 database. Page Type

Contains

Data

Data rows with all data except text, ntext, and image.

Index

Index entries

Log

Log records recording data changes for use in recovery

Te x t / I m a g e

Te x t , n t e x t , a n d i m a g e d a t a

Global Allocation Map Information about allocated extents Pa g e F r e e S p a c e

Information pages

about

free

space

available

on

Index Allocation Map

Information about extents used by a table or index.

Torn Page Detection To r n p a g e d e t e c t i o n h e l p s i n s u r e d a t a b a s e c o n s i s t e n c y. I n S Q L Server 7.0, pages are 8 KB, while Windows NT does I/O in 512-byte segments. This discrepancy makes it possible for a page to be partially written. This could happen if there is a power failure or other problem between the time when the first 512-byte segment is written and the completion of the 8 KB of I/O. There are several ways to deal with this. One way is to use battery-backed cached I/O devices that guarantee all-or-nothing I/O. If you have one of these systems, torn page detection is u n n e c e s s a r y. In SQL Server 7.0, you can enable torn page detection particular database by turning on a database option.

for

a

Locking Enhancements Row-Level Locking SQL Server 6.5 introduced a limited version of row locking on inserts. SQL Server 7.0 now supports full row-level locking for both d a t a r o w s a n d i n d e x e n t r i e s . Tr a n s a c t i o n s c a n u p d a t e i n d i v i d u a l r e c o r d s w i t h o u t l o c k i n g e n t i r e p a g e s . M a n y O LT P a p p l i c a t i o n s c a n e x p e r i e n c e i n c r e a s e d c o n c u r r e n c y, e s p e c i a l l y w h e n a p p l i c a t i o n s append rows to tables and indexes. Dynamic Locking SQL Server 7.0 has a superior locking mechanism that t h e d a t a b a s e i n d u s t r y. A t r u n t i m e , t h e s t o r a g e e n g i n e cooperates with the query processor to choose the l o c k i n g s t r a t e g y, b a s e d o n t h e c h a r a c t e r i s t i c s o f t h e q u e r y.

is unique in dynamically lowest-cost schema and

Dynamic locking has the following advantages: •

Simplified database administration, because database administrators no longer need to be concerned with adjusting lock escalation thresholds.



Increased performance, because SQL Server minimizes system overhead by using locks appropriate to the task.



Application developers can concentrate on development, b e c a u s e S Q L S e r v e r a d j u s t s l o c k i n g a u t o m a t i c a l l y.

Multigranular locking allows different types of resources to be l o c k e d b y a t r a n s a c t i o n . To m i n i m i z e t h e c o s t o f l o c k i n g , S Q L Server automatically locks resources at a level appropriate to the t a s k . L o c k i n g a t a s m a l l e r g r a n u l a r i t y, s u c h a s r o w s , i n c r e a s e s concurrency but has a higher overhead because more locks must be h e l d i f m a n y r o w s a r e l o c k e d . L o c k i n g a t a l a r g e r g r a n u l a r i t y, s u c h a s t a b l e s , i s e x p e n s i v e i n t e r m s o f c o n c u r r e n c y. H o w e v e r, l o c k i n g a larger unit of data has a lower overhead because fewer locks are being maintained.

Lock Modes SQL Server locks resources using different lock modes that determine how the resources can be accessed by concurrent transactions. SQL Server uses several resource lock modes: Lock mode

Description

Shared

Used for operations that do not change or update data (read-only operations), such as a SELECT statement.

Update

Used on resources that can be updated. Prevents a common form of deadlock that occurs when multiple sessions are reading, locking, and then potentially u p d a t i n g r e s o u r c e s l a t e r.

Exclusive

Used for data-modification operations, such as U P D AT E , I N S E RT, o r D E L E T E . E n s u r e s t h a t m u l t i p l e updates cannot be made to the same resource at the same time.

Intent

U s e d t o e s t a b l i s h a l o c k h i e r a r c h y.

Schema

Used when an operation dependent on the schema of a table is executing. There are two types of schema locks: schema stability and schema modification.

Table and Index Architecture Overview Fundamental changes were made in table organization. This new organization allows the query processor to make use of more nonclustered indexes, greatly improving performance for decision support applications. The query optimizer has a wide set of execution strategies and many of the optimization limitations of e a r l i e r v e r s i o n s o f S Q L S e r v e r h a v e b e e n r e m o v e d . I n p a r t i c u l a r, S Q L S e r v e r 7 . 0 i s l e s s s e n s i t i v e t o i n d e x- s e l e c t i o n i s s u e s , r e s u l t i n g in less tuning work.

Table Organization The data for each table is now stored in a collection of 8-KB data pages. Each data page has a 96-byte header containing system information such as the ID of the table that owns the page and pointers to the next and previous pages for pages linked in a list. A row-offset table is at the end of the page. Data rows fill the rest of the page. SQL Server 7.0 tables use one of two methods to organize their data pages: •

Clustered tables are tables that have a clustered index. The data rows are stored in order based on the clustered index k e y. T h e d a t a p a g e s a r e l i n k e d i n a d o u b l y l i n k e d l i s t . T h e index is implemented as a b-tree index structure that supports fast retrieval of the rows based on their clustered index key values.



Heaps are tables that have no clustered index. There is no particular order to the sequence of the data pages and the data pages are not linked in a linked list.

Table Indexes A SQL Server index is a structure associated with a table that speeds retrieval of the rows in the table. An index contains keys built from one or more columns in the table. These keys are stored in a structure that allows SQL Server to quickly and efficiently find the row or rows associated with the key values. This structure is called a heap. The two types of SQL Server indexes are clustered and nonclustered indexes Clustered Indexes A clustered index is one in which the order of the values in the index is the same as the order of the data stored in the table. The clustered index contains a hierarchical tree. When searching for data based on a clustered index value, SQL Server quickly isolates the page with the specified value and then searches the page for the record or records with the specified value. The lowest level, or leaf node, of the index tree is the page that contains the data.

Nonclustered Indexes A nonclustered index is analogous to an index in a textbook. The d a t a i s s t o r e d i n o n e p l a c e ; t h e i n d e x i s s t o r e d i n a n o t h e r, w i t h pointers to the storage location of the indexed items in the data. T h e l o w e s t l e v e l , o r l e a f n o d e , o f a n o n c l u s t e r e d i n d e x i s t h e Ro w I d e n t i f i e r o f t h e i n d e x e n t r y, w h i c h g i v e s S Q L S e r v e r t h e l o c a t i o n o f t h e a c t u a l d a t a r o w. T h e Ro w I d e n t i f i e r c a n h a v e o n e o f t w o forms. If the table has a clustered index, the identifier of the row i s t h e c l u s t e r e d i n d e x k e y. I f t h e t a b l e i s a h e a p , t h e Ro w I d e n t i f i e r i s t h e a c t u a l l o c a t i o n o f t h e d a t a r o w, i n d i c a t e d w i t h a p a g e number and offset on the page. Therefore, a nonclustered index, in comparison with a clustered index, has an extra level between the i n d e x s t r u c t u r e a n d t h e d a t a i t s e l f. When SQL Server searches for data based on a nonclustered index, it searches the index for the specified value to obtain the location of the rows of data and then retrieves the data from their storage locations. This makes nonclustered indexes the optimal choice for exact-match queries. Some books contain multiple indexes. Since nonclustered indexes frequently store clustered index keys as their pointers to data rows, it is important to keep clustered index keys as small as possible. SQL Server supports up to 249 nonclustered indexes on each table. The nonclustered indexes have a b-tree index structure similar to the one in clustered indexes. The difference is that nonclustered indexes have no effect on the order of the data rows. The collection of data pages for a heap is not affected if nonclustered indexes are defined for the table. Data Type Changes Unicode Data SQL Server now supports Unicode data types, which makes it easier to store data in multiple languages within one database by eliminating the problem of converting characters and installing multiple code pages. Unicode stores character data using two bytes for each character rather than one byte. There are 65,536 different bit patterns in two bytes, so Unicode can use one standard set of bit patterns to encode each character in all languages, including languages such as Chinese that have large numbers of characters. Many programming languages also support Unicode data types.

T h e n e w d a t a t y p e s t h a t s u p p o r t U n i c o d e a r e n t e x t , n c h a r, a n d n v a r c h a r. T h e y a r e t h e s a m e a s t e x t , c h a r, a n d v a r c h a r, e x c e p t f o r the wider range of characters supported and the increased storage space used. Improved Data Storage Data storage flexibility is greatly improved with the expansion of t h e m a x i m u m l i m i t s f o r c h a r, v a r c h a r, b i n a r y, a n d v a r b i n a r y d a t a types to 8,000 bytes, increased from 255 bytes. It is no longer necessary to use text and image data types for data storage for a n y t h i n g b u t v e r y l a r g e d a t a v a l u e s . T h e Tr a n s a c t - S Q L s t r i n g functions also support these very long char and varchar values, and the SUBSTRING function can be used to process text and image columns. The handling of Nulls and empty strings has been improved. A new unique identifier data type is provided for storing a globally unique identifier (GUID). Normalization Normalization is the concept of analyzing the “inherent” or normal relationships between the various elements of a database. Data is normalized in different forms.

First normal form: Data is in first normal form if data of the tables is moved in to separate tables where data in each table is of a similar type, giving each table a primary key – a unique label or a n i d e n t i f i e r. T h i s e l i m i n a t e s r e p e a t i n g g r o u p s o f d a t a .

Second

normal

form:

Involves

taking

out

data

that

is

only

d e p e n d e n t o n p a r t o f k e y.

Third

normal

form:

Involves

removing

the

transitive

dependencies. This means getting rid of any thing in the tables that

doesn’t

depend

Solely

on

the

primary

k e y.

Thus,

through

normalization, effective data storage can be achieved eliminating redundancies and repeating groups. SQL

The structured query language is used to manipulate data in the oracle database. It is also called SEQUEL. SQL *plus- the user – friendly interface: SQL *plus Is a superset of the standard SQL .it conforms to the standards of an SQL – compliant language and it has some specific oracle add – ones, leading to its name SQL and plus. SQL *plus was always called UFI (user –friendly interface). The oracle server only understands statements worded using SQL. Other front-end tools interact with the oracle database using the SQL statements. O r a c l e ’s i m p l e m e n t a t i o n o f S Q L t h r o u g h S Q L * p l u s i s c o m p l i a n t with

ANSI

(American

national

standard

institute)

and

the

ISO

(international standards organization) standards. Almost all oracle tools support identical SQL syntax

Data

can

Language

be

manipulated

upon

by

using

the

Data

Manipulation

(DML). The DML statements provided by SQL are select,

update, and delete. SQL *plus 3.3 can be accessed only by giving the

valid

username

and

password.

This

is

one

of

the

security

features imposed by oracle to restrict unauthorized data accessed. SQL allows provides commands for creating new users, granting privileges etc. All such features of SQL*plus make it a power data access tool especially for oracle products.

Client Server Technologies

MS.NET Overview of the .NET Framework The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the

Internet.

The

.NET

Framework

is

designed

to

fulfill

the

following objectives: •

To

provide

a

consistent

object-oriented

programming

environment whether object code is stored and executed l o c a l l y,

executed

locally

but

Internet-distributed,

or

e x e c u t e d r e m o t e l y. •

To p r o v i d e a c o d e - e x e c u t i o n e n v i r o n m e n t t h a t m i n i m i z e s software deployment and versioning conflicts.



To

provide

guarantees

a

code-execution

safe

execution

of

environment

code,

that

including

code

c r e a t e d b y a n u n k n o w n o r s e m i - t r u s t e d t h i r d p a r t y. •

To p r o v i d e a c o d e - e x e c u t i o n e n v i r o n m e n t t h a t e l i m i n a t e s the

performance

problems

of

scripted

or

interpreted

environments. •

To

make

the

developer

experience

consistent

across

widely varying types of applications, such as Windowsb a s e d a p p l i c a t i o n s a n d We b - b a s e d a p p l i c a t i o n s . •

To

build

ensure

all

that

communication code

based

on

on the

industry .NET

standards

Framework

to can

integrate with any other code. The

.NET

Framework

language

runtime

common

language

and

has

two

the

runtime

main

.NET is

components:

Framework the

the

class

foundation

common

l i b r a r y. of

the

The .NET

F r a m e w o r k . Yo u c a n t h i n k o f t h e r u n t i m e a s a n a g e n t t h a t m a n a g e s code at execution time, providing core services such as memory management,

thread

management,

and

remoting,

while

also

enforcing strict type safety and other forms of code accuracy that ensure

security

and

robustness.

In

fact,

the

concept

of

code

management is a fundamental principle of the runtime. Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code. The c l a s s l i b r a r y, t h e o t h e r m a i n c o m p o n e n t o f t h e . N E T F r a m e w o r k , i s a comprehensive, object-oriented collection of reusable types that you

can

use

to

develop

command-line

or

graphical

applications user

ranging

interface

from

(GUI)

traditional

applications

to

a p p l i c a t i o n s b a s e d o n t h e l a t e s t i n n o v a t i o n s p r o v i d e d b y A S P. N E T, s u c h a s We b Fo r m s a n d X M L We b s e r v i c e s . The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate software

the

execution

environment

unmanaged

features.

of that The

managed can .NET

code,

exploit Framework

thereby both not

creating

managed only

a

and

provides

several runtime hosts, but also supports the development of thirdparty runtime hosts. Fo r e x a m p l e , A S P. N E T h o s t s t h e r u n t i m e t o p r o v i d e a s c a l a b l e , s e r v e r - s i d e e n v i r o n m e n t f o r m a n a g e d c o d e . A S P. N E T w o r k s d i r e c t l y w i t h t h e r u n t i m e t o e n a b l e We b Fo r m s a p p l i c a t i o n s a n d X M L We b services, both of which are discussed later in this topic. Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension). Using Internet managed

Explorer

to

components

host or

the

runtime

Windows

enables

Fo r m s

you

controls

to in

embed HTML

documents. Hosting the runtime in this way makes managed mobile

code (similar to Microsoft® ActiveX® controls) possible, but with s i g n i f i c a n t i m p r o v e m e n t s t h a t o n l y m a n a g e d c o d e c a n o f f e r, s u c h as semi-trusted execution and secure isolated file storage. Features of the Common Language Runtime The

common

language

runtime

manages

m e m o r y,

thread

execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime. W i t h r e g a r d s t o s e c u r i t y, m a n a g e d c o m p o n e n t s a r e a w a r d e d varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might or might not be able to perform file-access operations, registryaccess operations,

or

other

sensitive

functions,

even

if

it is

being used in the same active application. T h e r u n t i m e e n f o r c e s c o d e a c c e s s s e c u r i t y. Fo r e x a m p l e , u s e r s c a n t r u s t t h a t a n e x e c u t a b l e e m b e d d e d i n a We b p a g e c a n p l a y an animation on screen or sing a song, but cannot access their personal data, file system, or network. The security features of the runtime thus enable legitimate Internet-deployed software to be exceptionally feature rich. The runtime also enforces code robustness by implementing a strict

type-

and

code-verification

infrastructure

called

the

common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and t y p e s a f e t y.

In

addition,

eliminates runtime

the

many

managed

common

automatically

environment

software

handles

of

issues.

object

Fo r

layout

the

runtime

example, and

the

manages

references to objects, releasing them when they are no longer being used. This automatic memory management resolves the two most common application errors, memory leaks and invalid memory references. The

runtime

example,

also

accelerates

programmers

can

developer

write

p r o d u c t i v i t y.

applications

in

Fo r their

development language of choice, yet take full advantage of the runtime,

the

languages

class

by

l i b r a r y,

other

and

components

developers.

Any

written

compiler

in

vendor

other who

chooses to target the runtime can do so. Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing applications. While the runtime is designed for the software of the future, it

also

supports

software

of

today

and

y e s t e r d a y.

Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs. The runtime is designed to enhance performance. Although the common language runtime provides many standard runtime services, managed code is never interpreted. A feature called just-in-time (JIT) compiling enables all managed code to run in the

native

executing. possibilities

machine

language

Meanwhile, of

of

the

system

the

memory

manager

fragmented

memory

and

on

which removes

increases

local ity- of-reference to further increase performance.

it

is the

memory

F i n a l l y,

the

runtime

can

be

hosted

by

high-performance,

server-side applications, such as Microsoft® SQL Server™ and Internet Information Services (IIS). This infrastructure enables you to use managed code to write your business logic, while still enjoying

the

superior

performance

of

the

industry's

best

enterprise servers that support runtime hosting. Common Type System The common type system defines how types are declared, used, and managed in the runtime, and is also an important part of the

runtime's

support

for

cross-language

integration.

The

common type system performs the following functions: Establishes

a

framework

that

enables

cross-language

i n t e g r a t i o n , t y p e s a f e t y, a n d h i g h p e r f o r m a n c e c o d e e x e c u t i o n . Provides an object-oriented model that supports the complete implementation of many programming languages. D e f i n e s r u l e s t h a t l a n g u a g e s m u s t f o l l o w, w h i c h h e l p s e n s u r e that objects written in different languages can interact with each o t h e r. I n T h i s S e c t i o n C o m m o n Ty p e S y s t e m O v e r v i e w Describes concepts and defines terms relating to the common type system.

Type Definitions Describes user-defined types. Type Members Describes events, fields, nested types, methods, and properties, and

concepts

such

as

member

overloading,

overriding,

and

inheritance. Value Types Describes built-in and user-defined value types. Classes Describes the characteristics of common language runtime classes. Delegates Describes the delegate object, which is the managed alternative to unmanaged function pointers. Arrays Describes common language runtime array types.

Interfaces Describes

characteristics

of

interfaces

and

the

restrictions

on

interfaces imposed by the common language runtime. Pointers Describes managed pointers, unmanaged pointers, and unmanaged function pointers.

Related Sections . NET Framework Class Library Provides a reference to the classes, interfaces, and value types included in the Microsoft .NET Framework SDK. Common Language Runtime Describes the run-time environment that manages the execution of code and provides application development services. Cross-Language Interoperability The

common

language

runtime

language

i n t e r o p e r a b i l i t y.

guarantee

that

developers

provides

H o w e v e r, using

built-in

this

another

support

support

does

programming

for not

language

c a n u s e c o d e y o u w r i t e . To e n s u r e t h a t y o u c a n d e v e l o p m a n a g e d code that can be fully used by developers using any programming language, a set of language features and rules for using them called the Common Language Specification (CLS) has been defined. Components that follow these rules and expose only CLS features are considered CLS-compliant. This

section

describes

the

common

language

runtime's

built-in

support for language interoperability and explains the role that the C L S p l a y s i n e n a b l i n g g u a r a n t e e d c r o s s - l a n g u a g e i n t e r o p e r a b i l i t y. CLS

features

and

rules

are

identified

and

CLS

compliance

is

discussed. In This Section Language Interoperability Describes built-in support for cross-language interoperability and introduces the Common Language Specification.

What is the Common Language Specification? Explains the need for a set of features common to all languages and identifies CLS rules and features.

Writing CLS-Compliant Code Discusses

the

meaning

of

CLS

compliance

for

components

and

identifies levels of CLS compliance for tools.

Common Type System Describes

how

types

are

declared,

used,

and

managed

by

the

common language runtime.

Metadata and Self-Describing Components Explains the common language runtime's mechanism for describing a t y p e a n d s t o r i n g t h a t i n f o r m a t i o n w i t h t h e t y p e i t s e l f. . NET Framework Class Library The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object oriented, providing types from which your own m a n a g e d c o d e c a n d e r i v e f u n c t i o n a l i t y. T h i s n o t o n l y m a k e s t h e .NET

Framework

types

easy

to

use,

but

also

reduces

the

time

associated with learning new features of the .NET Framework. In

addition,

third-party

components

can

integrate

seamlessly

with

classes in the .NET Framework. Fo r e x a m p l e , t h e . N E T F r a m e w o r k c o l l e c t i o n c l a s s e s i m p l e m e n t a set of interfaces that you can use to develop your own collection classes.

Yo u r

collection

classes

will

blend

seamlessly

with

the

classes in the .NET Framework. A s y o u w o u l d e x p e c t f r o m a n o b j e c t - o r i e n t e d c l a s s l i b r a r y, t h e . N E T Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, d a t a c o l l e c t i o n , d a t a b a s e c o n n e c t i v i t y, a n d f i l e a c c e s s . I n a d d i t i o n to

these

support

common a

variety

tasks, of

the

class

specialized

library

includes

development

types

scenarios.

that Fo r

example, you can use the .NET Framework to develop the following types of applications and services: Console applications. •

Scripted or hosted applications.



Windows GUI applications (Windows Forms).



ASP.NET applications.



XML Web services.



Windows services.

Fo r e x a m p l e , t h e W i n d o w s Fo r m s c l a s s e s a r e a c o m p r e h e n s i v e s e t of reusable types that vastly simplify Windows GUI development. If y o u w r i t e a n A S P. N E T We b Fo r m a p p l i c a t i o n , y o u c a n u s e t h e We b Fo r m s c l a s s e s .

Client Application Development Client

applications

are

the

closest

to

a

traditional

style

of

application in Windows-based programming. These are the types of applications enabling

that

a

user

display to

windows

perform

a

or

task.

forms

Client

on

the

desktop,

applications

include

applications such as word processors and spreadsheets, as well as custom business applications such as data-entry tools, reporting tools,

and

so

on.

Client

applications

usually

employ

windows,

menus, buttons, and other GUI elements, and they likely access local resources such as the file system and peripherals such as printers. Another kind of client application is the traditional ActiveX control ( n o w r e p l a c e d b y t h e m a n a g e d W i n d o w s Fo r m s c o n t r o l ) d e p l o y e d o v e r t h e I n t e r n e t a s a We b p a g e . T h i s a p p l i c a t i o n i s m u c h l i k e o t h e r c l i e n t a p p l i c a t i o n s : i t i s e x e c u t e d n a t i v e l y, h a s a c c e s s t o local resources, and includes graphical elements. In the past, developers created such applications using C/C++ in c o n j u n c t i o n w i t h t h e M i c r o s o f t Fo u n d a t i o n C l a s s e s ( M F C ) o r w i t h a rapid

application

development

Microsoft®

Visual

Basic®.

aspects

these

existing

of

development

environment

The

(RAD) .NET

products that

environment Framework

into

a

drastically

such

as

incorporates

single,

consistent

simplifies

the

development of client applications. T h e W i n d o w s Fo r m s c l a s s e s c o n t a i n e d i n t h e . N E T F r a m e w o r k a r e d e s i g n e d t o b e u s e d f o r G U I d e v e l o p m e n t . Yo u c a n e a s i l y c r e a t e command

windows,

buttons,

menus,

toolbars,

and

other

screen

elements with the flexibility necessary to accommodate shifting business needs.

Fo r e x a m p l e , t h e . N E T F r a m e w o r k p r o v i d e s s i m p l e p r o p e r t i e s t o adjust visual attributes associated with forms. In some cases the underlying

operating

attributes

d i r e c t l y,

system and

in

does these

not

support

cases

the

changing .NET

these

Framework

automatically recreates the forms. This is one of many ways in which

the

.NET

Framework

integrates

the

developer

interface,

making coding simpler and more consistent. U n l i k e A c t i v e X c o n t r o l s , W i n d o w s Fo r m s c o n t r o l s h a v e s e m i - t r u s t e d a c c e s s t o a u s e r ' s c o m p u t e r. T h i s m e a n s t h a t b i n a r y o r n a t i v e l y executing code can access some of the resources on the user's system (such as GUI elements and limited

file access) without

being able to access or compromise other resources. Because of c o d e a c c e s s s e c u r i t y, m a n y a p p l i c a t i o n s t h a t o n c e n e e d e d t o b e installed on a user's system can now be safely deployed through t h e We b . Yo u r a p p l i c a t i o n s c a n i m p l e m e n t t h e f e a t u r e s o f a l o c a l a p p l i c a t i o n w h i l e b e i n g d e p l o y e d l i k e a We b p a g e . Managed Execution Process The managed execution process includes the following steps: Choosing a Complier To o b t a i n t h e b e n e f i t s p r o v i d e d b y t h e c o m m o n l a n g u a g e r u n t i m e , you

must

use

one

or

more

language

code

to

Microsoft

compilers

that

target

the

runtime. Compiling

your

Intermediate

Language

(MSIL) Compiling translates your source code into MSIL and generates the required metadata.

Compiling MSIL to native code At execution time, a just-in-time (JIT) compiler translates the MSIL into

native

code.

During

this

compilation,

code

must

pass

a

verification process that examines the MSIL and metadata to find out whether the code can be determined to be type safe. Executing your code The

common

language

runtime

provides

the

infrastructure

that

enables execution to take place as well as a variety of services that can be used during execution. Assemblies Overview Assemblies are a fundamental part of programming with the .NET Framework. An assembly performs the following functions: It

contains

Microsoft

code

that

intermediate

the

common

language

language

(MSIL)

runtime

code

in

a

executes. portable

executable (PE) file will not be executed if it does not have an associated assembly manifest. Note that each assembly can have only one entry point (that is, DllMain, WinMain, or Main). I t f o r m s a s e c u r i t y b o u n d a r y. A n a s s e m b l y i s t h e u n i t a t w h i c h p e r m i s s i o n s a r e r e q u e s t e d a n d g r a n t e d . Fo r m o r e i n f o r m a t i o n a b o u t security

boundaries

as

they

apply

to

assemblies,

see

Assembly

Security Considerations I t f o r m s a t y p e b o u n d a r y. E v e r y t y p e ' s i d e n t i t y i n c l u d e s t h e n a m e o f t h e a s s e m b l y i n w h i c h i t r e s i d e s . A t y p e c a l l e d M y Ty p e l o a d e d i n t h e s c o p e o f o n e a s s e m b l y i s n o t t h e s a m e a s a t y p e c a l l e d M y Ty p e l o a d e d i n t h e s c o p e o f a n o t h e r a s s e m b l y.

It

forms

a

reference

scope

b o u n d a r y.

The

assembly's

manifest

contains assembly metadata that is used for resolving types and satisfying resource requests. It specifies the types and resources that

are

exposed

outside

the

a s s e m b l y.

The

manifest

also

enumerates other assemblies on which it depends. It

forms

a

version

b o u n d a r y.

The

assembly

is

the

smallest

versionable unit in the common language runtime; all types and resources

in

assembly's

the

same

manifest

assembly

describes

are the

versioned version

as

a

unit.

The

dependencies

you

s p e c i f y f o r a n y d e p e n d e n t a s s e m b l i e s . Fo r m o r e i n f o r m a t i o n a b o u t v e r s i o n i n g , s e e A s s e m b l y Ve r s i o n i n g It forms a deployment unit. When an application starts, only the assemblies Other

that

the

assemblies,

application

such

as

initially

localization

calls

must

resources

be

or

present.

assemblies

containing utility classes, can be retrieved on demand. This allows a p p l i c a t i o n s t o b e k e p t s i m p l e a n d t h i n w h e n f i r s t d o w n l o a d e d . Fo r more

information

about

deploying

assemblies,

see

Deploying

Applications I t i s t h e u n i t a t w h i c h s i d e - b y- s i d e e x e c u t i o n i s s u p p o r t e d . Fo r more

information

about

running

multiple

versions

of

the

same

a s s e m b l y, s e e S i d e - b y- S i d e E x e c u t i o n Assemblies can be static or dynamic. Static assemblies can include .NET

Framework

types

(interfaces

and

classes),

as

well

as

resources for the assembly (bitmaps, JPEG files, resource files, and s o o n ) . S t a t i c a s s e m b l i e s a r e s t o r e d o n d i s k i n P E f i l e s . Yo u c a n also use the .NET Framework to create dynamic assemblies, which are run directly from memory and are not saved to disk before e x e c u t i o n . Yo u c a n s a v e d y n a m i c a s s e m b l i e s t o d i s k a f t e r t h e y h a v e executed.

There

are

several

ways

to

create

assemblies.

Yo u

can

use

d e v e l o p m e n t t o o l s , s u c h a s V i s u a l S t u d i o . N E T, t h a t y o u h a v e u s e d i n t h e p a s t t o c r e a t e . d l l o r . e x e f i l e s . Yo u c a n u s e t o o l s p r o v i d e d in the .NET Framework SDK to create assemblies with modules created

in

other

development

environments.

Yo u

can

also

use

c o m m o n l a n g u a g e r u n t i m e A P I s , s u c h a s Re f l e c t i o n . E m i t , t o c r e a t e dynamic assemblies. Server Application Development Server-side applications in the managed world are implemented through runtime hosts. Unmanaged applications host the common language

runtime,

which

allows

your

custom

managed

code

to

c o n t r o l t h e b e h a v i o r o f t h e s e r v e r. T h i s m o d e l p r o v i d e s y o u w i t h a l l the features of the common language runtime and class library w h i l e g a i n i n g t h e p e r f o r m a n c e a n d s c a l a b i l i t y o f t h e h o s t s e r v e r. The

following

illustration

shows

a

basic

network

schema

with

managed code running in different server environments. Servers such as IIS and SQL Server can perform standard operations while your application logic executes through the managed code. Server-side managed code A S P. N E T i s t h e h o s t i n g e n v i r o n m e n t t h a t e n a b l e s d e v e l o p e r s t o u s e t h e . N E T F r a m e w o r k t o t a r g e t We b - b a s e d a p p l i c a t i o n s . H o w e v e r, A S P. N E T

is

architecture objects

more for

using

than

just

developing

managed

services use IIS and

a

runtime

We b

code.

A S P. N E T

sites

Both as the

host; and

We b

it

is

a

complete

Internet-distributed

Fo r m s

publishing

and

XML

mechanism

We b for

applications, and both have a collection of supporting classes in the .NET Framework.

XML

We b

services,

t e c h n o l o g y,

are

similar

common

to

an

important

distributed, We b

evolution

server-side sites.

in

We b - b a s e d

application

components

H o w e v e r,

unlike

We b - b a s e d

a p p l i c a t i o n s , X M L We b s e r v i c e s c o m p o n e n t s h a v e n o U I a n d a r e n o t targeted

for

browsers

such

as

Internet

Explorer

and

Netscape

N a v i g a t o r. I n s t e a d , X M L We b s e r v i c e s c o n s i s t o f r e u s a b l e s o f t w a r e components designed to be consumed by other applications, such a s t r a d i t i o n a l c l i e n t a p p l i c a t i o n s , We b - b a s e d a p p l i c a t i o n s , o r e v e n o t h e r X M L We b s e r v i c e s . A s a r e s u l t , X M L We b s e r v i c e s t e c h n o l o g y is rapidly moving application development and deployment into the highly distributed environment of the Internet. If

you

have

used

earlier

versions

of

ASP

t e c h n o l o g y,

you

will

i m m e d i a t e l y n o t i c e t h e i m p r o v e m e n t s t h a t A S P. N E T a n d We b Fo r m s o f f e r s . Fo r e x a m p l e , y o u c a n d e v e l o p We b Fo r m s p a g e s i n a n y language that supports the .NET Framework. In addition, your code no

longer

needs

to

share

the

same

file

with

your

H TT P

text

( a l t h o u g h i t c a n c o n t i n u e t o d o s o i f y o u p r e f e r ) . We b Fo r m s p a g e s execute

in

native

machine

language

because,

like

any

other

managed application, they take full advantage of the runtime. In contrast,

unmanaged

ASP

pages

are

always

scripted

and

i n t e r p r e t e d . A S P. N E T p a g e s a r e f a s t e r, m o r e f u n c t i o n a l , a n d e a s i e r to develop than unmanaged ASP pages because they interact with the runtime like any managed application. The .NET Framework also provides a collection of classes and tools to

aid

in

development

applications.

XML

We b

and

consumption

services

are

built

of

XML

We b

on

standards

services such

as

SOAP (a remote procedure-call protocol), XML (an extensible data f o r m a t ) , a n d W S D L ( t h e We b S e r v i c e s D e s c r i p t i o n L a n g u a g e ) . T h e .NET

Framework

is

built

on

these

standards

interoperability with non-Microsoft solutions.

to

promote

Fo r e x a m p l e , t h e We b S e r v i c e s D e s c r i p t i o n L a n g u a g e t o o l i n c l u d e d with

the

.NET

Framework

SDK

can

query

an

XML

We b

service

p u b l i s h e d o n t h e We b , p a r s e i t s W S D L d e s c r i p t i o n , a n d p r o d u c e C # or

Visual

Basic

source

code

that

your

application

can

use

to

b e c o m e a c l i e n t o f t h e X M L We b s e r v i c e . T h e s o u r c e c o d e c a n create classes derived from classes in the class library that handle all the underlying communication using SOAP and XML parsing. Although

you

can

use

the

class

library

to

consume

XML

We b

s e r v i c e s d i r e c t l y, t h e We b S e r v i c e s D e s c r i p t i o n L a n g u a g e t o o l a n d the other tools contained in the SDK facilitate your development efforts with the .NET Framework. I f y o u d e v e l o p a n d p u b l i s h y o u r o w n X M L We b s e r v i c e , t h e . N E T Framework

provides

a

set

underlying

communication

of

classes

standards,

that

such

conform as

S O A P,

to

all

the

WSDL,

and

XML. Using those classes enables you to focus on the logic of your service,

without

concerning

yourself

with

the

communications

infrastructure required by distributed software development. F i n a l l y, l i k e We b Fo r m s p a g e s i n t h e m a n a g e d e n v i r o n m e n t , y o u r XML

We b

service

will

run

with

the

speed

of

native

machine

language using the scalable communication of IIS. Programming with the .NET Framework This

section

describes

the

programming

essentials

you

need

to

build .NET applications, from creating assemblies from your code to securing your application. Many of the fundamentals covered in this section are used to create any application using the .NET Framework. This section provides conceptual information about key programming

concepts,

as

well

explanations. Accessing Data with ADO.NET

as

code

samples

and

detailed

Describes the ADO.NET architecture and how to use the ADO.NET classes to manage application data and interact with data sources i n c l u d i n g M i c r o s o f t S Q L S e r v e r, O L E D B d a t a s o u r c e s , a n d X M L . Accessing

Objects

in

Other

Application

Domains

using

.NET

Re m o t i n g Describes

the

various

communications

methods

available

in

the

.NET Framework for remote communications.

Accessing the Internet Shows how to use Internet access classes to implement both We b - a n d I n t e r n e t - b a s e d a p p l i c a t i o n s . Creating Active Directory Components Discusses using the Active Directory Services Interfaces. Creating Scheduled Server Tasks Discusses how to create events that are raised on reoccurring intervals. Developing Components Provides an overview of component programming and explains how those concepts work with the .NET Framework. Developing World-Ready Applications Explains the extensive support the .NET Framework provides for developing international applications. Discovering Type Information at Runtime

Explains how to get access to type information at run time by using reflection. Drawing and Editing Images Discusses using GDI+ with the .NET Framework. Emitting Dynamic Assemblies Describes

the

set

of

managed

types

in

the

S y s t e m . Re f l e c t i o n . E m i t n a m e s p a c e .

Employing XML in the .NET Framework Provides an overview to a comprehensive and integrated set of classes that work with XML documents and data in the .NET Framework. Extending Metadata Using Attributes Describes how you can use attributes to customize metadata. Generating and Compiling Source Code Dynamically in Multiple Languages Explains the .NET Framework SDK mechanism called the Code Document Object Model (CodeDOM) that enables the output of source code in multiple programming languages. Grouping Data in Collections Discusses

the

various

collection

types

available

in

the

.NET

Framework, including stacks, queues, lists, arrays, and structs. Handling and Raising Events Provides an overview of the event model in the .NET Framework.

Handling and Throwing Exceptions Describes error handling provided by the .NET Framework and the fundamentals of handling exceptions.

Hosting the Common Language Runtime Explains the concept of a runtime host, which loads the runtime into

a

process,

creates

the

application

domain

within

the

process, and loads and executes user code. Including Asynchronous Calls Discusses

asynchronous

programming

features

in

the

.NET

Framework. Interoperating with Unmanaged Code Describes

interoperability

services

provided

by

the

common

language runtime. Managing Applications Using WMI Explains how to create applications using Windows Management Instrumentation management

(WMI),

services

which

built

in

provides to

the

a

rich

set

Microsoft®

of

system

Windows®

operating systems. Creating Messaging Components Discusses how applications.

to

build

complex

messaging

into

your

Processing Transactions Discusses the .NET Framework support for transactions. Programming Essentials for Garbage Collection Discusses how the garbage collector manages memory and how y o u c a n p r o g r a m t o u s e m e m o r y m o r e e f f i c i e n t l y.

Programming with Application Domains and Assemblies

Describes

how

to

create

and

work

with

assemblies

and

application domains. Securing Applications Describes

.NET

Framework

code

access

s e c u r i t y,

role-based

s e c u r i t y, s e c u r i t y p o l i c y, a n d s e c u r i t y t o o l s . Serializing Objects Discusses XML serialization. Creating System Monitoring Components Discusses how to use performance counters and event logs with your application. Threading Explains the runtime support for threading and how to program using various synchronization techniques. Working With Base Types Discusses

formatting

and

parsing

base

data

types

and

using

regular expressions to process text. Working with I/O Explains how you can perform synchronous and asynchronous file and data stream access and how to use to isolated storage. Writing Serviced Components Describes how to configure and register serviced components to access COM+ services. Creating ASP.NET Web Applications D i s c u s s e s h o w t o c r e a t e a n d o p t i m i z e A S P. N E T We b a p p l i c a t i o n s .

Creating Windows Forms Applications D e s c r i b e s h o w t o c r e a t e W i n d o w s Fo r m s a n d W i n d o w s c o n t r o l s applications. Building Console Applications Discusses how to create console-based .NET applications. Introduction to ASP.NET A S P. N E T i s m o r e t h a n t h e n e x t v e r s i o n o f A c t i v e S e r v e r P a g e s ( A S P ) ; i t i s a u n i f i e d We b d e v e l o p m e n t p l a t f o r m t h a t p r o v i d e s the services necessary for developers to build enterprise-class We b a p p l i c a t i o n s . W h i l e A S P. N E T i s l a r g e l y s y n t a x c o m p a t i b l e with

A S P,

it

also

provides

a

new

programming

model

and

infrastructure for more secure, scalable, and stable applications. Yo u c a n f e e l f r e e t o a u g m e n t y o u r e x i s t i n g A S P a p p l i c a t i o n s b y i n c r e m e n t a l l y a d d i n g A S P. N E T f u n c t i o n a l i t y t o t h e m . A S P. N E T i s a c o m p i l e d , . N E T- b a s e d e n v i r o n m e n t ; y o u c a n a u t h o r applications in any .NET compatible language, including Visual B a s i c . N E T, C # , a n d J S c r i p t . N E T. A d d i t i o n a l l y, t h e e n t i r e . N E T F r a m e w o r k i s a v a i l a b l e t o a n y A S P. N E T a p p l i c a t i o n . D e v e l o p e r s can

easily

include

the

access

the

managed

benefits common

of

these

language

technologies,

runtime

which

environment,

t y p e s a f e t y, i n h e r i t a n c e , a n d s o o n . A S P. N E T h a s b e e n d e s i g n e d t o w o r k s e a m l e s s l y w i t h W Y S I W Y G HTML editors and other programming tools, including Microsoft V i s u a l S t u d i o . N E T. N o t o n l y d o e s t h i s m a k e We b d e v e l o p m e n t e a s i e r, b u t i t a l s o p r o v i d e s a l l t h e b e n e f i t s t h a t t h e s e t o o l s h a v e t o o f f e r, i n c l u d i n g a G U I t h a t d e v e l o p e r s c a n u s e t o d r o p s e r v e r controls support.

onto

a

We b

page

and

fully

integrated

debugging

Developers can choose from the following two features when c r e a t i n g a n A S P. N E T a p p l i c a t i o n , We b Fo r m s a n d We b s e r v i c e s , or combine these in any way they see fit. Each is supported by the same infrastructure that allows you to use authentication schemes,

cache

frequently

used

data,

or

customize

your

application's configuration, to name only a few possibilities. We b Fo r m s a l l o w s y o u t o b u i l d p o w e r f u l f o r m s - b a s e d We b p a g e s . W h e n b u i l d i n g t h e s e p a g e s , y o u c a n u s e A S P. N E T s e r v e r c o n t r o l s to create common UI elements, and program them for common t a s k s . T h e s e c o n t r o l s a l l o w y o u t o r a p i d l y b u i l d a We b Fo r m o u t of reusable built-in or custom components, simplifying the code o f a p a g e . Fo r m o r e i n f o r m a t i o n , s e e We b Fo r m s P a g e s . Fo r information

on

how

to

develop

A S P. N E T

server

controls,

see

D e v e l o p i n g A S P. N E T S e r v e r C o n t r o l s An

XML

We b

functionality

service

provides

r e m o t e l y.

Using

the We b

means

to

services,

access

server

businesses

can

expose programmatic interfaces to their data or business logic, which in turn can be obtained and manipulated by client and s e r v e r a p p l i c a t i o n s . X M L We b s e r v i c e s e n a b l e t h e e x c h a n g e o f data in client-server or server-server scenarios, using standards l i k e H TT P a n d X M L m e s s a g i n g t o m o v e d a t a a c r o s s f i r e w a l l s . X M L We b s e r v i c e s a r e n o t t i e d t o a p a r t i c u l a r c o m p o n e n t t e c h n o l o g y or object-calling convention. As a result, programs written in any language, using any component model, and running on any operating

system

can

access

XML

We b

services.

Fo r

more

i n f o r m a t i o n , s e e X M L We b S e r v i c e s a n d X M L We b S e r v i c e C l i e n t s C r e a t e d U s i n g A S P. N E T E a c h o f t h e s e m o d e l s c a n t a k e f u l l a d v a n t a g e o f a l l A S P. N E T features, as well as the power of the .NET Framework and .NET

Framework common language runtime. These features and how you can use them are outlined as follows: If

you

have

ASP

development

skills,

the

new

A S P. N E T

p r o g r a m m i n g m o d e l w i l l s e e m v e r y f a m i l i a r t o y o u . H o w e v e r, t h e A S P. N E T making this

object it

model

more

means

has

structured

that

A S P. N E T

changed and

is

significantly

object-oriented.

not

fully

from

A S P,

Unfortunately

backward

compatible;

almost all existing ASP pages will have to be modified to some e x t e n t i n o r d e r t o r u n u n d e r A S P. N E T. I n a d d i t i o n , m a j o r c h a n g e s to Visual Basic .NET mean that existing ASP pages written with Visual Basic Scripting Edition typically will not port directly to A S P. N E T. involve

In

most

only

a

cases,

few

lines

though, of

code.

the Fo r

necessary more

changes

will

information,

see

M i g r a t i n g f r o m A S P t o A S P. N E T A c c e s s i n g d a t a b a s e s f r o m A S P. N E T a p p l i c a t i o n s i s a n o f t e n - u s e d technique

for

displaying

data

to

We b

site

visitors.

A S P. N E T

makes it easier than ever to access databases for this purpose. I t a l s o a l l o w s y o u t o m a n a g e t h e d a t a b a s e f r o m y o u r c o d e . Fo r m o r e i n f o r m a t i o n , s e e A c c e s s i n g D a t a w i t h A S P. N E T A S P. N E T p r o v i d e s a s i m p l e m o d e l t h a t e n a b l e s We b d e v e l o p e r s t o write logic that runs at the application level. Developers can write this code in the global.asax text file or in a compiled class d e p l o y e d a s a n a s s e m b l y. T h i s l o g i c c a n i n c l u d e a p p l i c a t i o n - l e v e l events, but developers can easily extend this model to suit the needs

of

their

We b

application.

Fo r

more

information,

see

A S P. N E T A p p l i c a t i o n s A S P. N E T

provides

easy-to-use

application

and

session-state

facilities that are familiar to ASP developers and are readily

compatible

with

all

other

.NET

Framework

APIs.

Fo r

more

i n f o r m a t i o n , s e e A S P. N E T S t a t e M a n a g e m e n t Fo r a d v a n c e d d e v e l o p e r s w h o w a n t t o u s e A P I s a s p o w e r f u l a s the

ISAPI

programming

interfaces

that

were

included

with

p r e v i o u s v e r s i o n s o f A S P, A S P. N E T o f f e r s t h e I H t t p H a n d l e r a n d IHttpModule interfaces. Implementing the IHttpHandler interface gives you a means of interacting with the low-level request and response

services

functionality

much

programming

of like

model.

the ISAPI

IIS

We b

server

extensions,

Implementing

the

but

and with

IHttpModule

provides a

simpler interface

allows you to include custom events that participate in every r e q u e s t m a d e t o y o u r a p p l i c a t i o n . Fo r m o r e i n f o r m a t i o n , s e e H TT P R u n t i m e S u p p o r t A S P. N E T t a k e s a d v a n t a g e o f p e r f o r m a n c e e n h a n c e m e n t s f o u n d i n t h e . N E T F r a m e w o r k a n d c o m m o n l a n g u a g e r u n t i m e . A d d i t i o n a l l y, it

has

been

designed

to

offer

significant

performance

i m p r o v e m e n t s o v e r A S P a n d o t h e r We b d e v e l o p m e n t p l a t f o r m s . A l l A S P. N E T c o d e i s c o m p i l e d , r a t h e r t h a n i n t e r p r e t e d , w h i c h allows

early

binding,

strong

typing,

and

just-in-time

(JIT)

compilation to native code, to name only a few of its benefits. A S P. N E T i s a l s o e a s i l y f a c t o r a b l e , m e a n i n g t h a t d e v e l o p e r s c a n remove modules (a session module, for instance) that are not r e l e v a n t t o t h e a p p l i c a t i o n t h e y a r e d e v e l o p i n g . A S P. N E T a l s o provides extensive caching services (both built-in services and c a c h i n g A P I s ) . A S P. N E T a l s o s h i p s w i t h p e r f o r m a n c e c o u n t e r s that developers and system administrators can monitor to test n e w a p p l i c a t i o n s a n d g a t h e r m e t r i c s o n e x i s t i n g a p p l i c a t i o n s . Fo r m o r e i n f o r m a t i o n , s e e A S P. N E T C a c h i n g Fe a t u r e s a n d A S P. N E T Optimization

W r i t i n g c u s t o m d e b u g s t a t e m e n t s t o y o u r We b p a g e c a n h e l p i m m e n s e l y i n t r o u b l e s h o o t i n g y o u r a p p l i c a t i o n ' s c o d e . H o w e v e r, it can cause embarrassment if it is not removed. The problem is that removing the debug statements from your pages when your application is ready to be ported to a production server can require

significant

effort.

A S P. N E T

offers

the

Tr a c e

Context

class, which allows you to write custom debug statements to your pages as you develop them. They appear only when you have enabled tracing for a page or entire application. Enabling t r a c i n g a l s o a p p e n d s d e t a i l s a b o u t a r e q u e s t t o t h e p a g e , o r, i f y o u s o s p e c i f y, t o a c u s t o m t r a c e v i e w e r t h a t i s s t o r e d i n t h e r o o t d i r e c t o r y o f y o u r a p p l i c a t i o n . Fo r m o r e i n f o r m a t i o n , s e e A S P. N E T Tr a c e T h e . N E T F r a m e w o r k a n d A S P. N E T p r o v i d e d e f a u l t a u t h o r i z a t i o n a n d a u t h e n t i c a t i o n s c h e m e s f o r We b a p p l i c a t i o n s . Yo u c a n e a s i l y remove, add to, or replace these schemes, depending upon the n e e d s o f y o u r a p p l i c a t i o n . Fo r m o r e i n f o r m a t i o n , s e e A S P. N E T We b A p p l i c a t i o n S e c u r i t y A S P. N E T c o n f i g u r a t i o n s e t t i n g s a r e s t o r e d i n X M L- b a s e d f i l e s , which

are

human

readable

and

writable.

Each

of

your

applications can have a distinct configuration file and you can e x t e n d t h e c o n f i g u r a t i o n s c h e m e t o s u i t y o u r r e q u i r e m e n t s . Fo r m o r e i n f o r m a t i o n , s e e A S P. N E T C o n f i g u r a t i o n Building Applications The

.NET

Framework

applications

and

enables

services,

powerful

including

new

A S P. N E T

We b - b a s e d applications,

W i n d o w s Fo r m s a p p l i c a t i o n s , a n d W i n d o w s s e r v i c e s . T h i s s e c t i o n contains

instructive

overviews

and

procedures for creating applications.

detailed,

s t e p - b y- s t e p

This

section

Framework

also

includes

design-time

information

architecture

to

on

using

support

the

visual

.NET design

environments for authoring custom components and controls. Creating ASP.NET Web Applications Provides the information you need to develop enterprise-class We b a p p l i c a t i o n s w i t h A S P. N E T. Creating Windows Forms Applications I n t r o d u c e s W i n d o w s Fo r m s , t h e n e w o b j e c t - o r i e n t e d f r a m e w o r k for developing Windows-based applications. Windows Service Applications Describes creating, installing, starting, and stopping Windows system services.

Building Console Applications Describes writing applications that use the system console for input and output. Enhancing Design-Time Support Describes the .NET Framework's rich design-time architecture and support for visual design environments. Debugging and Profiling Applications Explains how to test and profile .NET Framework applications. Deploying Applications

Shows

how

language

to

use

runtime

the to

.NET

create

Framework

and

the

self-described,

common

self-contained

applications. Configuring Applications Explains how developers and administrators can apply settings to various types of configuration files. Debugging and Profiling Applications To

debug

a

.NET

Framework

application,

the

compiler

and

runtime environment must be configured to enable a debugger to attach to the application and to produce both symbols and line maps,

if

Microsoft

possible,

for

the

Intermediate

application

Language

and

(MSIL).

its

corresponding

Once

a

managed

application is debugged, it can be profiled to boost performance. Profiling evaluates and describes the lines of source code that generate the most frequently executed code, and how much time it takes to execute them. The

.NET

Visual

Framework

Studio

. N E T,

applications

which

handles

are

easily

many

of

debugged the

using

configuration

details. If Visual Studio .NET is not installed, you can examine and improve the performance of .NET Framework applications in several alternative ways using the following: Systems. Diagnostics classes. Runtime

Debugger

(Cordbg.exe),

which

is

a

command-line

Debugger

(DbgCLR.exe),

d e b u g g e r. Microsoft

common

language

w h i c h i s a W i n d o w s d e b u g g e r.

runtime

The .NET Framework namespace System. Diagnostics includes t h e Tr a c e a n d D e b u g c l a s s e s f o r t r a c i n g e x e c u t i o n f l o w, a n d t h e Process,

Event

Log,

and

Pe r f o r m a n c e

Counter

classes

for

profiling code. The Cordbg.exe command-line debugger can be u s e d t o d e b u g m a n a g e d c o d e f r o m t h e c o m m a n d - l i n e i n t e r p r e t e r. DbgCLR.exe is a debugger with the familiar Windows interface for

debugging

managed

code.

It

is

located

in

the

M i c r o s o f t . N E T / F r a m e w o r k S D K / G u i D e b u g f o l d e r. Enabling JIT-attach Debugging Shows

how

to

configure

the

registry

engine to a .NET Framework application.

to

J I T- a t t a c h

a

debug

Making an Image Easier to Debug Shows how to turn JIT tracking on and optimization off to make an assembly easier to debug. Enabling Profiling Shows how to set environment variables to tie a .NET Framework a p p l i c a t i o n t o a p r o f i l e r. Introduction to ASP.NET Server Controls W h e n y o u c r e a t e We b Fo r m s p a g e s , y o u c a n u s e t h e s e t y p e s o f controls: HTML server controls

HTML elements exposed to the server so

you can program them. HTML server controls expose an object model that maps very closely to the HTML elements that they r e n d e r. We b s e r v e r c o n t r o l s

Controls with more built-in features than

H T M L s e r v e r c o n t r o l s . We b s e r v e r c o n t r o l s i n c l u d e n o t o n l y f o r m type controls such as buttons and text boxes, but also specialp u r p o s e c o n t r o l s s u c h a s a c a l e n d a r. We b s e r v e r c o n t r o l s a r e more abstract than HTML server controls in that their object model does not necessarily reflect HTML syntax. Va l i d a t i o n c o n t r o l s

Controls that incorporate logic to allow you

t o t e s t a u s e r ' s i n p u t . Yo u a t t a c h a v a l i d a t i o n c o n t r o l t o a n i n p u t control

to

test

what

the

user

enters

for

that

input

control.

Va l i d a t i o n c o n t r o l s a r e p r o v i d e d t o a l l o w y o u t o c h e c k f o r a required field, to test against a specific value or pattern of characters, to verify that a value lies within a range, and so on.

User controls

C o n t r o l s t h a t y o u c r e a t e a s We b Fo r m s p a g e s .

Yo u c a n e m b e d We b Fo r m s u s e r c o n t r o l s i n o t h e r We b Fo r m s pages, which is an easy way to create menus, toolbars, and other reusable elements. Yo u

can

use

all

following

sections

controls.

Fo r

types

more

of

provide

controls more

information

on

detail

the

same

about

page.

A S P. N E T

The

server

about validation controls,

see

We b Fo r m s Va l i d a t i o n f o r i n f o r m a t i o n a b o u t u s e r c o n t r o l s ; s e e I n t r o d u c t i o n t o We b U s e r C o n t r o l s HTML Server Controls HTML server controls are HTML elements containing attributes t h a t m a k e t h e m v i s i b l e t o — a n d p r o g r a m m a b l e o n — t h e s e r v e r. By

default,

HTML

elements

on

a

We b

Fo r m s

page

are

not

available to the server; they are treated as opaque text that is p a s s e d t h r o u g h t o t h e b r o w s e r. H o w e v e r, b y c o n v e r t i n g H T M L elements to HTML server controls, you expose them as elements y o u c a n p r o g r a m o n t h e s e r v e r. The object model for HTML server controls maps closely to that o f t h e c o r r e s p o n d i n g e l e m e n t s . Fo r e x a m p l e , H T M L a t t r i b u t e s a r e exposed in HTML server controls as properties. Any HTML

element

on

a page

can

be converted

to

an

HTML

server control. Conversion is a simple process involving just a few attributes. As a minimum, an HTML element is converted to a c o n t r o l b y t h e a d d i t i o n o f t h e a t t r i b u t e R U N AT = " S E R V E R " . T h i s a l e r t s t h e A S P. N E T p a g e f r a m e w o r k d u r i n g p a r s i n g t h a t i t s h o u l d create an instance of the control to use during server-side page processing. If you want to reference the control as a member within your code, you should also assign an ID attribute to the control.

The page framework provides predefined HTML server controls for the HTML elements most commonly used dynamically on a page: forms, the HTML elements (text box, check box, Submit button, and so on), list box (<SELECT>), table, image, and so on. These predefined HTML server controls share the basic properties of the generic control, and in addition, each control typically provides its own set of properties and its own event. HTML server controls offer the following features An object model that you can program against on the server using

the

control

familiar

exposes

object-oriented

properties

that

techniques.

allow

you

to

Each

server

manipulate

the

control's HTML attributes programmatically in server code. A set of events for which you can write event handlers in much the same way you would in a client-based form, except that the event is handled in server code. The ability to handle events in client script. Automatic maintenance of the control's state. If the form makes a r o u n d t r i p t o t h e s e r v e r, t h e v a l u e s t h a t t h e u s e r e n t e r e d i n t o HTML

server

controls

are

automatically

maintained

when

the

p a g e i s s e n t b a c k t o t h e b r o w s e r. Interaction with validation controls you can easily verify that a user has entered appropriate information into a control. Data binding to one or more properties of the control. S u p p o r t f o r H T M L 4 . 0 s t y l e s i f t h e We b Fo r m s p a g e i s d i s p l a y e d i n a b r o w s e r t h a t s u p p o r t s c a s c a d i n g s t y l e s h e e t s . Pa s s - t h r o u g h o f c u s t o m a t t r i b u t e s . Yo u c a n a d d a n y a t t r i b u t e s y o u n e e d t o a n

HTML server control and the page framework will read them and r e n d e r t h e m w i t h o u t a n y c h a n g e i n f u n c t i o n a l i t y. T h i s a l l o w s y o u t o a d d b r o w s e r - s p e c i f i c a t t r i b u t e s t o y o u r c o n t r o l s . Fo r d e t a i l s about

how

to

convert

an

HTML

element

to

an

HTML

server

c o n t r o l , s e e A d d i n g H T M L S e r v e r C o n t r o l s t o a We b Fo r m s Pa g e Web Server Controls We b s e r v e r c o n t r o l s a r e a s e c o n d s e t o f c o n t r o l s d e s i g n e d w i t h a different emphasis. They do not map one-to-one to HTML server controls. Instead, they are defined as abstract controls in which the actual HTML rendered by the control can be quite different from

the

model

that

you

program

against.

Fo r

example,

a

R a d i o B u t t o n L i s t We b s e r v e r c o n t r o l m i g h t b e r e n d e r e d i n a t a b l e or as inline text with other HTML. We b s e r v e r c o n t r o l s i n c l u d e t r a d i t i o n a l f o r m c o n t r o l s s u c h a s buttons and text boxes as well as complex controls such as tables. They also include controls that provide commonly used form functionality such as displaying data in a grid, choosing dates, and so on. We b s e r v e r c o n t r o l s o f f e r a l l o f t h e f e a t u r e s d e s c r i b e d a b o v e f o r HTML

server

controls

(except

one-to-one

mapping

to

HTML

elements) and these additional features: A

rich

object

model

that

provides

type-safe

programming

capabilities. Automatic browser detection. The controls can detect browser capabilities and create appropriate output for both basic and rich (HTML 4.0) browsers.

Fo r s o m e c o n t r o l s , t h e a b i l i t y t o d e f i n e y o u r o w n l o o k f o r t h e control using templates Fo r s o m e c o n t r o l s , t h e a b i l i t y t o s p e c i f y w h e t h e r a c o n t r o l ' s event

causes

immediate

posting

to

the

server

or

is

instead

cached and raised when the form is submitted. Ability to pass events from a nested control (such as a button in a table) to the container control. A t d e s i g n t i m e i n H T M L v i e w, t h e c o n t r o l s a p p e a r i n y o u r p a g e i n a format such as: The attributes in this case are not those of HTML elements. I n s t e a d , t h e y a r e p r o p e r t i e s o f t h e We b c o n t r o l . When

the

rendered

We b on

Fo r m s

the

page

page using

runs,

the

We b

appropriate

server

HTML,

control

which

is

often

depends not only on the browser type but also on settings that y o u h a v e m a d e f o r t h e c o n t r o l . Fo r e x a m p l e , a Te x t b o x c o n t r o l might

render

as

an



depending on its properties.

tag

or

a

< T E X TA R E A >

tag,

Chapt er 5

Design Docume nt

Design Document •

The entire system is projected with a physical diagram which specifics the actual storage parameters that are physically necessary for any database to be stored on to the disk. The overall systems existential idea is derived from this diagram.



The relation upon the system is structure through a conceptual ER-Diagram, which not only specifics the existential entities but also the standard relations through which the system exists and the cardinalities that are necessary for the system state to continue.



The content level DFD is provided to have an idea of the functional inputs and outputs that are achieved through the system. The system depicts the input and out put standards at the high level of the systems existence.

Data Flow Diagrams •

This Diagram server two purpose.  Provides an indication of how date is transformed as it moves through the system.  Disputes the functions and sub functions that transforms the dataflow.



The Data flow diagram provides additional information that is used during the analysis of the information domain, and server as a basis for the modeling of functions.



The description of each function presented in the DFD is contained is a process specifications called as PSPEC

ER-Diagrams •

The

entity

Relationship

Diagram

(ERD)

depicts

the

relationship between the data objects. The ERD is the notation that is used to conduct the date modeling activity the attributes of each data object noted is the ERD can be described resign a data object descriptions. •

The set of primary components that are identified by the ERD are 

Data object



Relationships

Attributes



Various types of indicators.





The primary purpose of the ERD is to represent data objects and their relationships.

Unified Modeling Language Diagrams •

The unified modeling

language allows

the software

engineer to express an analysis model using the modeling notation that is governed by a set of syntactic semantic and pragmatic rules. •

A UML system is represented using five different views that

describe

the

system

from

distinctly

different

perspective. Each view is defined by a set of diagram, which is as follows.



User Model View i. This view represents the system from the users perspective. ii. The

analysis

representation

describes

scenario from the end-users perspective.

a

usage

Structural model view 

In this model the data and functionality are arrived from inside the system.



This model view models the static structures.

Behavioral Model View 

It represents the dynamic of behavioral as parts of the system, depicting the interactions of collection between various structural elements described in the user model and structural model view.

Implementation Model View 

In this the structural and behavioral as parts of the system are represented as they are to be built.

Environmental Model View In this the structural and behavioral aspects of the environment in which the system is to be implemented are represented. UML is specifically constructed through two different domains they are 

UML Analysis modeling, which focuses on the user model and structural model views of the system.



UML design modeling, which focuses on the behavioral modeling, implementation modeling and environmental model views.

Use Case Diagrams Databases used The actors who have been identified in this system are

1. Bank administrators 2. Account Holders or Customers

Bank Administrators: These are the actors that authorize and authenticate the systems existence. They take care of the entire system internal activities. They are highly authorized to standardize the transactional states of the master data.

Login information

Bank &branches registration

Customers registration

 Bank Administrators

Accounts & types registration

Service type registration

Transaction type registration

Employees registration

Account holders or customers: There are the actors who statistically work upon the system with respect to the expected services what they need to avail.

They

are

mostly

restricted

on

to

such

areas

where

query

standardization has the highest priority.

Login information

View customer information

View account types

 Account Holder

Register for new password

View service types

Execute fund transfer

Request cheque book

Elaborated Diagrams: Bank Administrators



Login screen

Enter login name

Authenticate login name

New banks registration

Collect the banks data

Authenticate uniqueness

Register its branches

Collect the customer data

Authenticate uniqueness

Authorize & authenticate relational fields

New customer registration New accounts & type registration

New service type registration

New transaction type registration

New employee registration

Collect the accounts data

Enter password

Authenticate uniqueness

Authenticate password

Enable respective privileges Store

Store

Collect the required data for services

Authenticate uniqueness

Store

Collect the required data

Authenticate uniqueness

Store

Collect the required information

Authenticate uniqueness

Store

Account Holder Login screen

Enter login name

Request for customer information



Request for account type Request for new password

Request for service types

Request for find transfer

Request for cheque book

Authenticate login name

Enter the customerID

Enter password Display

Validate ID

Validate

Enter the specific type Enter the old password

Enter the specific type

Enter source account number

Raise check book request-ID

Authenticate password

Enable respective privileges

Display

Validate

Enter new password

Validate

Enter destination account number

Store

Confirm

Display

Store

Account to transfer

Validate balance

Execut e

Class Collaboration Bank branches and service collaboration Bank Master Bank-ID: number Bank-name: varchar2 Address-HQ: varchar2 Operational-desg-ID: varchar2 Any-other-details: varchar2 Insert () Delete () Update () Search () Validate-desg-ID ()

Bank Branch Master Branch-ID: number Branch-name: varchar2 Branch-Address: varchar2 Operational-desg-ID: varchar2 Any-other-details: varchar2 Insert () Delete () Update () Search () Validate-desg-ID () Validate-bank-ID ()

Branch Wise Service availability Service-type-ID: number Branch-ID: number Validate-service-type-ID() Validate-branch-ID ()

Service type Master Service-typ-ID: number Service-typ-desc: varchar2 Service-type-abbr: varchar2 Other-service-details: varchar2 Service-start-date: date Service-int-rate: number Insert () Delete () Update () Search ()

Customer Account, Account types & accounts status Master Customer account master Cust-acc-no:number Cust-ID:number Account-branch-ID:Number Cust-acc-typ-ID:number Acc-approved-emp-id:number Acc-opening-date:date Opening-balance:number Current-balance:number Acc-status-id:number Acc-nominee-name:varchar2 Nominee-rel-with-accholder:varchar2 Nominee-address:varchar2 Any-other-details:varchar2 Insert () Delete () Update () Search () Validate-branch-ID () Validate-acc-typ-id() Validate-app-emp-id() Validate-acc-status-id() Validate-cust-ID() Employee master Employee-number:number Employee-Name:varchar2 Employee-address:varchar2 Employee-DOB:Date Employee-DOJ:Date Employee-branch-Id:number Insert () Delete () Update () Search ()

Customer master Customer-ID:Number Customer-name:varchar2 Customer-address:varchar2 Customer-phone:number Customer-email:varchar2 Other-details:varchar2 Insert () Delete () Update () Search () Account type master Acc-typ-ID:Number Account -name:varchar2 Account-abbr: varchar2 Account-min-bal: number Account-max-bal: number Other-details:varchar2 Insert () Delete () Update () Search () Bank branches master Branch-Id:number Bank-id:Number Branch-name:varchar2 Branch-address:varchar2 Any-other-details:varchar2 Insert () Delete () Update () Search ()

Customer transaction, transaction type collaboration Customer transaction master Trans-ID:number Cust-acc-no:number Trans-typ-ID:number Trans-dat-time:varchar2 Insert () Delete () Update () Search () Validate-cust-acc-no () Validate-trans-type-ID ()

Transaction type master Transaction-type-ID:number Transaction-typ-Name:varchar2 Transaction-typ-Abbr:varchar2 Insert () Delete () Update () Search ()

Customer account master Cust-acc-no:number Cust-ID:number Account-branch-ID:Number Cust-acc-typ-ID:number Acc-approved-emp-id:number Acc-opening-date:date Opening-balance:number Current-balance:number Acc-status-id:number Acc-nominee-name:varchar2 Nominee-rel-with-accholder:varchar2 Nominee-address:varchar2 Any-other-details:varchar2 Insert () Delete () Update () Search () Validate-branch-ID () Validate-acc-typ-id() Validate-app-emp-id() Validate-acc-status-id() Validate-cust-ID()

Sequence Diagrams: customer login sequence Login screen

Login master

Login master

Login Accept log name Validate Accept password () Validate

Fund Transfer Sequence Customer account master

Fund transfer screen

Request for fund transfer

Accept data () Validate acc number ()

Store the information

Enable the system with privileged access

Cheque book request sequence Chequebook request screen

Request for Chequeb ook

Customer account master

Validate acc-no ()

Cheque book request master

Generate Cheque book-req-ID ()

Store the information

Database Tables 1. Banks Master: This table maintains the records of all the banks that have been integrated onto this system. Each bank is uniquely identified, with the operational incharge designation. 2. Bank Branches Master: This table specifies the total number of branches that are managed by the bank. Each brand is associated with the bank to which it belongs and the operational incharge designation. 3. Customer Master: This table specifies the records of the customers who have registered themselves for the account maintenance with the bank, this entity is used as central consistency for the overall system, whenever a transaction executes. 4. Account type master: This database contains the records of all the different types of accounts that are managed by the bank. It specifies the general rules with which the account balances should be maintained for each specific account type. 5. Customer accounts master: This database contains the records of all the customers who have availed and have been granted the savings bank on the requested accounts facility. The database also specifies, the employee who has approved the account and also the account status at any point of time. 6. Account status master: This database contains the records of all the different statuses an account can have, with respect to the operational standards upon the accounts of the customer. 7. Customer security master: This database maintains the username passwords

for

the

customers

data,

such

that

he

can

be

authenticated in a very proper manner, when operating himself upon the systems. 8. Forgot password question master: This database maintains the unique

questions

what

the

customer

can

choose

circumstances, where he may forget his password.

for

such

9. Customer logon history master: This database maintains the specification of the login standards of the customer as and when he visits the application site. 10.Service type master: This database provides the information related to the different kinds of services that are uniquely, identified by declaring the service type Id as primary key. 11.Customer

transaction

master:

This

database

provides

the

information related to the services that are available with specific to each bank. 12.Bank wise service availability: This database specifies the actual related to the services that are available with specific to each bank. 13.Transaction type

master: This database specifies

the actual

transaction types that exist in the banking sector and provides the abbreviation for such transaction types. 14.Funds Transfer master: This database helps the user to execute his fund transfer transaction. The database stores the information of the source account and the jar set account upon which the transfer has been executed. 15.Chequebook transaction master: This database maintains the regular information related to the chequebooks that have been issued after the customer has requested for them. 16.Chequebook request master: This database maintains the register information of the chequebooks that have been requested by the use. Each chequebook request is recorded as cheque-Book-reg-ID, declared as primary key. 17.Employees master: This database registers the records related to the

different

employees

who

are

authorized

under

the

organization.Each employee is uniquely identified by declaring employee number as primary key.

Chapter 6

Coding

Program Design Language •

The

program

design

language

is

also

called

as

structured English or pseudopodia. PDL is a generic reference for a design language PDL looks like a modern language. The difference between PDL and real programming

language

lies

in

the

narrative

text

embedded directly within PDL statements.

The characteristics required by a design language are: A fixed system of keywords that provide for all



structured constructs date declaration and modularity characteristics.  A free syntax of natural language that describes processing features.  Date declaration facilities that should include both simple and complex data structures.  Subprogram definition and calling techniques that support various nodes of interface description.

PDL

syntax

should

include

constructs

for

subprogram

definition, interface description date declaration techniques for

structuring,

conditions

constructs,

repetition

constructs

and I/O constructs. PDL can be extended to include keywords for multitasking and/or concurrent processing interrupt handling, interposes synchronization the application design for which PDL is to be used should dictate the final form for the design language.

Chapter 7

Testing & Debugging Strategies

Testing Testing is the process of detecting errors. Testing performs a very critical role for quality assurance and for ensuring the reliability of software. The results of testing are used later on during maintenance also.

Psychology of Testing The aim of testing is often to demonstrate that a program works by showing that it has no errors. The basic purpose of testing phase is to detect the errors that may be present in the program. Hence one should not start testing with the intent of showing that a program works, but the intent should be to show that a program doesn’t work. Testing is the process of executing a program with the intent of finding errors.

Testing Objectives The main objective of testing is to uncover a host of errors, systematically and with minimum effort and time. Stating formally, we can say,

 Testing is a process of executing a program with the intent of finding an error.  A successful test is one that uncovers an as yet undiscovered error.  A good test case is one that has a high probability of finding error, if it exists.  The tests are inadequate to detect possibly present errors.  The software more or less confirms to the quality and reliable standards.

Levels of Testing In order to uncover the errors present in different phases we have the concept of levels of testing. The basic levels of testing are as shown below…

Client Needs

Requirements

Design

Code

Acceptance Testing

System Testing

Integration Testing

Unit Testing

System Testing The philosophy behind testing is to find errors. Test cases are devised with this in mind. A strategy employed for system testing is code testing.

Code Testing: This strategy examines the logic of the program. To follow this method we developed some test data that resulted in executing every instruction in the program and module i.e. every path is tested. Systems are not designed as entire nor are they tested as single systems. To ensure that the coding is perfect two types of testing is performed or for that matter is performed or that matter is performed or for that matter is performed on all systems.

Types Of Testing  Unit Testing  Link Testing

Unit Testing Unit testing focuses verification effort on the smallest unit of software i.e. the module. Using the detailed design and the process specifications testing is done to uncover errors within the boundary of the module. All modules must be successful in the unit test before the start of the integration testing begins. In this project each service can be thought of a module. There are so many modules like Login, HWAdmin, MasterAdmin, Normal User, and PManager. Giving different sets of inputs has tested each module. When developing the module as well as finishing the development so that each module works without any error. The inputs are validated when accepting from the user. In this application developer tests the programs up as system. Software units in a system are the modules and routines that are assembled and integrated to form a specific function. Unit testing is first done on modules, independent of one another to locate errors. This enables to detect errors. Through this errors resulting from interaction between modules initially avoided.

Link Testing Link testing does not test software but rather the integration of each module in system. The primary concern is the compatibility of each module. The Programmer tests where modules are designed with different parameters, length, type etc.

Integration Testing After the unit testing we have to perform integration testing. The goal here is to see if modules can be integrated proprerly, the emphasis being on testing

interfaces between modules. This testing activity can be considered as testing the design and hence the emphasis on testing module interactions. In this project integrating all the modules forms the main system. When integrating all the modules I have checked whether the integration effects working of any of the services by giving different combinations of inputs with which the two services run perfectly before Integration.

System Testing Here the entire software system is tested. The reference document for this process is the requirements document, and the goal os to see if software meets its requirements. Here entire ‘ATM’ has been tested against requirements of project and it is checked whether all requirements of project have been satisfied or not.

Acceptance Testing Acceptance Test is performed with realistic data of the client to demonstrate that

the software is working satisfactorily. Testing here is focused on

external behavior of the system; the internal logic of program is not emphasized. In this project ‘Network Management Of Database System’ I have collected some data and tested whether project is working correctly or not. Test cases should be selected so that the largest number of attributes of an equivalence class is exercised at once. The testing phase is an important part of software development. It is the process of finding errors and missing operations and also a complete verification to determine whether the objectives are met and the user requirements are satisfied.

White Box Testing This is a unit testing method where a unit will be taken at a time and tested thoroughly at a statement level to find the maximum possible errors. I tested

step wise every piece of code, taking care that every statement in the code is executed at least once. The white box testing is also called Glass Box Testing. I have generated a list of test cases, sample data. which is used to check all

possible combinations of execution paths through the code at every

module level.

Black Box Testing This testing method considers a module as a single unit and checks the unit at interface and communication with other modules rather getting into details at statement level. Here the module will be treated as a block box that will take some input and generate output. Output for a given set of input combinations are forwarded to other modules.

Criteria Satisfied by Test Cases 1) Test cases that reduced by a count that is greater than one, the number of additional test cases that much be designed to achieve reasonable testing. 2) Test cases that tell us something about the presence or absence of classes of errors, rather than an error associated only with the specific test at hand.

Chapter 8

User Manual

Installation •

The database as it is developed by oracle 9i can be installed only by using the export and import concepts.



Using core java and components like JSP and EJB needs proper

deployment

as

per

developed the front end as it.

general

specifications

Chapter 9

Conclusions & Recommendations

Conclusions And Recommendations The entire project has been developed and deployed as per the requirements stated by the user, it is found to be bug free as per the testing standards that are implemented. Any specification untraced errors will be concentrated in the coming versions, which are planned to be developed in near future. The system at present does not take care off the money payment methods, as the consolidated constructs need SSL standards and are critically to be initiated in the first face, the application of the credit card transactions is applied as a developmental phase in the coming days. The system needs more elaborative technicality for its inception and evolution.

Bibliography: References for the Project Development Were Taken From the following Books and Web Sites.

SQL Server Mastering SQL Server 2000 by Gunderloy, Jorden BPB Publications Beginning SQL Server 2000 by Thearon Willis wrox publications

Visual Basic .NET Programming Visual Basic .NET, Mircrosoft Press VisulaBasic .NET by Mc Donald, Microsoft Press

Related Documents

Ebanking
November 2019 11
Ebanking
June 2020 3
Ebanking Manual
June 2020 2
Ebanking Sceens
November 2019 11
Copy Of Ebanking
December 2019 10