Services and Mobile Applications

fizzlargeΑσφάλεια

3 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

73 εμφανίσεις

Platforms and tools for Web
Services and Mobile Applications


Introduction to .Net


Bent Thomsen

Aalborg University

3rd and 4th of June 2004

Microsoft .NET

Web services support across the Microsoft platform

Tools

Clients

Services

Servers

Experiences

& Solutions

A Unified Programming Model

Windows API

.NET Framework

Consistent API availability regardless of

language and programming model

ASP

Stateless,

code embedded

in HTML pages

MFC/ATL

Subclassing,

Power and

Expressiveness

VB Object

Model

RAD,

Composition and

Delegation

Visual Studio .NET and the

.NET Framework

Windows Operating System

Common Language Runtime

Base Class Library

ADO .NET and XML

ASP .NET

Web Forms Web Services

Mobile Internet Toolkit

Windows

Forms

Common Language Specification

VB

C++

C#

J#



Visual Studio .NET

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

CLR:

Internals

Class Loader

IL to Native

Compilers

Code

Manager

Garbage

Collector

Security Engine

Debug Engine

Type Checker

Exception Manager

Thread Support

COM Marshaler

Base Class Library Support

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


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 Classes

Unified and Comprehensive API

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

Runtime

InteropServices

Remoting

Serialization

Serialization

Configuration

SessionState

Caching


Security

Services

Description

Discovery

Protocols

UI

HTMLControls

WebControls

System.Drawing

Imaging

Drawing2D


Text

Printing

System.WinForms

Design


ComponentModel

.Net Framework Classes

Referencing the Framework

11

Source Code

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

csc.exe or vbc.exe

Compiler

Assembly

DLL or EXE

.Net Assemblies

Compilation

VB

Source
code

Compiler

C++

C#

Compiler

Compiler

Operating System Services

Common Language Runtime

JIT Compiler

Native Code

Managed

code

Assembly

IL Code

Assembly

IL Code

Assembly

IL Code

.Net Execution Model

Common Language Runtime

.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

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

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

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

Visual C++ .NET

Continue 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

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

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

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

Web Services

Open Standards & Protocols


XML


Universal data format


Standards
-
based integration


User
-
customizable


HTTP


Ubiquitous protocol


Universally understood


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


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 Service

Visual Studio .Net and the Net Framework

Public Function HelloWorld() as String


return “Hello World”

End Function

[WebMethod]

WSDL

Web

Service

Object

Test

Page

Compiler

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

.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

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