26
Platforms and tools for Web Services and Mobile Applications Introduction to .Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Embed Size (px)

Citation preview

Page 1: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Platforms and tools for Web Services and Mobile Applications

Introduction to .Net

Bent Thomsen

Aalborg University

3rd and 4th of June 2004

Page 2: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Microsoft .NETWeb services support across the Microsoft platform Web services support across the Microsoft platform

To

ols

To

ols

ClientsClients

ServicesServices

ServersServers

Ex

pe

rien

ces

E

xp

erie

nce

s

& S

olu

tion

s&

So

lutio

ns

v-paulaw
Crop out the white square and "premium" from around the arrows. Leave the white in the oval inside the arrows.Make the arrows wrap around the outside of the big XML oval. We need to show the 4 areas of the .NET nicely. One idea I had was to do the aperture idea we're currently using for Deborah Tom and swirl 4 quadrants in at the center to show they all get swooshed in to the centeral .net connection. Whatever we do on this slide, needs to be supported on teh next slide.
Page 3: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

A Unified Programming Model

Windows API

.NET Framework

Consistent API availability regardless oflanguage and programming model

ASP

Stateless,code embeddedin HTML pages

MFC/ATL

Subclassing,Power and

Expressiveness

VB Object Model

RAD,Composition and

Delegation

Page 4: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Visual Studio .NET and the .NET Framework

Windows Operating SystemWindows Operating System

Common Language RuntimeCommon Language Runtime

Base Class LibraryBase Class Library

ADO .NET and XMLADO .NET and XML

ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services

Mobile Internet ToolkitMobile Internet Toolkit

WindowsWindowsFormsForms

Common Language SpecificationCommon Language Specification

VBVB C++C++ C#C# J#J# ……V

isua

l Stu

dio

.NE

TV

isua

l Stu

dio

.NE

T

Page 5: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Common 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

Page 6: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

CLR: Internals

Class Loader

IL to NativeCompilers

CodeManager

GarbageCollector

Security Engine Debug Engine

Type Checker Exception Manager

Thread Support COM Marshaler

Base Class Library Support

Page 7: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Framework 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

Page 8: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

• 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…

.Net Framework ClassesUnified and Comprehensive API

Page 9: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

System

System.Data (ADO .NET) System.XML

System.Web (ASP .NET)

Globalization

Diagnostics

Configuration

Collections

Resources

Reflection

Net

IO

Threading

Text

ServiceProcess

Security

Design

ADO

SQLTypes

SQL

XPath

XSLT

RuntimeInteropServices

Remoting

Serialization

Serialization

Configuration SessionState

Caching Security

ServicesDescription

Discovery

Protocols

UIHTMLControls

WebControls

System.Drawing

Imaging

Drawing2D

Text

Printing

System.WinForms

Design ComponentModel

.Net Framework Classes

Page 10: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Referencing the Framework

Page 11: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

11

Source CodeSource Code

C++, C#, VB or C++, C#, VB or any .NET any .NET languagelanguage

csc.exe or vbc.execsc.exe or vbc.exeCompilerCompiler

AssemblyAssembly

DLL or EXEDLL or EXE

.Net AssembliesCompilation

Page 12: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

VBVBSource Source codecode

CompilerCompiler

C++C++C#C#

CompilerCompilerCompilerCompiler

Operating System ServicesOperating System Services

Common Language RuntimeCommon Language Runtime

JIT CompilerJIT Compiler

Native CodeNative Code

ManagedManagedcodecode

AssemblyAssemblyIL CodeIL Code

AssemblyAssemblyIL CodeIL Code

AssemblyAssemblyIL CodeIL Code

.Net Execution ModelCommon Language Runtime

Page 13: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

.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

Page 14: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Visual 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

Page 15: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Visual 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

Page 16: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Visual 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 >20 other languages

• Protection of existing investments– Use java language syntax on .NET– Move applications and skills forward

Page 17: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Visual 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

Page 18: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

.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…

Page 19: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

ASP.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

Page 20: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

What 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

Page 21: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Web ServicesOpen Standards & Protocols

• XML– Universal data format– Standards-based integration– User-customizable

• HTTP– Ubiquitous protocol– Universally understood

Page 22: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

VS.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

Page 23: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

• 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

Software as a ServiceVisual Studio .Net and the Net Framework

Public Function HelloWorld() as String

return “Hello World”

End Function

[WebMethod]WSDLWSDL

WebServiceObject

WebServiceObject

TestPage

TestPage

Compiler

Page 24: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

Windows 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

Page 25: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

.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

Page 26: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004

5 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