Title: Platforms and tools for Web Services and Mobile Applications Introduction to .Net
1Platforms and tools for Web Services and Mobile
ApplicationsIntroduction to .Net
- Bent Thomsen
- Aalborg University
- 3rd and 4th of June 2004
2Microsoft .NET
Web services support across the Microsoft
platform
3A Unified Programming Model
4Visual Studio .NET and the .NET Framework
Visual Studio .NET
Common Language Runtime
Windows Operating System
5Common Language Runtime
- Manages running code
- Threading, Memory management
- Eliminates memory management drudgery
- Kills entire classes of bugs (e.g., memory
corruption, ref counting) - Auto-versioning, no more DLL Hell
- Scalability, performance, reliability all improve
- Fine-grained evidence-based security
- Code access Role-based
- Integrated with underlying OS
- Security model ensures safety
- No-touch deployment
- XCOPY, no registry required
- Object remoting with SOAP
6CLR Internals
Base Class Library Support
Class Loader
7Framework Classes
- Spans all programming languages
- Enables cross language inheritance and debugging
- Integrates well with tools
- Object-oriented and consistent
- Increases developer productivity by reducing the
number of APIs to learn - Common type system built-in
- Extensible
- Makes it easy to add or modify framework features
- Secure
- Allows creation of secure applications
8.Net Framework ClassesUnified and Comprehensive
API
- System Runtime Functions
- Windows Web Development
- Web Services
- Data Access XML Services
- Networking IO
- Enterprise Services (COM MSMQ)
- Directory Security Services
- Diagnostics, Perf-Mon, Debug
- And many more
9.Net Framework Classes
10Referencing the Framework
11.Net AssembliesCompilation
Source Code
C, C, VB or any .NET language
12.Net Execution ModelCommon Language Runtime
Source code
VB
C
C
Compiler
Compiler
Compiler
Managed code
Common Language Runtime
JIT Compiler
Native Code
Operating System Services
13.NET Security
- Role-based Security
- What the user is allowed to do within the
application - .NET Roles Windows Active Directory groups
- Code Access Security
- What the code is allowed to do on this machine
- Evidence Based (Policies, Permissions, Evidence)
- Cryptography Built In to .NET FX
14Visual Basic .NET
- Evolution, not revolution, of language used by
developers worldwide - Builds on existing technology while adding power
- True OOP
- Multithreading
- NT Services
- Web Services
- The fastest way to build scalable applications
for industry
15Visual C .NET Component Oriented Language
- C is the first component oriented language in
the C/C family - Component concepts are first class
- Properties, methods, events
- Design-time and run-time attributes
- Integrated documentation using XML
- Enables one-stop programming
- No header files, IDL, etc.
- C heritage simplification with no unnecessary
sacrifices
16Visual J .NET
- Native support for XML Web services
- Fully integrated with Visual Studio .NET
development environment - Full access to the .NET Framework
- ASP.NET, ADO.NET, Windows Forms
- Integration with gt20 other languages
- Protection of existing investments
- Use java language syntax on .NET
- Move applications and skills forward
17Visual C .NETContinue to provide most powerful
and flexible language
- Better ANSI/ISO conformance
- Enable seamless, incremental use of .NET
Framework - Enhanced ATL Servers
- Improved ATL and MFC Clients
- Enhanced STL
18.NET Applications
- Web Form Next Generation ASP Page
- Win Form Next Generation Win32 App
- Web Services Key to Interoperability
- Others
- Server Objects
- Console Applications
- Window Services
- Mobile Clients
- Many more
19ASP.NET
- Server-side Web Forms and Web Services components
separate code from content - Developer productivity increases
- Tools easily use ASP.NET
- Any programming language full VB, JScript, C,
COBOL, Perl, etc. - 40 to 70 reduction in lines of code
- Compiled
- No-touch deployment system
- Intelligent state management
- Backwards compatible with ASP
- Controls sense client and adapt output HTML,
DHTML, WML
20What Is an XML Web Service?
- A Component That Uses XML HTTP To Define and
Deliver A Service - Global reach
- Based on open set of standards
- Reuse across platforms
- Works with any operating system, programming
language, or network - Expose legacy code
- Different systems can actually talk
21Web ServicesOpen Standards Protocols
- XML
- Universal data format
- Standards-based integration
- User-customizable
- HTTP
- Ubiquitous protocol
- Universally understood
22VS.NET and Web Services
- Expose functionality as service
- No need to learn XML, SOAP, or WSDL
- Interface is automatically generated
- Seamless deployment
- Reuse existing Web Services
- VS.NET generates the plumbing
- Full IntelliSense support
- Build and consume with any VS language
23Software as a ServiceVisual Studio .Net and the
Net Framework
- Built-in Support for Developing and Consuming Web
Services - Based entirely on open standards
- Automatically generates WSDL
- Automatically provides test page
- Attribute based No heavy coding needed
WebMethod
Public Function HelloWorld() as String return
Hello World End Function
24Windows Forms
- Rich, powerful client UI
- Control anchoring, visual inheritance
- Shared across all .NET languages
- No-touch deployment
- Secure
- Semi-trusted browser component
- Fully-trusted local application
- Full Web Service integration
25.NET (R)Evolutionary
- Evolutionary
- Existing Skills Migrate Smoothly
- Interoperates with Existing Applications
- Extension of WinDNA Architecture
- Revolutionary
- Common Language Runtime
- Deployment / Versioning (Ends DLL Hell)
- Web Services XML Integration
- Evidence Base Code Access Security
265 Key Points to Remember
- Developers can use any .NET Language
- The .NET Framework provides a foundation of
classes for developers to build a wide variety of
applications - Source code is compiled to MSIL within an
Assembly - Assembles contain rich meta data and are the
primary units of deployment - MSIL is compiled to native code and executed by
the Common Language Runtime