1 / 37

Introduction to the Web and .NET

Introduction to the Web and .NET. Mark Sapossnek CS 651 Computer Science Department Metropolitan College Boston University. Agenda. Internet Technologies Programming Languages and Paradigms Programming the Web .NET Overview. .NET Overview. Introduction to .NET The .NET Framework

Download Presentation

Introduction to the Web and .NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. Introduction to the Weband .NET Mark SapossnekCS 651 Computer Science Department Metropolitan College Boston University

  2. Agenda • Internet Technologies • Programming Languages and Paradigms • Programming the Web • .NET Overview

  3. .NET Overview • Introduction to .NET • The .NET Framework • Common Language Runtime • ADO.NET • Windows Forms • Web Forms • Web Services • Languages • .NET and Devices • Visual Studio.NET

  4. Introduction to .NETWhat is .NET? • A vision of how information technology will evolve • A platform that supports the vision • A business model of software as a service

  5. Introduction to .NETWhat is .NET? • A vision • Web sites will be joined by Web Services • New smart devices will join the PC • User interfaces will become more adaptable and customizable • Enabled by Web standards

  6. Introduction to .NETWhat is .NET? • A platform • The .NET Framework • Visual Studio.NET • .NET Enterprise Servers • Database, Messaging, Integration, Commerce, Proxy, Security, Mobility, Orchestration, Content Management • .NET Building Block Services • Passport • .NET My Services (“Hailstorm”) • Goal: make it incredibly easy to build powerful Web applications and Web services } The focus of this course

  7. Introduction to .NETWhat is .NET? • A business model • Software as a service • Subscription-based services • Application hosting, e.g. bCentral

  8. .NET can run here .NET FoundationWeb Services Your InternalWeb Service Third-PartyWeb Services .NET EnterpriseServers Clients Applications .NET runs here Web Form Web Service .NET Framework Windows .NET can run here Introduction to .NETThe .NET Platform Protocols: HTTP,HTML, XML, SOAP, UDDI Tools:Visual Studio.NET,Notepad

  9. The .NET FrameworkWhat Is the .NET Framework? • A set of technologies for developing and using components to create: • Web Forms • Web Services • Windows Applications • Supports the software lifecycle • Development • Debugging • Deployment • Maintenance

  10. The .NET FrameworkThe .NET Framework and Visual Studio.NET VB C++ C# JScript Perl Cobol … Common Language Specification ASP.NET: Web Services and Web Forms WindowsForms Visual Studio.NET ADO.NET: Data and XML .NET Framework Base Classes Common Language Runtime Windows (Win32, IIS, COM+, …)

  11. Same classes forall languages!!! System.Windows.Forms System.Web Form Button Services UI Description HtmlControls MessageBox ListControl Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OLEDB SQL XSLT Serialization Design SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading The .NET Framework.NET Framework Classes

  12. Common Language RuntimeGoals • Development services • Deep cross-language interoperability • Increased productivity • Deployment services • Simple, reliable deployment • Fewer versioning problems – NO MORE ‘DLL HELL’ • Run-time services • Performance • Scalability • Availability • Reliability • Security • Safety

  13. Source Code Assembly C++, C#, VB or any .NET language DLL or EXE Common Language RuntimeCompilation Compiler csc.exe or vbc.exe

  14. Common Language RuntimeAssemblies • Assembly • Logical unit of deployment • Contains Manifest, Metadata, MSIL and resources • Manifest • Metadata about the components in an assembly (version, types, dependencies, etc.) • Type Metadata • Completely describes all types defined in an assembly: properties, methods, arguments, return values, attributes, base classes, …

  15. Common Language RuntimeAssemblies • Microsoft Intermediate Language (MSIL, IL) • All languages compile to IL (managed code) • IL is always compiled to native code before being executed • Resources • E.g. .bmp, .jpg

  16. Ngen Common Language RuntimeExecution Model Source code VB C# C++ Compiler Compiler Compiler Assembly Assembly Assembly MSIL Common Language Runtime JIT Compiler CLR Native code Managed Code Managed Code Managed Code Unmanaged Code CLR Services Operating System Services

  17. Code management Conversion of MSIL to native code Loading and execution of managed code Creation and management of metadata Verification of type safety Insertion and execution of security checks Memory management and isolation Handling exceptions across languages Interoperation between .NET Framework objects and COM objects and Win32 DLLs Automation of object layout for late binding Developer services (profiling, debugging, etc.) Common Language RuntimeServices

  18. Common Language RuntimeMultiple Language Support • Common Type System (CTS) • A superset of the data types used by most modern programming languages • Common Language Specification (CLS) • A subset of CTS that allows code written in different languages to interoperate • What languages? • Microsoft: C++, Visual Basic, C#, JScript • Third-Party: Perl, Java, Cobol, Python, Eiffel, Smalltalk, Scheme, Fortran, Pascal, Ada, …

  19. Common Language RuntimeApplications • An application consists of one or more assemblies • Where do assemblies live? • Local (subfolder) - preferred • Global Assembly Cache • How does one assembly bind to another? • Based upon metadata and policy • Multiple versions of an assembly may exist on the same machine • Easier software deployment, updates and removal • Multiple versions of an assembly in same application

  20. Common Language RuntimeSecurity • Evidence-based security (authentication) • Based on both user identity and code identity • Configurable policies • Imperative and declarative interfaces

  21. ADO.NET • Similar to ADO, but better factored • Language-neutral data access • Supports two styles of data access • Disconnected • Forward-only, read-only access • Supports data binding • DataSet: a collection of tables • Can view and process data relationally (tables) or hierarchically (XML) • Passes data in XML format

  22. Framework for building rich clients Built upon .NET Framework, languages Rapid Application Development (RAD) Visual inheritance Anchoring and docking Rich set of controls Extensible controls Data-aware Easily hooked into Web Services ActiveX support Licensing support Printing support Advanced graphics “No touch” deployment Can create controls to run in browser (like ActiveX) Windows Forms

  23. Web Forms • Built with ASP.NET • Logical evolution of ASP • Similar development model: edit the page and go • Requires less code • New programming model • Event-driven/server-side controls • Rich controls (e.g. data grid, validation) • Data binding • Controls generate browser-specific code • Simplified handling of page state

  24. Web Forms • Allows separation of UI and business logic • Uses .NET languages • Compiled • Not just scripting • Easy to use components • Deployment via XCOPY, FTP, Visual Studio • Simple configuration (XML-based) • Caching (pages, fragments, custom) • Scalable session state management

  25. Web Forms • Tracing support • ASP.NET is extensible • No ISAPI / ASP dichotomy • Automatic process rollover • Forms-based authentication • Role-based security model

  26. Web Services • A programmable application component accessible via standard Web protocols • Exposes machine-accessible functionality over the Web • vs. HTML, which exposes human-accessible functionality over the Web • Enables new business opportunities • Built on existing and emerging standards • HTTP, XML, SOAP, UDDI, WSDL, …

  27. Web ServicesWhy Web Services? ? ? ? ?

  28. HTML, XML HTML, XML HTML HTML Generation 1Static HTML Generation 2Web Applications Generation 3Web Services Web ServicesEvolution of the Web

  29. Web Services.NET My Services • Scenario: Planning a trip • Go to Expedia site (or Travelocity, or …) • Log in by clicking .NET Passport icon • Find the flights you want • Don’t have to reenter seat/meal/airline/frequent flyer/… info • System can find lowest price fare by looking at your calendar(s) • Purchase tickets w/o entering credit card # • Flight info automatically added to your calendar and your spouse’s calendar (with your approval) • Book rental car/hotel w/your preferences; added to calendar • On day of trip get notified of flight status via email/toast/pager/cell phone

  30. Web Services.NET My Services .NET Inbox .NET Alerts .NET Calendar .NET Application Settings .NET Contacts .NET Documents .NET Lists .NET Devices .NET Categories .NET Location .NET FavoriteWebsites .NET Presence .NET Profile .NET Wallet

  31. Web Servicesvs. Remoting • Web Services • Cross platform • Open industry standard • Based on SOAP (HTTP + XML) • Designed for use over the Internet • Remoting • .NET version of DCOM • .NET-specific • HTTP and TCP support • Pluggable protocols: binary, XML (SOAP) • Transparent proxies • High performance

  32. LanguagesC# • New language created for .NET • Safe, productive evolution of C++ • Designed along with CLR • Key concepts: • Component-oriented • Everything is an object • Robust and durable code • Preserving your investment • Standardized by ECMA

  33. LanguagesVisual Basic.NET • Modernizes and simplifies Visual Basic • Inheritance • Threading • Exception handling • Support for late binding • Semi-automated conversion from VB6 • Use judiciously

  34. Visual Studio.NETIncreased Productivity • Increased developer productivity • Easier to write code, share knowledge • Same tools for all languages • Mixed language development • Simplified server-based development • RAD for the server • Improved debugging • Powerful design tools • Windows Forms, Web Forms • XML and component designers • Extensible IDE

  35. .NET and Devices.NET Compact Framework • .NET Framework for Smart Devices • Goal: software as a service for devices • Lightweight runtime architecture • Compatible subset of desktop platform • Visual Studio.NET and 3rd party tools • Adaptable to different application needs • Broad availability planned… • Multiple CPUs • Windows CE and other RTOSes • Variety of physical form factors

  36. .NET and Devices Mobile Internet Toolkit • Utilize browser interface • Reach broad range of client devices • Server-side business logic • Leverage ASP.NET features and skills • Support multiple mark-up languages • WML1.1 (WAP), cHTML 1.0, and HTML 3.2 • Mobile Internet Controls Runtime • Intelligently renders content for mobile devices • Mobile Internet Designer • Integrates with Visual Studio.NET IDE

  37. Conclusion • Internet Technologies • Programming Languages and Paradigms • Programming the Web • .NET Overview

More Related