CNT6008 Network Programming Module - 11 Objectives

CNT6008 Network Programming Module - 11 Objectives

CNT6008 Network Programming Module - 11 Objectives Skills/Concepts/Assignments Objectives ASP.NET Overview • Learn the Framework • Understand the different platforms • Compare to Java Platform Final Project Define your final project requirements Section 21 – Web App Read Sections 21 and 27, pages 649 to 694 and 854 Development and ASP.NET to 878. Section 27 – Web App Development with ASP.NET Overview of ASP.NET Section Goals Goal Course Presentation Understanding Windows Understanding .NET Framework Foundation Project Concepts Creating a ASP.NET Client and Server Application Understanding the Visual Creating a ASP Project Studio Development Environment .NET – What Is It? • Software platform • Language neutral • In other words: • .NET is not a language (Runtime and a library for writing and executing written programs in any compliant language) What Is .NET • .Net is a new framework for developing web-based and windows-based applications within the Microsoft environment. • The framework offers a fundamental shift in Microsoft strategy: it moves application development from client-centric to server- centric. .NET – What Is It? .NET Application .NET Framework Operating System + Hardware Framework, Languages, And Tools VB VC++ VC# JScript … Common Language Specification Visual Studio.NET Visual ASP.NET: Web Services Windows and Web Forms Forms ADO.NET: Data and XML Base Class Library Common Language Runtime The .NET Framework .NET Framework Services • Common Language Runtime • Windows Communication Framework (WCF) • Windows® Forms • ASP.NET (Active Server Pages) • Web Forms • Web Services • ADO.NET, evolution of ADO • Visual Studio.NET Common Language Runtime (CLR) • CLR works like a virtual machine in executing all languages. • All .NET languages must obey the rules and standards imposed by CLR. Examples: • Object declaration, creation and use • Data types, language libraries • Error and exception handling • Interactive Development Environment (IDE) Common Language Runtime • Development • Mixed language applications • Common Language Specification (CLS) • Common Type System (CTS) • Standard class framework • Automatic memory management • Consistent error handling and safer execution • Potentially multi-platform • Deployment • Removal of registration dependency • Safety – fewer versioning problems Common Language Runtime Multiple Language Support • CLS is a rich type system built into the CLR – Implements various types (int, double, etc) – And operations on those types • CLS is a set of specifications that language and library designers need to follow – This will ensure interoperability between languages Compilation in .NET Code in another Code in VB.NET Code in C# .NET Language Appropriate VB.NET compiler C# compiler Compiler IL(Intermediate Language) code CLR just-in-time execution Intermediate Language (IL) • .NET languages are not compiled to machine code. They are compiled to an Intermediate Language (IL). • CLR accepts the IL code and recompiles it to machine code. The recompilation is just-in-time (JIT) meaning it is done as soon as a function or subroutine is called. • The JIT code stays in memory for subsequent calls. In cases where there is not enough memory it is discarded thus making JIT process interpretive. Languages • Languages provided by Microsoft • VB, C++, C#, J#, JScript • Third-parties are building • APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk… Windows Forms • Framework for Building Rich Clients – RAD (Rapid Application Development) – Rich set of controls – Data aware – ActiveX® Support – Licensing – Accessibility – Printing support – Unicode support – UI inheritance Active Server Pages (ASP.NET) • ASP.NET, the platform services that allow to program Web Applications and Web Services in any .NET language • ASP.NET Uses .NET languages to generate HTML pages. HTML page is targeted to the capabilities of the requesting Browser • ASP.NET “Program” is compiled into a .NET class and cached the first time it is called. All subsequent calls use the cached version. ASP.NET • Logical Evolution of ASP – Supports multiple languages – Improved performance – Control-based, event-driven execution model – More productive – Cleanly encapsulated functionality Problems with ASP • Easy to end up with hideous spaghetti code – HTML + VBScript + CSS + JavaScript all intertwined – But a good programmer would separate these into files • No easy way to cope with browser compatibility problems when generating client-side code – Although browser compatibility issues are reducing as standards become more mature • Script code interpreted at run-time – inefficient – not very robust • Preserving state using the ASP Session object is inefficient ASP.NET ASP.NET addresses the problems of ASP • Development is totally forms-based (called Web Forms) – everything is drag and drop • GUI controls that know how to render themselves for a range of clients – rather better on IE than other browsers if you are not careful • Create event code (e.g. for a button) in a VB fashion • Application code can be written in any Microsoft .NET language – C#, VB.NET, etc. – full programming languages, not scripting languages • Server-side code and presentation code (HTML) are separated – application code stored in a ‘code behind’ file – can be fully compiled ‘managed code’ – increased efficiency • Session handling improved – echoing back data entered in a form is made automatic. ASP.NET Web Forms • Allows clean cut code • Code-behind Web Forms • Easier for tools to generate • Code within is compiled then executed • Improved handling of state information • Support for ASP.NET server controls • Data validation • Data bound grids ASP.NET Web Services A technical definition “A programmable application component accessible via standard Web protocols” Web Services • It is just an application… • …that exposes its features and capabilities over the network… • …using XML… • …to allow for the creation of powerful new applications that are more than the sum of their parts… Web Services • One of these Web protocols is the Simple Object Access Protocol (SOAP). • SOAP is a W3C submitted note (as of May 2000) that uses standards based technologies (XML for data description and HTTP for transport) to encode and transmit application data. • Consumers of a Web Service do not need to know anything about: • The platform, object model, or programming language used to implement the service • They only need to understand how to send and receive SOAP messages (HTTP and XML). WCF Services • Windows Communication Foundation (WCF) is a framework for building service-oriented applications. • Send data as asynchronous messages from one service endpoint to another. • A service endpoint can be part of a continuously available service hosted by IIS, or it can be a service hosted in an application. • An endpoint can be a client of a service that requests data from a service endpoint. • The messages can be as simple as a single character or word sent as XML, or as complex as a stream of binary data. Web Service ASP.net Versus WCF Service • WCF is a replacement for all earlier web service technologies from Microsoft. • It does a lot more than what is traditionally considered as "web services“ • WCF "web services" are part of a much broader spectrum of remote communication enabled through WCF. • Much higher degree of flexibility and portability doing things in WCF than through traditional ASMX • WCF is designed, from the ground up, to summarize all of the different distributed programming infrastructures offered by Microsoft. Web Service ASP.net Versus WCF Service • WCF - Easy endpoint communication • SOAP/XML • TCP/binary • To change this medium is simply a configuration file modification. • Common scenarios for hosting WCF services are IIS , Windows Process Activation Service (WAS), Self-hosting ,Managed Windows Service. • ASP.NET Web Services Use XmlSerializer, WCF Uses DataContractSerializer • Data serializer better in performance as compared to XmlSerializer. • With XmlSerializer only Public fields or Properties of .NET types can be translated into XML. • Only the classes which implement IEnumerable interface. • Classes that implement the IDictionary interface, such as Hash table can not be serialized. Active Data Objects (ADO.NET) (Data and XML) • New objects (e.g., DataSets) • Separates connected / disconnected issues • Language neutral data access • Uses same types as CLR • Great support for XML Visual Studio.NET Development tool that contains a rich set of productivity and debugging features .NET – Hierarchy CLR CLR The Microsoft .NET Framework XML based Web Forms Web Services ASP.NET Windows Forms Library classes for accessing data and XML (ADO.NET, SQL, XML, XSLT) Library Framework Base classes (IO, string, collections, security) Common Language Runtime Common Language Runtime Program written in any .NET supported language C#, VB.NET, etc. compile Intermediate Language (IL) - like Java bytecode (.exe or .dll) Common Language Runtime Loads and executes code, garbage collects etc Section Summary • ASP.NET Web Forms Make it Easy to Develop Web Service Applications • ASP.NET is Derived from Previous ASP, which Proved Very Popular and Easy to Use • Code organization improvements • Performance improvements • State management • WCF is a Foundation for All Microsoft Technologies • Was better serialization • Was better performance • Was better integration • Services • Clients Comparison Between J2EE and .NET Comparison Between J2EE and .NET Architectures

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    45 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us