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
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
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 ()
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 ()
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