"Study Material and Syllabus review / scope of CBGS syllabus for T.Y.B.Sc (Computer Science) Applied Component (Web Design and Technologies) w.e.f 2013 - 2014"
"Study Material and Syllabus review / scope of CBGS syllabus for T.Y.B.Sc (Computer Science) Applied Component (Web Design and Technologies) w.e.f 2013 - 2014"
for T.Y.B.Sc (Computer Science) Applied Component (Web Design and Technologies) w.e.f 2013 - 2014" compiled and presented by Ad-hoc BOS and Syllabus Committee Members, Computer Science (University of Mumbai) at Smt. C.H.M. College, Ulhasnagar 3
1
USACWD501 SEMESTER V Course USACWD501: Principles of Web Design & Web Technologies I
Text highlighted in RED color are Newly added topics)
Unit I
Web Site Design Principles Design for the Medium, Design for the Whole Site, Design for the User, Design for the Screen Planning the Site Create a Site Specification, Identify the Content Goal, Analyze your Audience, Build a Web Site Development Team, Filenames and URLs, Directory Structure, Diagram the Site Planning Site Navigation Creating Usable Navigation, Using Text- Based Navigation, Using Graphics- Based Navigation Creating Page Templates Understanding Table Basics, Table Pointers, Creating a Page Template References: PWDJS Chapter 2,3,4,5
Web Typography Type Design Principles, Controlling Typography with the <FONT> Element, Controlling Typography with Cascading Style Sheet, Styling with CSS Graphics and Color File Format Basics, Computer Color Basic, Choosing a Graphics Tool, Using the <IMG> Element, Working with Hexadecimal Colors HTML Frames Understanding Frames, Frame Syntax, Targeting in Framesets, Planning Frame Content Publishing and Maintaining Your Web Site Publishing Your Web Site, Testing Your Web Site, Refining and Updating Your Content, Attracting Notice to Your Web Site References: PWDJS Chapter 6,7,8,9
HTML - HTML 4.0 Tag Reference, Global Attributes, Event Handlers, Document Structure Tags, Formatting Tags, List Tags, Hyperlinks, Image & Image map, Table Tags, Form Tags, Frame Tags, Executable Content Tags and Style Sheets, CSS References: ( ELJO Chapter 3-9)
Unit II
Introduction to Java Script (Functions, Objects) Client-Side Java Script
2
Java Script In Web Browser, Windows And Frames, The Document Object Model, Events and Event Handling, Forms and Form Elements, Dynamic HTML And Saving State With Cookies References: ELJO -19, JSDF (Ch 7, 8, 11-18)
XML- Introduction to XML, Problems with HTML & SGML, Types of XML Markup, Document Type Definitions, Using Style Sheets with XML, Creating XML well formed, valid Documents. References: ELJO(Ch 12,13) XML Unleashed(Ch 1 to 3,5,6,8,9) XML- Introduction to XML, Problems with HTML & SGML, Types of XML Markup, Document Type Definitions, Using Style Sheets with XML, Creating XML well formed, valid Documents. References: ELJO(Ch 12,13) XML Unleashed(Ch 1 to 3,5,6,8,9) Main References 1) Using HTML 4, XML & JAVA by Eric Ladd & Jim ODonnell. (Platinum Edition) (PHI) (ELJO) 2) Principles of Web Design by Joel Sklar(PWDJS) 3) Java Script the definitive guide by David Flanagan(JSDF) 4) XML Unleashed Techmedia SAMS, Michael Morrison
Unit-III
Introduction to .NET Framework 3.5 (or above): Overview of .NET Framework, Objectives .NET Framework Architecture: CLR (Goal of CLR, Services, Features, Benefits, Managed Execution Process, Automatic memory Management CTS, CTS Overview, Type Definitions, Type members, Different types of data such as class, delegates, pointes, arrays, interfaces Meta Data, Structure of Metadata & Self Describing Components, Cross Language Interoperability & CLS Assemblies [Assembly overview, Benefits, Contents, Types Introduction to .NET IDE: - Note: To be done only in the Practical
(if, select), Loops, Adding Comments, Converting Data types Reference: Murach
Working with Strings, Dates & Time : Char, String class & Functions, Converting strings to numbers, DateTime class, Formatting Window Controls and Events: Using basic window controls such as forms, labels, buttons, text boxes, check boxes, radio buttons, list boxes, combo boxes, Adding properties, Processing events, Using various dialog boxes such as MessageBox, OpenDialog, SaveDialog, StreamReader & StreamWriter, Using menus, Adding toolbars, status bars, MDI form, Processing events, Adding event handlers for one/many events Reference: Murach
Building Class libraries: Understanding class libraries, using strong names, registering assemblies, designing class Creating Assemblies, Setting Assembly Attributes, [Creating and Using Strong-Named Assemblies Working with Assemblies and the Global Assembly Cache (How to: Install an Assembly into the Global Assembly Cache using GACUTIL) ] Reference: Wrox
Creating Custom controls : Enhancing Existing controls, Building & using compound controls, Adding custom events Reference: Mastering
ADO.NET : ADO.NET & Data management, Advantages of ADO.NET, ADO.NET Object model, Data objects, Data Source Interaction objects, .NET Data provides Reference: Murach
Using Connection, Command, DataReader classes, Queries returning result sets, scalars, Passing parameters in queries
4
Reference: Murach
Disconnected Data, Data Adapter, Using Data Set(Typed), Data Table, Data Row & Data Column, Command Builder, Modifying & Updating disconnected data Reference: Mastering
Creating and using Data sources, Binding(Simple and Complex binding) controls with data sources, DataGridView Control, Role of BindingSource, TableAdapter, AdapterManager & BindingNavigator classes Reference: Murach / Mastering
LINQ : Introduction to LINQ, Advantages of LINQ, Using From, Where, Order By, Select Reference: Mastering
Main References 1) Murach Visual Basic 2008, Anne Boehm, Murach 2) Mastering Visual Basic 2008, Evangelos Petroutsos, Wiley-India Edition 3) Beginning Microsoft Visual Basic 2008(Wrox) by Thearon Willis & Bryan Newsome
5
Practicals USACWD5P1 Category A: Unit 1 and Unit 2 Practical 1 to 4 Category B: Unit 3 and Unit 4 Practical 5 to 8
Category A: Practical 1. HTML Tags, Tables, Image Mapping 1) Creation of a Website I Create a website using HTML. Write code for 4 separate pages having different filenames. Use any theme such College Profile, Company Profile, or Product Profile. Each page must contain a hyperlink to the other three pages. All pages must have different backgrounds (colors or images) and different titles. 1. Name the first page as Index.htm This page must contain general information about the theme chosen and must have a heading in the largest possible size. This page must also display at least one image, which must have alternate text as well as must act as a hyperlink to another page. 2. The second page must include text that makes use of the below listed Physical Styles such as Bold, Italic, Underline, Subscript, Superscript, Big and Small. If possible also make use of a marquee that scrolls from right to left on this page. 3. The third page must include at least three paragraphs of text each having a different alignment and each paragraph should use a different font. 4. The fourth page must contain a tiled background image and must contain two lists, one ordered and the other unordered listing at least 4 values each. This page must also contain an URL to at least one e-mail address. All pages excluding the first page must have a link to the Index.htm page. Create the Web Pages without using any pre-existing Web Pages or code. 2) Creation of a Website - II 1. Create a website based on the theme of Save the Earths Environment using HTML. Write code for 4 separate pages having different filenames based on this theme. All pages must have different background colors and different Titles. 2. The first page must contain a hyperlink to the other three pages in such a way that when a hyperlink on the same is clicked, the corresponding page must open in a new window without changing the content of the source web page. The first page must contain general information about the given theme and must have a marquee scrolling from right to left carrying the theme name. This page must also display at least one image which is preferably related to the theme. The image must have alternate text. 3. The second page must give the factors responsible for environmental damage, types of pollution etc. The page at least must include text that makes use of Physical Styles such as Bold, Italic, Type Text, Superscript, Big and Small. The page must have a suitable heading.
6
4. The third page must be based on what we (human beings) can do to reduce the effects of pollution. This page must include at least three paragraphs of text each having a different alignment and each paragraph should use a different font. The last page must contain a background image and must contain a table having a border, 4 columns, 5 rows and one empty cell. All pages excluding the first page must have a link to the Index.htm page. Create the Web Pages without using any pre-existing Web Pages or code. 3) Write a program in html to display the calendar for the month of April 2013 in the following format
4) Prepare the table called telephone bill using html tags.
Telephone Bill
Subscribers Name and Address Consumer No. P. O. Stamp Arun Nabar Crossin Roads Off Haji Ali Road., Mumbai 400 022. PL 0012345 Telephone No Type Bill Date Due Date Pay By Date 29750772 Gen. / Res. Permanent 01- Mar-2004 18-Mar-2004 25-Apr-2004 DETAILS ITEM PERIOD AMOUNT Rate No. of Calls Charge Rent 10/09/97 to 31/10/98 200.00 0.80 95 76 Item 16/05/97 to 15/07/97 76.00
Surcharge After Pay- By- Date 10 TKP/PG Calls 16/05/97 to 15/07/97 0.00 Amount On/ Before Pay- By- Date 290 ITX Calls 16/05/97 to 15/07/97 0.00 TOTAL 290.00 Please pay before due date to avoid Disconnection
E & O.E. Please See Overleaf For Codes/ Instructions
Account Officer
8
5) Write an html page to display the following table
T.Y.B.Sc. Department of Computer Science Main Applied Component System Software Operating System Linux Web Design Data Communication Java SSAD Web Technology OOAD
Data communication & Networking Author Name price Behrouz Forouzan DCN 300/- TCP/IP 350/- Andrew s. Tanenbaum Networking 400/- William Stallings Computer Communication & Networking 400/- Total Cost (total 4 books) Rs.1450/-
Operating System Author Name Price Andrew s. Tanenbaum Operating system 500/- William Stallings Operating system Concepts Total Rs.1000/-
The HTML page should have an appropriate title. The data within the table should be center aligned.
9
6) Write a HTML code to design the following using Table tags.
This is a simple table for which you have to give the code.
HTML ASP CFML Hyper Text Markup Language Active Server Pages Cold Fusion Markup Language HTML 4.0 ASP 2.0 CFML 5.0
This is a table using Rowspan and Colspan
No. of Students Total
288 Year 2001 Year 2002 Year 2003 58 96 154
COMPUTER SCIENCE Category A: Practical 2. HTML Tags- Form Tag, Frame Tags, Applying CSS(Internal and External style) 1) Create a Registration Form inside a table with no borders where people can register with you asking for your services. Registration form should have following information about person name, age and email ,date of birth, Gender(radio buttons), hobbies (checkboxes), address (textarea), country (listbox), Required Service (textarea).When clicked on submit button, all the information entered should be entered in a alert dialog box. Use appropriate images, phrases, image maps, table format. Do appropriate formatting on every Page. 2) Create a STYLESHEET for a website to apply uniform background, forecolor, headings color, contact details to all pages.(Use external, internal, inline stylesheets) 3) Create an HTML page with 3 frames of equal size. The HTML page should have an appropriate title. The first frame should have 3 links namely image link, text link1 and text link2. When you click on their image link a new window with an image should appear. On clicking the text link1 and text link2 the text contents should be displayed on the second and the third frame respectively. In addition to this, navigation should be possible in all the three immovable frames. Also along with the links the tool tip should appear. If the browser does not support frames, appropriate message should appear. 4) Create an HTML page with 3 frames of equal size. The HTML page should have an [15] appropriate title. The first frame should have 2 links namely picture link, text link1. When you click on their picture link a new window with an image should appear. On clicking the text link1 the text contents should be displayed on the second frame respectively. In addition to this, navigation should be possible in all the two immovable frames. Also along with the links the
10
tool tip should appear. If the browser does not support frames, appropriate message should appear. 5) The HTML page should have an appropriate title. Create a form wherein you are taking information for the creation of bill. Please make sure that valid name and e-mail id is entered. The total cost textbox should be disabled. Here within this form as soon as he enters No. of items the total cost should be calculated by you. Finally on click of Bill button you should give an alert message of his total bill followed by his name. Use JavaScript and give the appropriate message to the browser, which does not support JavaScript.
Name :
E-mail Id :
Items Rate No. of items bought Total Cost
Shirts 550.00
Toys 300.00
Jeans 700.00
Books 450.00
Bill
6) Create a Home page for a your college. Provide a cascading style sheet to give the following effect
Body with some background color h1 tag with Background image: swirlbkg.jpg Colorlime green Letter-spacing-7pt Text-align-: center Text-decoration-underline Text-transform--uppercase; Word-spacing: 2pt div tag with border-bottom: maroon outset thin border-left: maroon outset thin order-right: maroon outset thin border-top: maroon outset thin color:yellow;filter:shadow(color=green,direction=100) text-align:center;width:800px}
P tag with Color magenta
11
font-family Algerian font-size medium font-styleitalic font-weight--lighter
h3 tag with Background-color--lime Border-bottom--gray outset left Border-left--gray outset left Border-right--gray outset left Border-top:gray outset left Color--blue font-family--Aarial positionabsolute li tag with color:moroon list-style with image green-ball.gif" Text-transform:uppercase Category A: Practical 3. Representing Data using XML with CSS/XSL and Internal/External DTD 1) Create an XML document with XSL and DTD listing your favorite books . 2) Create an XML document describing your hobbies and interest and relevant activities. Link it to above web page 3) Internal Document Type Definitions Create a XML page with following structure apply CSS [15]
OS Pranita Gupta 5yrs Data communication and Networking Neel Kumar 1yrs SSAD Ruchi Patil 10yrs WD Raj Kumar 10yrs 4) Create a XML page with following structure. Create an External DTD <personelDetail> <name> <firstName>Sheetal</firstName> <middleName>Ramesh</middleName> <lastName>Ghadigaonkar</lastName> </name>
12
<address> <city>Mumbai</city> <country>India</country> </address> </personelDetail> 5) Create a XML page with following structure apply CSS. <?xml version="1.0"?>
<vehicles>
<vehicle year = "1916" make = "handrover" model="discovery"> <mileage>3650</mileage> <color>Black</color> <price>$22100</price> </vehicle>
<vehicle year = "1918" make = "handrover" model = "jazzy"> <mileage>3880</mileage> <color>Blue</color> <price>$24100</price> </vehicle>
<vehicle year = "1915" make = "handrover" model = "deluxe"> <mileage>3200</mileage> <color>Golden</color> <price>$20300</price> </vehicle>
<vehicle year = "1926" make = "handrover" model = "super deluxe"> <mileage>3850</mileage> <color>Silver</color> <price>$25500</price> </vehicle>
</vehicles> Category A: Practical 4. Executing Client Side Scripts using JavaScript 1) Add JavaScript validations in registration form .Name text field should not accept any digit, age text field should not accept characters ,perform validations on email on lost focus of text field. a. Empty fields should not be allowed. b. Redo above validations using regular expressions. 2) Design a Login Form containing User Name and password. The password should contain max 8 characters. When user name and password matches with predefined values, a welcome message should be displayed otherwise error message should be displayed. Maximum 3 attempts should be allowed for wrong passwords otherwise the application should end[Use If]
13
3) Create a html page that accepts Principle Amount, No. of Years & Rate of Interest from 3 text fields, when you click Calculate Interest button, the data is sent to a function that returns the simple interest. When you click on Final Amount button, the final amount by adding principle amount and interest should be displayed. [ Use Functions] 4) Study of String object and various methods. 5) Write code to detect browser. 6) Design a web page to change the background color on mouseover. 7) Write a javascript code to find sum of first n numbers. Accept the value for n in prompt dialog box. Find factorial of a given number. Write a javascript program to evaluate any given expression entered in prompt dialog box. Write a javascript program to find all prime numbers from 1 100. Write a javascript program to find whether the number entered in the prompt dialog box is a prime or not. 8) Form validation
To validate the data before sending it to server so that wrong data is not send to the server.
Create a page for accepting user inputs for a Registration and validate the entered data with the help of JavaScript.
Check all fields are entered Check email id is valid. Fields should not be blank. Number should not be allowed in name field. Characters not allowed in telephone field. 9) Dynamic HTML 1. Create Dynamic Html page to animate an object. 2. Create a page, which changes its style dynamically. 3. Create a page with three buttons Normal, Spooky and Silly. Define different three styles. On click of the buttons apply the styles to page. Category B: Practical 5. Study of basic & advanced VB.NET Programming alongwith controls, Data Conversion & Message box 1) Design a Login Form containing User Name and password. The password should contain max 8 characters. When user name and password matches with predefined values, a welcome message should be displayed otherwise error message should be displayed. Maximum 3 attempts should be allowed for wrong passwords otherwise the application should end[Use If] 2) Create a form that accepts 2 numbers from 2 text fields, an operation(+,-,*,/) from third text field. When you click Result button, the result of the expression should be displayed in 4rth disabled text-field. Include a radio button to choose whether the result should be integer or float. [Use Select]
14
3) Create a VB.NET Project that accepts Principle Amount, No. of Years & Rate of Interest from 3 text fields, when you click Calculate Interest button, the data is sent to a function that returns the simple interest. When you click on Final Amount button, the final amount by adding principle amount and interest should be displayed. [ Use Functions] 4) Create a reservation form for Mumbai-Pune journey, containing 3 text-fields to enter names, 3 text-fields to enter age and a text field to show final bill. It should also contain a check box showing the type of journey(AC or NonAC). Charges of AC/NonAC mode of journey is fixed. But only for children(age <5) and senior citizens(age>60), the rates are half. 4% service charges are applied on final amount. As per the passengers entered by user, display the final bill. 5) Create a form containing a list box with names of Indian cricket players. From this list, two teams should be formed called Royal Challengers & Knight Riders. The players of these teams should be shown in combo boxes which are initially empty. For each of these combo- box, two buttons Add & Delete should be used that allow to make changes When you click on Add button of a particular team, the selected players from the main list box, should be added in the combo box. The same players should be removed from the main list box. Make sure that the number of players should not exceed 11. When you click on the delete button, a particular player from the combo-box should be deleted and added to the main list box. 6) Write a program to enter information about customer with name, age and email in 3 text fields. Name text field should not accept any digit, age text field should not accept characters and perform validations on email on lost focus of text field. 7) Write a program to accept information of customer for an investment policy such as Name, Date of Birth and Address. The amount to be invested should be selected from a combo box. A customer can invest from min. age of 21 to 60. According to Date of birth, determine current age of customer, total number of years remaining and accordingly find & display the premium that customer will have to pay. Category B: Practical 6. MDI, Menus, Toolbars, Dialog boxes & Collection 1) Create a form containing 2 buttons to open color dialog and font dialog box. The form should contain a label. The labels font and color should be set as per the options selected in the font and color dialog box. 2) Create a form containing a text area and two buttons Read & Write. When you click on Read button, File-open dialog box is opened in which when you select a text file its contains should be displayed in text area. When you click on Write Button, Save-File dialog box is opened in which you can select a text file in which the contents of text area will be written. 3) Create a MDI form containing 2 menus Current Releases & Events. Current Releases opens a form containing some list of specific films in combo-box. When you select the name of the film, its information such as movie type(comedy/suspense/action/drama etc), producer should be displayed in labels. It should also show its ratings in the status bar. When you click on Events, it should open a form containing list of events in list box. The list of films & events should be read from an array-list.
15
Category B: Practical 7. Implementing OOP concepts in VB.NET, Creating Custom Controls 1) Design a custom control called FileSelector containing a TextBox and Browse button. When you click on the button, file dialog should be opened using which one can select a file whose name is displayed in text box. Add three properties in the custom control called File, Ext that selects files with specific extension and DefaultDir that sets initial directory of file dialog. File property should be read-only. Also include an event called FileSelected which is fired when user selects a file using Browse button. 2) Create a class Account containing 3 variables accno, name, curbal. Add suitable constructors to create Account objects. Add 3 properties AccNo, Name and CurBal. AccNo should be read-only property whose value should be automatically assigned by using static variable. Add a function called CheckStatus that returns account number along with current balance. Design a suitable application (Console/GUI) to test the above class. Note that the Account class should be in BankApp namespace. 3) Use Account class created in previous practical. Add 2 functions in it called withdraw and deposit which have integer parameter. Function deposit adds amount in current balance. Function withdraw is an abstract function. Create 2 subclasses of account SavingsAcc & CurrentAcc. SavingsAcc should contain a variable representing minimum balance and a constructor to initialize it. It overrides withdraw function which deducts some amount from current balance only if remaining balance is greater than minimum balance. CurrentAcc should contain a variable representing overdraft and a constructor to initialize it. It should also override withdraw function which deducts some amount from current balance only if remaining balance is greater than 0 or money that you want to withdraw is greater than current balance plus overdraft. Design a suitable form to test the above two classes. Category B: Practical 8. ADO.NET Programming & Data Binding 1) For an Employee table containing EmpNo, EmpName & EmpSal, design a form that allows user to go through all employees using suitable button. Also include buttons that show total number of employees and maximum salary. [ Use Data Reader] 2) For students table, containing Roll, Name and Marks, design a form that allows add, modify and delete operations using suitable buttons. Provide navigation facility to access First, Last, Next & Previous records. Also add searching & sorting facilities on specified columns. [Use BindingSource and BindingNavigator feature] 3) Assuming 2 tables - Dept(DeptNo, DeptName) and Employee(EmpNo, EmpName, EmpSal, DeptNo) where each employee belongs to a department. Display list of departments in combo box using complex data binding. When user selects a department, all employees from that department should be displayed in Grid. Also add a Print button that displays the list of employees in selected department using crystal report. [Use BindingSource and BindingNavigator feature]
16
Study Material for Dot Net Framework 3.5 from MSDN 1 .NET Framework Conceptual Overview The .NET Framework is an integral Windows component that supports building and running the next generation of applications and XML Web services. 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 locally, executed locally but Internet-distributed, or executed remotely. To provide a code-execution environment that minimizes software deployment and versioning conflicts. To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party. To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications. To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code. The .NET Framework has two main components: the common language runtime and the .NET Framework class library. The common language runtime is the foundation of the .NET Framework. You can think of the runtime as an agent that manages 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 promote 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 class library, the other main component of the .NET Framework, is a comprehensive, object-oriented collection of reusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services. The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features. The .NET Framework not only provides several runtime hosts, but also supports the development of third-party runtime hosts. 1.1 Features of the Common Language Runtime
The common language runtime manages memory, 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.
17
With regards to security, managed components are awarded 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, registry-access operations, or other sensitive functions, even if it is being used in the same active application. The runtime enforces code access security. For example, users can trust that an executable embedded in a Web page can play 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 type safety. In addition, the managed environment of the runtime eliminates many common software issues. For example, the runtime automatically handles object layout and 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 also accelerates developer productivity. For example, programmers can write applications in their development language of choice, yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Any compiler vendor 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 yesterday. 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 machine language of the system on which it is executing. Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality-of-reference to further increase performance. Finally, 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.
18
1.2 .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 managed code can derive functionality. This not only makes the .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. For example, the .NET Framework collection classes implement a set of interfaces that you can use to develop your own collection classes. Your collection classes will blend seamlessly with the classes in the .NET Framework. As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access. In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios. For example, you can use the .NET Framework to develop the following types of applications and services: Console applications. See Building Console Applications. Windows GUI applications (Windows Forms). See Windows Forms. Windows Presentation Foundation (WPF) applications. See Introduction to Windows Presentation Foundation. ASP.NET applications. See Creating ASP.NET Web Pages. Web services. See Creating Web Services in Managed Code. Windows services. See Introduction to Windows Service Applications. .NET Framework architecture .NET Framework 3.5 Provides the first additions to the base class libraries to the .NET Framework since version 2.0. The following technologies are introduced in the .NET Framework 3.5: Language Integrated Query (LINQ). New compilers for C#, Visual Basic, and C++. ASP.NET AJAX. For a complete list of features, see What's New in the .NET Framework Version 3.5
19
2 Common Language Runtime Overview Compilers and tools expose the runtime's functionality and enable you to write code that benefits from this managed execution environment. Code that you develop with a language compiler that targets the runtime is called managed code; it benefits from features such as cross-language integration, cross- language exception handling, enhanced security, versioning and deployment support, a simplified model for component interaction, and debugging and profiling services. To enable the runtime to provide services to managed code, language compilers must emit metadata that describes the types, members, and references in your code. Metadata is stored with the code; every loadable common language runtime portable executable (PE) file contains metadata. The runtime uses metadata to locate and load classes, lay out instances in memory, resolve method invocations, generate native code, enforce security, and set run-time context boundaries. The runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. Objects whose lifetimes are managed in this way are called managed data. Garbage collection eliminates memory leaks as well as some other common programming errors. If your code is managed, you can use managed data, unmanaged data, or both managed and unmanaged data in your .NET Framework application. Because language compilers supply their own types, such as primitive types, you might not always know (or need to know) whether your data is being managed. The common language runtime makes it easy to design components and applications whose objects interact across languages. Objects written in different languages can communicate with each other, and their behaviors can be tightly integrated. For example, you can define a class and then use a different language to derive a class from your original class or call a method on the original class. You can also pass an instance of a class to a method of a class written in a different language. This cross-language integration is possible because language compilers and tools that target the runtime use a common type system defined by the runtime, and they follow the runtime's rules for defining new types, as well as for creating, using, persisting, and binding to types. As part of their metadata, all managed components carry information about the components and resources they were built against. The runtime uses this information to ensure that your component or application has the specified versions of everything it needs, which makes your code less likely to break because of some unmet dependency. Registration information and state data are no longer stored in the registry where they can be difficult to establish and maintain. Rather, information about the types you define (and their dependencies) is stored with the code as metadata, making the tasks of component replication and removal much less complicated. Language compilers and tools expose the runtime's functionality in ways that are intended to be useful and intuitive to developers. This means that some features of the runtime might be more noticeable in one environment than in another. How you experience the runtime depends on which language compilers or tools you use. For example, if you are a Visual Basic developer, you might notice that with the common language runtime, the Visual Basic language has more object-oriented features than before. Following are some benefits of the runtime: Performance improvements. The ability to easily use components developed in other languages.
20
Extensible types provided by a class library. New language features such as inheritance, interfaces, and overloading for object-oriented programming; support for explicit free threading that allows creation of multithreaded, scalable applications; support for structured exception handling and custom attributes. If you use Microsoft Visual C++ .NET, you can write managed code using Visual C++, which provides the benefits of a managed execution environment as well as access to powerful capabilities and expressive data types that you are familiar with. Additional runtime features include: Cross-language integration, especially cross-language inheritance. Garbage collection, which manages object lifetime so that reference counting is unnecessary. Self-describing objects, which make using Interface Definition Language (IDL) unnecessary. The ability to compile once and run on any CPU and operating system that supports the runtime. You can also write managed code using the C# language, which provides the following benefits: Complete object-oriented design. Very strong type safety. A good blend of Visual Basic simplicity and C++ power. Garbage collection. Syntax and keywords similar to C and C++. Use of delegates rather than function pointers for increased type safety and security. Function pointers are available through the use of the unsafe C# keyword and the /unsafe option of the C# compiler (Csc.exe) for unmanaged code and data. 2.1 Managed Execution Process The managed execution process includes the following steps: 1. Choosing a compiler. To obtain the benefits provided by the common language runtime, you must use one or more language compilers that target the runtime. 2. Compiling your code to Microsoft intermediate language (MSIL). Compiling translates your source code into MSIL and generates the required metadata. 3. 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. 4. Running code.
21
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. 2.2 Automatic Memory Management Automatic memory management is one of the services that the common language runtime provides during Managed Execution. The common language runtime's garbage collector manages the allocation and release of memory for an application. For developers, this means that you do not have to write code to perform memory management tasks when you develop managed applications. Automatic memory management can eliminate common problems, such as forgetting to free an object and causing a memory leak, or attempting to access memory for an object that has already been freed. This section describes how the garbage collector allocates and releases memory. Allocating Memory
When you initialize a new process, the runtime reserves a contiguous region of address space for the process. This reserved address space is called the managed heap. The managed heap maintains a pointer to the address where the next object in the heap will be allocated. Initially, this pointer is set to the managed heap's base address. All reference types are allocated on the managed heap. When an application creates the first reference type, memory is allocated for the type at the base address of the managed heap. When the application creates the next object, the garbage collector allocates memory for it in the address space immediately following the first object. As long as address space is available, the garbage collector continues to allocate space for new objects in this manner. Allocating memory from the managed heap is faster than unmanaged memory allocation. Because the runtime allocates memory for an object by adding a value to a pointer, it is almost as fast as allocating memory from the stack. In addition, because new objects that are allocated consecutively are stored contiguously in the managed heap, an application can access the objects very quickly. Releasing Memory
The garbage collector's optimizing engine determines the best time to perform a collection based on the allocations being made. When the garbage collector performs a collection, it releases the memory for objects that are no longer being used by the application. It determines which objects are no longer being used by examining the application's roots. Every application has a set of roots. Each root either refers to an object on the managed heap or is set to null. An application's roots include global and static object pointers, local variables and reference object parameters on a thread's stack, and CPU registers. The garbage collector has access to the list of active roots that the just-in-time (JIT) compiler and the runtime maintain. Using this list, it examines an application's roots, and in the process creates a graph that contains all the objects that are reachable from the roots. Objects that are not in the graph are unreachable from the application's roots. The garbage collector considers unreachable objects garbage and will release the memory allocated for them. During a
22
collection, the garbage collector examines the managed heap, looking for the blocks of address space occupied by unreachable objects. As it discovers each unreachable object, it uses a memory-copying function to compact the reachable objects in memory, freeing up the blocks of address spaces allocated to unreachable objects. Once the memory for the reachable objects has been compacted, the garbage collector makes the necessary pointer corrections so that the application's roots point to the objects in their new locations. It also positions the managed heap's pointer after the last reachable object. Note that memory is compacted only if a collection discovers a significant number of unreachable objects. If all the objects in the managed heap survive a collection, then there is no need for memory compaction. To improve performance, the runtime allocates memory for large objects in a separate heap. The garbage collector automatically releases the memory for large objects. However, to avoid moving large objects in memory, this memory is not compacted. 3 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 helps enable cross-language integration, type safety, and high performance code execution. Provides an object-oriented model that supports the complete implementation of many programming languages. Defines rules that languages must follow, which helps ensure that objects written in different languages can interact with each other. Common Type System Overview 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 in the Common Type System Describes built-in and user-defined value types. Classes in the Common Type System Describes the characteristics of common language runtime classes.
23
Delegates in the Common Type System Describes the delegate object, which is the managed alternative to unmanaged function pointers. Arrays in the Common Type System Describes common language runtime array types. Interfaces in the Common Type System Describes characteristics of interfaces and the restrictions on interfaces imposed by the common language runtime. Pointers in the Common Type System Describes managed pointers, unmanaged pointers, and unmanaged function pointers. 3.1 Common Type System Overview This section describes concepts and defines terms that will help you understand and work with your language's implementation of the common type system. Classification of Types
The common type system supports two general categories of types, each of which is further divided into subcategories: Value types Value types directly contain their data, and instances of value types are either allocated on the stack or allocated inline in a structure. Value types can be built-in (implemented by the runtime), user-defined, or enumerations. For a list of built-in value types, see the .NET Framework Class Library. Reference types Reference types store a reference to the value's memory address, and are allocated on the heap. Reference types can be self-describing types, pointer types, or interface types. The type of a reference type can be determined from values of self-describing types. Self-describing types are further split into arrays and class types. The class types are user-defined classes, boxed value types, and delegates. Variables that are value types each have their own copy of the data, and therefore operations on one variable do not affect other variables. Variables that are reference types can refer to the same object; therefore, operations on one variable can affect the same object referred to by another variable.
24
All types derive from the System.Object base type. Type classification
Types and Assemblies
The runtime uses assemblies to locate and load types. The assembly manifest contains the information that the runtime uses to resolve all type references made within the scope of the assembly. A type name in the runtime has two logical parts: the assembly name and the name of the type within the assembly. Two types with the same name but in different assemblies are defined as two distinct types. Assemblies provide consistency between the scope of names seen by the developer and the scope of names seen by the runtime system. Developers author types in the context of an assembly. The content of the assembly a developer is building establishes the scope of names that will be available at run time. 4 Metadata and Self-Describing Components In the past, a software component (.exe or .dll) written in one language could not easily use a software component written in another language. COM provided a step forward in solving this problem. The .NET Framework makes component interoperation even easier by allowing compilers to emit additional declarative information into all modules and assemblies. This information, called metadata, helps components to seamlessly interact. 4.1 Metadata Overview
25
Metadata is binary information describing your program that is stored either in a common language runtime portable executable (PE) file or in memory. When you compile your code into a PE file, metadata is inserted into one portion of the file, while your code is converted to Microsoft intermediate language (MSIL) and inserted into another portion of the file. Every type and member defined and referenced in a module or assembly is described within metadata. When code is executed, the runtime loads metadata into memory and references it to discover information about your code's classes, members, inheritance, and so on. Metadata describes every type and member defined in your code in a language-neutral manner. Metadata stores the following information: Description of the assembly. o Identity (name, version, culture, public key). o The types that are exported. o Other assemblies that this assembly depends on. o Security permissions needed to run. Description of types. o Name, visibility, base class, and interfaces implemented. o Members (methods, fields, properties, events, nested types). Attributes. o Additional descriptive elements that modify types and members. 4.3 Structure and Use of Metadata Although most developers do not need to know the implementation details of metadata, some might want a deeper understanding. This section provides an overview of how metadata is stored in a .NET Framework portable executable (PE) file and an explanation of metadata's role in managed execution. You do not need to read this section to understand .NET programming or how to use attributes.
Metadata and the PE File Structure Metadata is stored in one section of a .NET Framework portable executable (PE) file, while Microsoft intermediate language (MSIL) is stored in another section of the PE file. The metadata portion of the file contains a series of table and heap data structures. The MSIL portion contains MSIL and metadata tokens that reference the metadata portion of the PE file. You might encounter metadata tokens when you use tools such as the MSIL Disassembler (Ildasm.exe) to view your code's MSIL or the Runtime Debugger (Cordbg.exe) to perform a memory dump.
26
Metadata within a PE File
When a program is compiled for the common language runtime, it is converted to a PE file that consists of three parts. The following table describes the contents of each part. PE section Contents of PE section PE header The index of the PE file's main sections and the address of the entry point. The runtime uses this information to identify the file as a PE file and to determine where execution starts when loading the program into memory. MSIL instructions The Microsoft intermediate language instructions (MSIL) that make up your code. Many MSIL instructions are accompanied by metadata tokens. Metadata Metadata tables and heaps. The runtime uses this section to record information about every type and member in your code. This section also includes custom attributes and security information.
5. Cross-Language Interoperability The common language runtime provides built-in support for language interoperability. However, this support does not guarantee that code you write can be used by developers using another programming language. To ensure that you can develop managed 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 CLS plays in enabling guaranteed cross-language interoperability. CLS features and rules are identified, and CLS compliance is discussed. 5.1 Common Language Specification To fully interact with other objects regardless of the language they were implemented in, objects must expose to callers only those features that are common to all the languages they must interoperate with. For this reason, the Common Language Specification (CLS), which is a set of basic language features needed by many applications, has been defined. The CLS rules define a subset of the Common Type System; that is, all the rules that apply to the common type system apply to the CLS, except where stricter rules are defined in the CLS. The CLS helps enhance and ensure language interoperability by defining a set of features that developers can rely on to be available in a wide variety of languages. The CLS also establishes requirements for CLS compliance; these help you determine whether your managed code
27
conforms to the CLS and to what extent a given tool supports the development of managed code that uses CLS features. If your component uses only CLS features in the API that it exposes to other code (including derived classes), the component is guaranteed to be accessible from any programming language that supports the CLS. Components that adhere to the CLS rules and use only the features included in the CLS are said to be CLS-compliant components. Most of the members defined by types in the .NET Framework Class Library are CLS-compliant. However, some types in the class library have one or more members that are not CLS-compliant. These members enable support for language features that are not in the CLS. The types and members that are not CLS- compliant are identified as such in the reference documentation, and in all cases a CLS-compliant alternative is available. For more information about the types in the .NET Framework class library, see the .NET Framework Class Library. The CLS was designed to be large enough to include the language constructs that are commonly needed by developers, yet small enough that most languages are able to support it. In addition, any language construct that makes it impossible to rapidly verify the type safety of code was excluded from the CLS so that all CLS-compliant languages can produce verifiable code if they choose to do so. For more information about verification of type safety, see Compiling MSIL to Native Code. 6. Assemblies Overview Assemblies are a fundamental part of programming with the .NET Framework. An assembly performs the following functions: It contains code that the common language runtime executes. Microsoft intermediate language (MSIL) code in a 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). It forms a security boundary. An assembly is the unit at which permissions are requested and granted. For more information about security boundaries as they apply to assemblies, see Assembly Security Considerations. It forms a type boundary. Every type's identity includes the name of the assembly in which it resides. A type called MyType loaded in the scope of one assembly is not the same as a type called MyType loaded in the scope of another assembly. It forms a reference scope boundary. 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 assembly. The manifest also enumerates other assemblies on which it depends. It forms a version boundary. The assembly is the smallest versionable unit in the common language runtime; all types and resources in the same assembly are versioned as a unit. The assembly's manifest describes the version dependencies you specify for any dependent assemblies. For more information about versioning, see Assembly Versioning. It forms a deployment unit. When an application starts, only the assemblies that the application initially calls must be present. Other assemblies, such as localization resources or assemblies containing utility classes, can be retrieved on demand. This allows applications to be kept simple
28
and thin when first downloaded. For more information about deploying assemblies, see Deploying Applications. It is the unit at which side-by-side execution is supported. For more information about running multiple versions of an assembly, see Assemblies and Side-by-Side Execution. 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 so on). Static assemblies are stored on disk in portable executable (PE) files. You can also use the .NET Framework to create dynamic assemblies, which are run directly from memory and are not saved to disk before execution. You can save dynamic assemblies to disk after they have executed. There are several ways to create assemblies. You can use development tools, such as Visual Studio 2005, that you have used in the past to create .dll or .exe files. You can use tools provided in the Windows Software Development Kit (SDK) to create assemblies with modules created in other development environments. You can also use common language runtime APIs, such as Reflection.Emit, to create dynamic assemblies. 6.1 Assembly Benefits Assemblies are designed to simplify application deployment and to solve versioning problems that can occur with component-based applications. End users and developers are familiar with versioning and deployment issues that arise from today's component-based systems. Some end users have experienced the frustration of installing a new application on their computer, only to find that an existing application has suddenly stopped working. Many developers have spent countless hours trying to keep all necessary registry entries consistent in order to activate a COM class. Many deployment problems have been solved by the use of assemblies in the .NET Framework. Because they are self-describing components that have no dependencies on registry entries, assemblies enable zero-impact application installation. They also simplify uninstalling and replicating applications. Versioning Problems
Currently two versioning problems occur with Win32 applications: Versioning rules cannot be expressed between pieces of an application and enforced by the operating system. The current approach relies on backward compatibility, which is often difficult to guarantee. Interface definitions must be static, once published, and a single piece of code must maintain backward compatibility with previous versions. Furthermore, code is typically designed so that only a single version of it can be present and executing on a computer at any given time. There is no way to maintain consistency between sets of components that are built together and the set that is present at run time.
29
These two versioning problems combine to create DLL conflicts, where installing one application can inadvertently break an existing application because a certain software component or DLL was installed that was not fully backward compatible with a previous version. Once this situation occurs, there is no support in the system for diagnosing and fixing the problem. An End to DLL Conflicts
Microsoft Windows 2000 began to fully address these problems. It provides two features that partially fix DLL conflicts: Windows 2000 enables you to create client applications where the dependent .dll files are located in the same directory as the application's .exe file. Windows 2000 can be configured to check for a component in the directory where the .exe file is located before checking the fully qualified path or searching the normal path. This enables components to be independent of components installed and used by other applications. Windows 2000 locks files that are shipped with the operating system in the System32 directory so they cannot be inadvertently replaced when applications are installed. The common language runtime uses assemblies to continue this evolution toward a complete solution to DLL conflicts. The Assembly Solution
To solve versioning problems, as well as the remaining problems that lead to DLL conflicts, the runtime uses assemblies to do the following: Enable developers to specify version rules between different software components. Provide the infrastructure to enforce versioning rules. Provide the infrastructure to allow multiple versions of a component to be run simultaneously (called side-by-side execution). Assembly Contents In general, a static assembly can consist of four elements: The assembly manifest, which contains assembly metadata. Type metadata. Microsoft intermediate language (MSIL) code that implements the types. A set of resources. Only the assembly manifest is required, but either types or resources are needed to give the assembly any meaningful functionality.
30
There are several ways to group these elements in an assembly. You can group all elements in a single physical file, which is shown in the following illustration. Single-file assembly
Alternatively, the elements of an assembly can be contained in several files. These files can be modules of compiled code (.netmodule), resources (such as .bmp or .jpg files), or other files required by the application. Create a multifile assembly when you want to combine modules written in different languages and to optimize downloading an application by putting seldom used types in a module that is downloaded only when needed. In the following illustration, the developer of a hypothetical application has chosen to separate some utility code into a different module and to keep a large resource file (in this case a .bmp image) in its original file. The .NET Framework downloads a file only when it is referenced; keeping infrequently referenced code in a separate file from the application optimizes code download. Multifile assembly
Note: The files that make up a multifile assembly are not physically linked by the file system. Rather, they are linked through the assembly manifest and the common language runtime manages them as a unit. In this illustration, all three files belong to an assembly, as described in the assembly manifest contained in MyAssembly.dll. To the file system, they are three separate files. Note that the file Util.netmodule was compiled as a module because it contains no assembly information. When the assembly was created, the assembly manifest was added to MyAssembly.dll, indicating its relationship with Util.netmodule and Graphic.bmp.
31
As you currently design your source code, you make explicit decisions about how to partition the functionality of your application into one or more files. When designing .NET Framework code, you will make similar decisions about how to partition the functionality into one or more assemblies.
32
USACWD601 SEMESTER VI Course USACWD501: Principles of Web Design & Web Technologies II
Text highlighted in RED color are Newly added topics)
Unit I
Introduction to Ajax Working of Ajax from a users perspective and a developers perspective, Applications of Ajax : Searching in real time with live searches, Getting the answer with auto complete Chatting with friends ,Dragging and dropping with Ajax, Getting instant login feedback, Ajax-enabled pop-up menus, Modifying Web pages on the fly, Google Maps and Ajax.
Ajax and PHP : Starting with PHP ,Getting a Handle on Variables ,Handling Your Data with Operators, Making Choices with the if Statement ,Round and Round with Loops, Handling HTML Controls, Getting data from text fields. Checking out data from check boxes, Tuning in data from radio buttons ,Sending Data to the Server, Reading Files, Writing Files, Working with Databases
XML and Ajax: Creating and opening the XMLHttpRequest object., Handling asynchronous downloads, relative versus absolute URLs, Interactive Mouseovers Using Ajax ,Server-Side Scripting ,Choosing a server-side scripting language ,Connecting to a script on a server, Setting up a Web page to read XML, Handling the XML you read from the server, Extracting data from XML, Passing Data to the Server with GET, Passing Data to the Server with POST.
Ajax in Depth : Returning JavaScript from the Server, Calling a Different Domain , Reversing the Roles: Performing Validation on the Server, Getting Data with HEAD Requests., Returning all the header data you can get ,Finding the last-modified date, Debugging Ajax, Using GET to get text ,Using GET to get XML ,Using POST to post data and get text ,Using POST to post data and get XML. Unit References: Code : Ajax for Dummies (Ch.1, 3, 4, 5*, 10)
Unit II
Handling XML in Ajax Applications Requesting XML Data in Ajax., Extracting XML Data Using Properties ,Right on the node ,Introducing the JavaScript properties, Navigating an XML document using JavaScript properties, Extracting with node Value, Accessing XML Elements by Name, Accessing Attribute Values in XML Elements, Validating XML Documents in Ajax Applications
33
Working with Cascading Style Sheets in Ajax Applications An Ajax-Driven Menu System, Setting up the styles, Handling mouse events, Displaying a menu ,Hiding a menu ,Handling the menu items ,Displaying Text That Gets Noticed ,Styling text, Handling colors and backgrounds, Positioning using styles
Ajax Design Issues Breaking the Back Button and Bookmarks, Giving Visual, Cues, Leaving the User in Control, remembering All the Different Browsers, Showing Users When Text Changes, Avoiding a Sluggish Browser ,Handling Sensitive Data, Creating a Backup Plan., Showing Up in Search Engines, Sidestepping a Browsers Cache
Unit References Code: Dummies( Ch. 8,9,11)
Unit III
ASP.NET Applications - Evolution of Web Development [Ref1:Pg1- 9 10] Creating ASP.NET Applications, Designing Web pages, Anatomy of web form [Ref1:Pg 81-99] Writing Code-behind and event handlers, [Ref1:Pg105-118] <May not be for theory exam> ASP.NET Files, Application Directories, Server Controls, HTML Control classes [Ref1:121-132,135-137,145-146] <HTML server controls are only to give idea, focus more on web controls > Page Class, Global.asax files and application events, ASP.NET Configuration files [Ref1:Pg148-159] Web Controls Advantages of web controls, Web control classes, AutoPostBack & Web control events [Ref 1 : Pg 163-199] State Management Maintaining state using ViewState [Ref1:Pg201-203206], Query String, Cross Page Posting, URL Encoding, Cookies, Sessions State [Ref1:Pg209-230], Application State [Ref1:Pg235-236] Validation & rich controls Validations & Validator controls, Undertaking regular expressions [Ref1:Pg321-335340], Calendar control, AdRotator, Advertisement file, AdRotator class [Ref1: Pg343-345, 351-353 ] Unit-IV
ADO.NET & Data Binding ADO.NET Fundamentals [Ref1:486-493, 497-522], Single-value, Repeated-Value Data Binding, Data binding with ADO.NET, Data
34
source controls [Ref1:-525-558], GridView, Defining columns, Selecting, Sorting & Paging GridView [Ref1:Pg565-571, 578-579,584-589] Using XML XML Role in .NET, XML Classes [Ref1:Pg635-636,642-658] Protection & Performance : Determining security requirements, ASP.NET Security model [Ref1:Pg 679-683686], Caching, Types of caching, Example of output caching, data caching, [Ref1:Pg 809-813,819-822] AJAX in ASP.NET Using ScriptManager, Partial refreshes, UpdatePanel, Triggers, Timed Refreshes [Ref1-843-849, 852-857, 861-863] Web Service What is web service, ASP.NET Web services, Creating a simple web service, Consuming Web service [Ref2-Pg 981-982,984-993] (Ref - Mastering VB 2008 Chapter 27)
Main References 1) Beginning ASP.NET 3.5 in VB 2008, From Novoice to professional, Second edition, Mathew Mcdonald 2) Mastering Visual Basic 2008, Evangelos Petroutsos, Wiley-India Edition Some books for Web projects Building Web Applications with UML Jim Connalen ASP.NET 3.5 Application Architecture & Design Vivek Thakur
35
Practicals USACWD6P1 Category A: Unit 1 and Unit 2 Practical 1 to 4 Category B: Unit 3 and Unit 4 Practical 5 to 8
Category A: Practical 1. Retrieving data from server & Sending data to server using AJAX 1) Retrieving data from server using AJAX a. Study of XMLHttp object to capture data entered by user in a text field and display it in the webpage in a span element. b. Create a webpage to fetch and display the contents of a text file on click of a button using XMLHttpRequestObject. c. Create a web page using ajax to fetch text file contents on mouseover. 2) Sending the Data to the Server & Working with XML and AJAX a. Create a web page to fetch the matching name from the namearray stored in a php file using ajax when you enter the starting alphabet in a textfield. b. Create a html file to fetch the contents of cataglog.xml (CD details) using ajax and display them in a table. Category A: Practical 2. Retrieving data from HTML form using PHP 1) Create a PHP script that would retrieve and the display the data entered by a user in the Registration Form Category A: Practical 3. Retrieving Employee Details/ Registration Details from the database using Ajax and PHP 1) Create a web form with a drop down list containing the department ids. As soon as the user selects a particular department id the employees of the department should be fetched from the database and listed in a tabular format. Category A: Practical 4. Adding ,Modifying and Deleting data from Client side to into table in MySql 1) Design a login system such that: i. User registers himself. ii. User can log in and is redirected to a specific page iii. User can change the password iv. User can unregister himself.
36
Category B: Practical 5. Fundamentals of ASP.NET such as using HTML/Web Controls, Autopostback, Application events, configuration files 1) Create a web site of your name that shows your information. (http://localhost/UserName) 2) A software company wants to conduct placements for graduates in Mumbai or Pune. Design a web form to input student details such as name using textbox, course name such as BSc Comp Sci/IT/Phy/Maths using radio button, Marks in SSC,HSC, FY & SY along with Year of Passing using text boxes & Location such as Mumbai/Pune using combo box. The student is shortlisted only if he/she has min 60% in SSC & HSC, FY & SY average should be min 55% & there should not be any gap in education. When student clicks on Register button, the data is submitted to ASP.NET page which informs the student whether he/she qualifies and place of interview in Mumbai or Pune as given by the student. 3) A bank wants to keep an enquiry page for inquiring about home loan. The rates of these loans are stored in configuration file and the rates are different for various span of years(5/10/15). The user types the loan amount & selects the number of years for repayment of loan(5/10/15) from combo box. In return, the user gets information of the rate of loan, monthly installment for the specified number of years and total number of enquiries since the server started[Use configuration files and application events]. 4) Design ticket enquiry form for a theater. Select location (Mumbai/Pune) using radio button. When user clicks a location, it fills a combo box with names of theaters in that city. When user selects the name of the theatre, the list of films currently shown and their show timings should be displayed in table[Use autopostback]. Category B: Practical 6. State management, Validation & Rich controls 1) A news channel wants to conduct a survey of some famous personalities of the year. The user initially inputs his/her name, age and email. The survey will be valid only if user is above 18 years of age and has an email id. First page allows user to select Best Sportsperson, 2 nd page asks Best Writer and the third Best Minister. At the end, it shows a thank you message with users name and shows all the choices made by him/her. 2) For above program , add validations name should not be null, age should be within (21 to 100) & Email should be in specific format. 3) For above program, show advertisements of any 3 popular products/companies Category B: Practical 7. ADO.NET in ASP.NET with Data Binding, Interacting with XML documents 1) Assuming that there are 2 tables Cust(AccNo, AccName, Passwd, CurrBal) & Transactions(TransId, AccNo, Date, Amt, TransType, Client) where TransType can be Debit or Credit. User should input AccNo and password. For successful login, it should show welcome message with the users name, current balance and transactions of the current month in table. [ Use Reader] 2) Develop a web page for a real estate firm. The user after visiting the site, selects the name of city from combo-box. In return, the user gets information about all the flats from that city such as No. of Rooms, Expected Price in a grid. At a time, information of only 5 flats should be visible. [Use data binding and sql data source].
37
3) A Cable TV provider stores the list of channels in an XML File. For each Channel, there is an attribute Name. The Channel element consists of sub-elements such as Language(such as Hindi, English, Marathi etc), Category(Sports, Movies, Cartoon etc). Design an ASP.NET page that displays, the list of languages and categories in 2 combo boxes. When user clicks on a button, all the channels matching the selected criteria should be displayed. Category B: Practical 8. Performance improvement using Caching, Creating & Consuming web services 1) Design a page that contains some list of theaters of Famous Cinemas in list box. It should also contain a link button that navigates to a page that displays time table of movies of selected theatre. Store the output of the first page in cache. When user selects theatre, the time table should be read from cache if it exists(Use Output & Data Cache). 2) A channel displays online news. Latest news should be shown as scrolling marquee. It also shows score of current days cricket match which gets updated after every 60 seconds[Use AJAX]. 3) Create a web service that gives (i) NSE Index, (ii) BSE Index, (iii) Gold Rate. Also create a web form for a share trading firm that displays these values on its home page.