net som infrastruktur platform kim vestergaard

Post on 04-Jul-2015

274 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

11 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET som infrastruktur platform

Kim Vestergaard, kim.vestergaaard@teknologisk.dkChefkonsulent, .NET Arkitekterne, Teknologisk Institut

22 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Agenda

Microsoft’s .NET platform vision

Drømmen om SOA

.NET i praksis

Teknologien

Komponentmodellen

Sammenhæng til den ”gamle” verden

Arkitektur på .NET platformen

Middleware teknologierne

.NET i morgen

33 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Microsoft’s .NET platform vision – et citat

.NET is the next evolutionary step for the Microsoft platform

Biggest platform shift since move from DOS to Windows NT

Departure from Win32, classic C++ and MSVBVM60.DLL

Departure from COM and DCOM

Internet standards used from cross-machine integration

Common Language Runtime (CLR) used from same-machine integration

CLR raises programming model to new level of abstraction

Citat: Don Box, Microsoft

44 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Microsoft’s .NET platform vision

Et radikalt skift væk fra den tidligere infrastruktur platform

Arkitekturer sammensættes via distribuerede (og uafhængige) services (SOA)

Stor fokus på XML webservices til at implementere SOA klisteret

.NET platformen som ”total” fundament for ”alt” fra Microsoft.

”Backoffice”, udvikling, andre produkter – alt skal kunne interface mod XML Web Services

55 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Visionen (eller drømmen) om SOA

Services

Servere

Klienter

66 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Visionen – er den realistisk?

?

77 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET platformen – ved lancering

.NET Servers

Winows Server 2000,

SQL 2000

mfl.

.NET My Services

.NET FrameWork

88 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET platformen – nu

.NET Servers

Windows Server 2003 !?

”.NET” Passport

.NET FrameWork 1.1

99 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET platformen – fremtid

.NET Servers:

Windows Server 2005

SQL 2005

BizTalk

SharePoint

m.fl.

Alt mulig med services

SOA

.NET

FrameWork 2.0

(WhidBey)

+++

1010 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

UML

Use Cases

Design Patterns

Objekter/Klasser

Komponentisering

Interfaces

Genbrug

Presentation

Business

Data

Components

Components

Object

Object

Components

.NET i praksis: Fokus på OO

1111 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET i praksis: Fokus på lagdelt arkitektur

Op

eration

al Man

agem

ent

Secu

rity

Co

mm

un

ication

UI Components

UI Process Components

Data Access Logic Components

User Devices

Data Sources

Business Process

Components

Business Components

Business Entities

Users

Presentation

BusinessLogic

DataLayer

Data

Service Interfaces/Façades

Service Agents

Services

1212 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET i praksis: Fokus på XML Web Services

1313 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

ALT den fokus på Web Services?!

Web Services som vidunder universal ”klister”?!

Tjaa, vi har ikke nogensinde været tættere på.

Der er vel et ”men”?

Standardisering, standardisering og endnu mere standardisering!

TANSTAAFL!

1414 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Teknologien i hovedtræk

Sproguafhængig – den eneste gyldige kode er MSIL kode

MSIL eksekveres af CLR’en – en virtuel maskine (som i Java)

JIT kompilering

CLR’en implementerer Garbage Collection

Et GC miljø er ikke altid så ”sikkert” som det ser ud på overfladen.

Fælles stærkt typesystem

Selvbeskrivende typer - via attributter og refleksion

Designet efter OO(P) principper

Meget stort klassebibliotek - sproguafhængigt

1515 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Hvad indeholder teknologien?

Win32Win32

MessageMessageQueuingQueuing

COM+COM+(Transactions, Partitions, (Transactions, Partitions,

Object Pooling)Object Pooling)IISIIS WMIWMI

Common Language RuntimeCommon Language Runtime

.NET Framework Class Library.NET Framework Class Library

ADO.NET: Data and XMLADO.NET: Data and XML

Web ServicesWeb Services User InterfaceUser Interface

ASP.NETASP.NET

Common Language Specification

C++ VB C# …

1616 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Common Language Runtime (CLR)

.NET Framework Class Library Support.NET Framework Class Library Support

Thread SupportThread Support COM MarshalerCOM Marshaler

Type CheckerType Checker Exception ManagerException Manager

MSIL to NativeMSIL to NativeCompilersCompilers

CodeCodeManagerManager

GarbageGarbageCollectionCollection

Security EngineSecurity Engine DebuggerDebugger

Class LoaderClass Loader

1717 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET’s komponentmodel

Baseret på assemblies

Løser det velkendte DLL Helvede

Versionering styres via Strong Naming

Manifest indeholder bl.a. beskrivelse af eksterne afhængigheder, beskrivelse af filerne der udgør assemblyet, beskrivelse af typerne, strong name, mm.

Mindste deployerbare enhed

Fælles (Strong Named) assemblies installeres i GAC’en

1818 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Strong Naming for Assemblies

Navn, versionsnummer, culture og public key token

Signering baseret på private/public key kryptering

Understøtter delayed signing

Hashværdi

digitalsignatur

Public Key

Public Key& public key token

AssemblyManifest

Hash

Signering

digitalsignatur

Kopieres

Private Key

1919 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Understøttelse af mange sprog

Object Orienteret framework

Procedurale sprog er velunderstøttede

Funktionelle sprog er mulige

Mange sprog har været inddraget …også akademiske sprog

I praksis benyttes primært C# og VB.NET

2020 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Mange applikationstyper

Web applikationer

via ASP.NET – et framework i frameworket

Windows applikationer

via WinForms – ”traditionelt” Win32 GUI

Smart Clients

WinForm applikationer der bl.a. kan distribueres via en webserver.

2121 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

ADO.NET: Data og XML

Native understøttelse af XML

Understøttelse af disconnected programmeringsmodel

Typed DataSets

in-memory buffer af databasestrukturer

Bygger på Managed Data Providere

...men ikke kun.

Gyngerne og karusellerne

Fleksibilitet kontra overhead

2222 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Interoperabilitet mellem gammelt og nyt

COM interop – integration mellem COM og .NET

Via CCW og RCW

Vær opmærksom på typer og hastighed

Platform Invoke (PInvoke) – integration mellem Win32 og .NET

Attributstyret

IJW – integration til legacykode via C++ME

MFC, ATL, …

2323 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET Arkitektur

God software arkitektur – hvad er det?

? Det kan have noget at gøre med:

Fleksibilitet

Overskuelighed

Robusthed

Skalérbarhed

2424 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET Arkitektur

Visionen siger SOA

Dvs noget med services, løs kobling, stateless, frigørelse af data logik og gui, …

Der er ikke bred enighed om detaljerne og opbygningen af en sådan.

For mange handler det pt. stadig om modeller for Client/Server, lagdelte arkitekturer osv.

Hint: Microsoft’s P&P serie

UI Components

UI Process Components

Data Access Logic

User Devices

Data Sources

Business Pro. Comp.

Business Comp.

Business Entities

Service Interfaces/Façades

Service Agents

Services

2525 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET Arkitektur - forretnings laget

Microsofts har ikke et produkt der kan kaldes en applikations server...

...funktionaliteten er istedet repræsenteret i et sæt af ”produkter”:

COM+, MSMQ, BizTalk HIS & .NET FW.

Middleware teknologierne er vigtige som aldrig før!

2626 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

COM+

MSMQ

WS

RemotingDCOM

...BizTalk

COM+ anvendes gennem Enterprise Services:

• Transaktioner

• Rollebaseret sikkerhed

• Løst koblede komponenter

• Asynkrone kald

• Objekt pooling

.NET Arkitektur - forretnings laget

2727 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Middleware teknologier iForretnings laget

COM+

MSMQ

WS

RemotingDCOM

...BizTalk

Anvendes gennem COM interoperabilitet

.NET Arkitektur - forretnings laget

2828 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Middleware teknologier iForretnings laget

COM+

MSMQ

WS

RemotingDCOM

...BizTalk

•Messaging Services

•(Dataformat) Mapper

•Business Process Orchestration

.NET Arkitektur - forretnings laget

2929 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Middleware teknologier iForretnings laget

COM+

MSMQ

WS

RemotingDCOM

...BizTalk

•Løs kobling

•Kommunik. med SOA

•Cross platform scenarier

•Integration mod legacy

.NET Arkitektur - forretnings laget

3030 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Middleware teknologier iForretnings laget

COM+

MSMQ

WS

RemotingDCOM

...BizTalk

•Serverside activation

•Client activation - lease

•Performance

•Type Fidelity

.NET Arkitektur - forretnings laget

3131 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Middleware teknologier iForretnings laget

COM+

MSMQ

WS

RemotingDCOM

...BizTalk

COM Interop. mod legacy

.NET Arkitektur - forretnings laget

3232 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET Arkitektur – Design Patterns

Først: Patterns er ikke en silver bullet!

Dernæst: Patterns er et værdifuldt værktøj (i de rigtige hænder)

Findes i mange nuancer:

Arkitektur: Layers, Pipes&Filters, …

GOF: Observer, Strategy, Factory, …

.NET Patterns: God bog fra Christian Thilmany

Pitfall #1: Det er sååå let at komme til at dreje arkitekturen hen så den passer ned i et pattern!

3333 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Hvad siger erfaringen?

.NET frameworket er stort – forvent en “Aha oplevelse”

...men det er oftest indsatsen værd!

Discipliner som anvendere skal mestre helt eller delvist:

Objekt Orientering – specielt omkring design og implementation

Træning med og forståelse for arkitektur og flerlagsmodeller

Forståelse for SOA, XML og Web Services

3434 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET i morgen

Developers Roadmap

Whidbey

Orcas

.NET servere

Yukon

BizTalk 2004

Longhorn

Indigo, Avalon, WinFS

3535 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

MS Developers Roadmap

3636 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

MS Developers Roadmap

Visual Studio 2005 (formerly known as VS 2004 Whidbey ;-)

IDE opgradering•Refactoring•RAD fokus•…

Framework 2.0•Generics•No-Touch deployment•Bedre WSE integration•Generelle forbedringer over hele linien

3737 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

MS Developers Roadmap

Visual Studio 2005 (formerly known as VS 2004 Whidbey ;-)

C# 2.0•Generics•Anonyme metoder•Partielle typer (stærkt sammen med Generics).•Et forbedret iterator begreb

C++ ME•Generel bedre support for CLR kode•Support for Generics & nyt STL•Ny type Handle: MinRefClass ^mr = gcnew MinRefClass()

3838 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

MS Developers Roadmap

Visual Studio ”Orcas”

Support for Longhorn features•Web Service understøttelse: Indigo•Avanceret UI understøggelse: Avalon (XAML)•Storage Services: WinFS

3939 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET servere Yukon – SQL Server

Overskrift: .NET/CLR integration Stored procedures, functions, triggers and user defined types can be

implemented in a .NET language. T-SQL can still be chosen, and will be enhanced. Full .NET support avaliable: OO, exception handling, arrays, namespaces &

classes

Assembly handling Support for WS in database-tier: Yukon can expose WS interfaces without using

IIS High-level support for XML, through new XML types

There will be a lot of new stuff in the next version of ADO.NET

4040 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Longhorn

Longhorn – det næste MS OS

Indigo: The new service oriented programming framework for Longhorn.Indigo is a set of .NET technologies for building and running connected systems.

Quote: ” Indigo marries the best features of .NET Remoting, ASMX, and .NET Enterprise Services into a unified programming and administration model”.

New UI declarative capabilities (codename Avalon - XAML)

Storage services (WinFS)

4141 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

.NET i morgen - resume

.NET Servers:

Windows Server 2005

SQL 2005

BizTalk

SharePoint

m.fl.

Alt mulig med services

SOA

.NET

FrameWork 2.0

(WhidBey)

+++

4242 .NET som infrastruktur platform.NET som infrastruktur platformKim VestergaardKim Vestergaard.NET Arkitekterne, Teknologisk Insti tut

Spørgsmål?

top related