Maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen1 Introduktion til.NETs komponentmodel Henrik Lykke Nielsen Softwarearkitekt Microsoft.

Slides:



Advertisements
Lignende præsentationer
Telos Team Introduktion.
Advertisements

Deployment på Windows 7 m.m.
Next Generation Operations Management AutoNOC 2. AutoNOC 2 Business fordele.
Launchy – En Mozilla Extension 9 juni 2005Henrik Gemal Side 1 ● Launchy er en Mozilla extension. Dvs. En udvidelse til Mozilla. ● Virker.
Effektive procedurer med integrerede webservices Applikationer til Office - Smart Clients Case: Digitalt Forvaltningstjek hos Erhvervs- og Selskabsstyrelsen.
Introduktion til ASP.NET 2 Michell Cronberg Microsoft MVP, MCAD TechTalks hos Microsoft.
1 Test – bl.a. med fokus på sharepoint løsninger Automatisering af deploy og test ifm. VSTS •Kort om build jobs med Team Foundation Server •Support for.
Maj 2003Unit tests i.NET – på vejen mod færre fejl !1 Carsten Juel Andersen Softwarearkitekt Mobil: Captator Tlf:
Introduktion til Kursus i Grundlæggende C# programmering
07 – Kort om OO Introduktion.
Mød Microsoft – for udviklere & arkitekter Smart klient som Office-applikation Erik Dibbern Röser Developer & Platform Strategy Group, Microsoft
Sikkerhed/Otto Knudsen 1 Sikkerhed  Sikkerhed i ASP.NET  Autentifikation (Authentication)  Autorisation (Authorization)
Sikkerhed/Otto Knudsen 1 Diagnostics  Debug af web-applikationer.
Public Key kryptering INTRODUKTION TIL KRYPTERING.
1 Build jobs med Team Foundation Server Baseret på 3 måneders erfaringer med Windows Mobile Projekter Baggrund – kort præsentation af projektet og mine.
Cell ● Cell er implementeret vha. intermediate state transfer ● State der skal overføres – Værdi referencen – Delta af versionerne af de værdi-orienterede.
V/ Heine M. Jensen –
Velkommen Lars Johansson ProjectForce. Program: Lidt omkring Athena IT-Group A/S Introduktion til ProjectForce – Microsoft Sharepoint Lidt teori omkring.
System Center Suiten - helhedsbilledet
NetBeans Installation og brug.
DotNET Remoting Præsentation. Beskrivelse af arkitekturen i et dot NET program. Hvad er en Proxy. Klient, server og host begreberne. Marshaling. Eventuelt.
01 – Java platform for starters. 2 NOEA2009Java-kursus – Java Platform Introduktion til Java Baggrund Hvad er Java? Faciliteter i Java.
ASP.NET Cache, State DataGrid og Diagnostics. Agenda – ASP.NET Cache, State og Cookies ( 1 del ) –Cache –Static member –Application State –Session State.
e-Tinglysning WebService Arkitektur
Introduktion til.NET- platformen og version 2.0 Michell Cronberg Microsoft MVP
Mød Microsoft – for udviklere & arkitekter Visual Studio, Express og Team System Niels Hilmar Madsen Microsoft
Eksekvering/Otto Knudsen 1 Udrulning Publicering af en web-applikation.
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
ASP.NET Custom Web Controls Deployment. Agenda – ASP.NET Web User Controls Composite Control Rendered Custom Control Deploy en Web Applikation.
TFS > TFS 2008 migrering Team System ERFA TFS > TFS 2008 migrering.
11.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Processer Oversigt, principper og teknikker Kapitel 11.
1..NET Arkitektur. 2 Nordjyllands Erhvervakademi Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework.
Kort om MIDlet. MIDlet - resourcer Kernen er en begrænset java-maskine: Connected Limited Device Configuration Device afhængig: CLDC 1.0 eller CLDC 1.1.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Kristian F. Thomsen infrastructure specialist i edgemo Claus Egeberg-Gjelstrup infrastructure specialist i edgemo
Uddannelse, marts 2007 Søren Vallø Business Development Manager.
Indhold 1.Hvad er MATRIX Mobil 2.Menu Valg 3.Installation 4.Adgang.
CLR (.NET) og JVM 1.NET vs. Java.NET har fokus på sprog-uafhængighed … Java har fokus på platforms-uafhængighed … Windows OS.NET CLR IL kode (.exe,.dll)
VSTS hos Scan·Jour Implementering af VSTS hos Scan·Jour En udfordring af dimensioner(små og store).
Februar 2003XML web services ved Henrik Lykke Nielsen1 XML web services Henrik Lykke Nielsen Softwarearkitekt Microsoft Regional Director for Danmark
Stig Irming-Pedersen ASP.NET MVC Partner Copenhagen Software.
BlueDoc 2.0 (C) 2003 TMA Components Web-integreret Intranet søgemaskine.
Claus Egeberg-Gjelstrup infrastructure specialist i edgemo
Videregående pc-vejledning Modul 07: Elektronisk post 60+Bornholm.
MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November.
1 USB Gennemgang af installering af USB driver til ICT. Er fortaget på Windows XP.
Introduktion til sikkerhed i.NET Mark S. Rasmussen iPaper ApS
1..NET Arkitektur. Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines.
1. Database-systemer, introduktion
Eksempel på realisering af domænemodel
Udrulning af Windows klienter via AD & RIS Søren Schimkat, Sys.Adm.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
1..NET Arkitektur. 2 Nordjyllands Erhvervakademi Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework.
1 Team Build med Team Foundation Server 2008 Konfiguration og udvidelse af build jobs Kort præsentation Hvorfor bruge Team Build Afvikling af et build.
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
Repetition: Introduktion til OOP med C# og .NET
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
ASP.NET – web site publish. ASP.NET – site-version.
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Web Services. OO (C++/ C#/Java) COM DCOM Web Services.
CRM-rapporter med PowerPivot Henrik Jensen Microsoft Dynamics CRM-arkitekt crmblog.dk.
Sådan programmerer du arduino via Atmel Studio Af Orla Utoft Sørensen Mercantec.
Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
Effektiv vækst - Workshop
Sikkerhed.
WebApi service x.
Problem med at følge de konstant voksende datamængder
Simpel test-client (javascript) Session og Application data
(brug af MVVMStarterLibrary2018)
Præsentationens transcript:

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen1 Introduktion til.NETs komponentmodel Henrik Lykke Nielsen Softwarearkitekt Microsoft Regional Director for Danmark

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen2 Agenda Assemblies Metadata Manifest Identitet - versionering – lokale/globale assemblies Installation og versionering Applikationsmodeller One-click-deployment og dynamisk deployering Sikkerhed Permissions StrongNameIdentityPermission Arkitekturelle overvejelser vedr. deployering

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen3 Hvad var der galt? System32 er begrænset til én version af en fil Registryet er noget rod GUIDs er kopierbar id’er Installation af én applikation kunne få andre i knæ DLL hell Mangel på isolation Mangel på håndtering af versions-afhængigheder Applikationer og komponenter var ikke fuldt ud selvbeskrivende

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen4 Hvad er en assembly? Fundamental (logisk) enhed Samling af moduler og resourcer Moduler - som er kompilerede enheder - indeholder typer og globale metoder Danner grundlag for Genbrug Versionering Deployering Sikkerhed Kan referere andre assemblies Metadata Assembly-manifest refererer andre filer

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen5 CLR Header Metadata MSIL Managed code APP.EXE Manifest Hvad er en assembly?

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen6 Assembly Eksekverbar kode Indeholdt i Portable Executable (PE) filer (DLL, EXE) I form af Intermediate Language (IL) kode Skal have ét entry point (DllMain, WinMain eller Main) Udgør en sikkerhedsafgrænsning Permissions “requestes” og “grantes” for en assembly Udgør en typeafgrænsning En assembly afgrænser scope for typerne defineret deri Typer (og andre resourcer) kan være private eller public Udgør en versionsafgrænsning Typer og resourcer i en assembly versioneres som en enhed

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen7 Manifest Indeholder standard-information om: Navn Versionsnummer Public key Culture information Processor og OS Eksporterede og lokale typer Liste over filerne der udgør assemblyen Referencer til typer og resourcer

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen8 Manifest Customiseret information: AssemblyCompany AssemblyConfiguration AssemblyCopyright AssemblyDefaultAlias AssemblyDescription AssemblyInformationalVersion AssemblyProduct AssemblyTitle AssemblyTrademark F.eks. i AssemblyInfo.vb

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen9 Type beskrivelser Klasser Basis klasser Implementerede interfaces Data members Metoder Name Version Public key Culture Refererede assemblies Sikkerhed Exporterede typer Assembly beskrivelse Metadata i en assembly { Angiver samlet set assemblyens version/identitet

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen10 Identitet Identitet er mange ting... Identitet af assemblies: Assemblyens navn Versionsnummer ( ) Culture Public key token Identitets-informationen findes i manifestet

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen11 Versionering Versionsnumre er en fire-tuppel: AssemblyInfo.vb: (default) * giver autogenerering af manglende værdier: Minor = 0 Build = # dage siden Revision = # sekunder siden midnat / 2 Assemblys identitet: Navn, versionsnr, culture og public key token

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen12 Strong name signering Baseret på private/public key kryptering Calculus.dll IL Metadata Manifest Hash værdi Hash af filen Signeres med nøgle RSA digital signatur Placeres i filen Offentlige nøgle Offentlige nøgle og public key token

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen13 Strong name Består af navn, versionsnr, culture og public key token Lav et public/private key pair: sn –k KeyFile.snk Public key token er en 64-bit hash værdi af den offentlige nøgle System.Reflection.AssemblyKeyFileAttribute Compileren signer hash af assemblyen med den private nøgle, og værdien gemmes sammen med den offentlige nøgle i assemblyen Integritet af filer garanteret af hash værdi Runtimen verificerer strong name signaturen Det er muligt at køre flere forskellige versioner samtidigt (Automatisk) versionssikkerhed eksisterer kun ved strong named assemblies!!

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen14 Installation af assemblies Private assemblies installeres i lokalt directory Shared/public assemblies installeres i og slettes fra GACen med f.eks.: gacutil –i minAssembly.DLL gacutil –u minAssembly.DLL Cache viewer som shell extension (shfusion.dll) Abstraherer fra den underliggende directory struktur C:\Windows\assembly Microsoft.NET Framework Configuration AssemblyCache Brug ikke autogenerering af versionsnumre sammen med GACen!!!

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen15 Global Assembly Cache (GAC) Integritets check Versionering Centraliseret installation af fixes Komponenter med samme identifikation kan opdateres

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen16 Assembly lokalisering Benyt allerede loadet assembly Benyt assembly i GACen Benyt codebase Probing Binding policy Default binding policy Application og machine policy Publisher policy Se evt. MSDN for yderligere info: ”How the Runtime Locates Assemblies”

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen17 Er den i GACen? Findes codebase? Ja Brug codebase Probe App Base [appbase]/[assembly].dll [appbase]/[assembly]/[assembly]..dll Nej Anvend version policy Probe private bin-sti (relativt til App Base) Ikke fundet Fundet Binding fejler Load assembly Ikke fundet Ja “Strong ref” “Weak ref” Fundet Lokalisering af assemblies Ikke fundet

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen18 Installation Private assemblies Shared/public assemblies (GAC) XCOPY / FTP / WHATEVER installation Windows Web CAB filer Windows Installer Visual Studio.NET Setup Project 3. parts installationsprogrammer Microsoft.NET Framework Redistributable

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen19 Web-applikation Windows- applikation WinForms.NET-applikation Eksekveringsmodeller

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen20 Code Access Security Policy

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen21 StrongNameIdentityPermission Scenarie Lave en komponent der kun kan benyttes specifikke applikationer Klienten skal være signet med en specifik nøgle – ellers...

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen22 StrongNameIdentityPermission Komponenten - ProtectedComponent Lav en strong name fil sn –k KeyFile.snk Sign komponenten med KeyFile.snk AssemblyKeyFileAttribute(”KeyFile.snk”) Hent public key’en: secutil –hex –s ProtectedComponent.dll > key.txt Sæt den ind i attributten i komponenten (på klassen) Klienten Sign klienten med KeyFile.snk AssemblyKeyFileAttribute(”KeyFile.snk”)

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen23 Dynamisk deployering One-click-deployment Launcher applikation Dynamisk opdatering af applikation.NET Application Updater Component Kan være et godt udgangspunkt

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen24 Arkitekturelle overvejelser om deployering Undgå for mange og for små komponenter Versionering Uoverskueligt For udviklere For administratorer Interne referencer (Friend i VB, internal i C#) Centraliser kode – ikke nødvendigvis komponenter (filer) Genbrug Vedligehold Lav hjælpe-tools og -komponenter

maj 2003Introduktion til.NETs komponentmodel ved Henrik Lykke Nielsen25 Spørgsmål nyheder, artikler, information,...