Microsoft.NET is software that connects information, people systems and devices.

Like dokumenter
Microsoft.NET & COM. Av Magnus Halvorsen Petter Asskildt Joakim Fiskvik. Signature (unit, name, etc.)

Gruppe 11. Frank Petter Larsen Vegard Dehlen

Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund

P L A N I A 8 S Y S T E M K R A V PLANIA 8 SYSTEM KRAV. Plania 8 Systemkrav.docx av 8

ephorte Integration Services (eis) produktbeskrivelse

CORBA Component Model (CCM)

DCOM. 21. oktober Mai et al. Hva er egentlig en komponent?

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

Distribuerte objekter og objekt-basert mellomvare

Distributed object architecture

INF329,HØST

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare

Web Services. Olav Lysne

Distributed Component Object Model. Utvikling av distribuerte applikasjoner. Utvidelse av COM for støtte av distribuerte objekter

1. Introduksjon til.net

Hentet fra Suns Totorial:

Programmeringsrammeverk som kan installeres på Windows Mobiloperativsystem

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Program delegate. Lage et nytt prosjekt i Visual Studio

ԣ ˢܝ Ί! Delphi 8 for.net!

Tekniske krav. Installasjonsrekkefølge. Operativsystem og web-server. Maskinvare. .Net Framework 2.0. ASP.Net AJAX 1.0

Time-Independent Invocation(TII) and Interoperable Routing

Hva betyr tjenesteorientert arkitektur for sikkerhet?

Innføring i SOAP. Agenda

Argumenter fra kommandolinjen

GraphQL. Hva, hvorfor, hvordan

6105 Windows Server og datanett

Utfordringer til mellomvare: Multimedia

Konsulent-ID: 2225 Curriculum vitae

Løsningsforslag for eksamensoppgave, våren 2004

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

6105 Windows Server og datanett

Tjenestebeskrivelse Webhotelltjenester

Huldt & Lillevik Ansattportal. Installere systemet

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Java RMI. Introduksjon. Markus Foss Hans-Gunnar Vold

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

SAS IN A SOA WORLD MARIUS SOMMERSETH TEAM LEAD TECHNICAL ARCHITECTURE

IN2000. Gjennomgang av tekniske oppgaver på prøveeksamen. Erlend Stenlund og Steffen Almås + innspill fra Gaute Berge

AlgDat 10. Forelesning 2. Gunnar Misund

Socket og ServerSocket

COM. Hva er COM? The Component Object Model. Microsoft sitt rammeverk for å lage og bruke komponenter

Tekniske Krav Aditro Lønn

Object interaction. Innhold. Abstraksjon Grunnleggende programmering i Java Monica Strand 3. september 2007.

Scan Secure GTS PAS

Message Oriented Middleware (MOM) Thomas Filip Andresen Arild Berggren Eivind Bøhn

Installasjonsveiledning, CGM Vision Installasjonskrav. 1 Innhold. 1 Formål. 2.1 Windows. 2.2 Oracle. 2.3 CGM Vision. Oppgradering v4.7 til v4.

Skytjenester (Cloud computing)

CORBA Objektmodell (Java RMI)

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

Web fundamentals. Web design. Frontend vs. Backend Webdesign 17. januar Monica Strand

2 Om statiske variable/konstanter og statiske metoder.

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

Operativsystemer og grensesnitt

OpenCOM. Del av et forskningsprosjekt ved Lancaster University, UK

Generiske mekanismer i statisk typede programmeringsspråk

Huldt & Lillevik Ansattportal. Installere systemet

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

1. Rammeverket i.net Innledning

Kontakt oss i Egroup for mer informasjon!

Klasser, objekter, pekere og UML. INF gruppe 13

Innholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10

Program socket server

PowerOffice Server Service

Litt om Javas class-filer og byte-kode

2 Om statiske variable/konstanter og statiske metoder.

< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»

Atea Klientologi. - Læren om leveranse av innhold til klienter

Til IT-avdelingen. Krav innføring av Visma Samhandling Arkiv. Visma Unique AS Avdeling Oppvekst

Teori om sikkerhetsteknologier

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49

Forelesning inf Java 1

Objekter og referanser

Qt Jambi E t R ammeverks His torie

SuperOffice hurtigstart guide

Programmeringsspråket C Del 3. Hans Petter Taugbøl Kragset

S y s t e m d o k u m e n t a s j o n

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

INF våren 2017

1. Installering av webtjener. Litt teori

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

SQL Server guide til e-lector

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hovedprosjekt i data ved Høgskolen i Oslo våren 2007

PoC Duet. Oppfølging av sykefravær

IN våren 2019 Onsdag 16. januar

IN våren 2018 Tirsdag 16. januar

1. Citrix XenApp introduksjon

Produktinfo WebService. integrasjonsbeskrivelse

Huldt & Lillevik Lønn 5.0. Installere systemet

Huldt & Lillevik Lønn og Personal - System 4. Installasjon. Microsoft SQL 2005 Express. Aditro HRM AS

Identitetshåndtering og Single Sign-On (SSO)

Kapittel 8: Programutvikling

Arkitektur og rammeverk for utvikling i Direktoratet for naturforvaltning. Versjon

Transkript:

Microsoft.NET Hva er.net? Microsoft.NET is software that connects information, people systems and devices. Nr.2 FAQ: What is a.net experience? The Microsoft.NET experience is a dramatically more personal, integrated computing experience using connected Web services delivered through smart devices.???

.NET = det meste 1. Utviklingsverktøy MS Visual Studio.NET 2003 2. Ulike tjenere MS Windows Server 2003 MS SQL Server MS BizTalk Server 3. Klient-software Windows XP MS Office XP Windows CE 4..NET Framework 1.1 cruxet 4..NET-rammeverket Brukes til å lage all slags software....spesielt WEB-baserte applikasjoner Reklamen lover at rammeverket skal: ta seg av mikkmakket med kommunikasjonen, slik at utviklere kan bruke mer tid på forretningslogikken støtte over 20 prg.språk

.NET-rammeverket består av: 1. The common language runtime 2. The.NET Framework class library Standardiserte, plattformuavhengige protokoller: XML SOAP HTTP & TCP 1. The common language runtime (CLR) Virtuell maskin Integrering av prg.språk Sikkerhet Håndtering av Minne Prosesser Tråder

2. Klassebiblioteket Detaljert nettverksprogrammering System.Net.NET Remoting Ett abstraksjonsnivå opp Fullstendig rammeverk for distribuerte applikasjojner System.Runtime.Remoting ASP.NET 3. abstraksjonsnivå Er den delen av.net som utviklere vil ha mest med å gjøre for å lage webtjenester System.Web.Services.NET Framework

ECMA-335 - ISO/IEC 23271 Common Language Infrastructure Definerer rammeverket til.net Common Language Specification (CLS) Common Type System (CTS) Virtual Execution System(VES) Common Language Runtime (CLR) Common Language Specification Definerer funksjonalitet som et språk må støtte for å kunne benytte seg av rammeverket Alle programmeringsspråk innenfor rammeverket er likeverdige

Common Type System Type Value Types Reference Types (identity within app. domain) Built-in Value Types User Defined Self-Describing Interface Pointer Built-In Reference Types (special encoding in signature) Integer Types Enums Name Equivalent Function String Floating Point Types Managed Object Delegates (might be in heap) Typed References Boxed Value Types Unmanaged Boxed Enums Structural Equivalent Arrays Common Language Runtime Virtuell maskin som alle programmer uansett språk kjører i Polymorfe instruksjoner beregnet på JustInTime kompilering Programmer delt opp i Assembly Metadata lagres med metodene Versjonering av metoder

Verifiserbarhet av kode Syntactically correct IL Valid IL Typesafe IL Verifiable IL ECMA-334 - ISO/IEC 23270 C# Java m/ C++-navn på det som eksisterer i begge språkene + div Gjenninføring av ting fra C++: Struct Enum operator overloading C preprosessor makro

Pekere struct Point { public int x; public int y; public override string ToString() { return "(" + x + "," + y + ")"; } } using System; class Test { static void Main() { Point point; unsafe { Point* p = &point; p->x = 10; p->y = 20; Console.WriteLine(p->ToString()); } } } Metadata namespace MyService { [WebService(Namespace="http://www.example.com/webservices/", Description="This is a demonstration WebService.")] public class WebService1 : System.Web.Services.WebService { public WebService1() { InitializeComponent(); } } } [WebMethod] public string HelloWorld() { return "Hello World"; }

Andre språk Tilgang på sitt eget standardbibliotek Ytelse Forms Windows Forms Erstatning for MFC. XML basert GUI. Web Forms Windows Forms for Web. Benytter seg av hvilke operasjoner browseren støtter. Web Services W3C standard

.NET Remoting.NET Remoting.NET Remoting arkitektur Typer distribuerte objekter Kanaler Kall på distribuerte objekter Lifetime leases

.NET Remoting arkitektur Ikke noe nytt: Klienten gjør kallet mot en proxy Proxyen sender kallet videre ned til et kommunikasjonslag Kommunikasjonslaget sender kallet over nettverket til tjenerens kommunikasjonslag..som kaller den aktuelle metoden i objektet Tjenerens komm.lag mottar resultatet fra metodekallet og sender det tilbake til proxyen hos klienten.net Remoting arkitektur

Typer distribuerte objekter To typer distribuerte (eng: remotable) objekter: Marshal by value-objekter Marshal by reference-objekter Marshal by value Objektet ligger på tjeneren Når klienten kaller en metode i objektet serialiseres det, sendes over nettverket og gjenopprettes som en nøyaktig kopi hos klienten Få meldinger sendes over nettet Store objekter gir lang nedlastingstid

Marshal by reference Ligger alltid på tjeneren og alle metoder eksekveres der Klienten kommuniserer med objektet via proxyen, som har objektreferansen Flere meldinger over nettet Bra hvis Objektet er stort Objektet er avhengig av tjener-miljøet for å kunne tilby sin funksjonalitet Kanaler Er objekter Transporterer meldinger mellom applikasjonsdomener, prosesser og maskiner Det fjerne objektet registrerer kanalene sine på tjeneren Klienten velger den kanalen som best tilfredsstiller kravene

En kanal består av: 1. En protokoll 2. En formatterer pluss en port Lagdeling

Protokoll Scope 1. Protokollen Effektivitet Sikkerhet HTTP Bredt. Lett å bruke siden brannmurer vanligvis ikke stopper HTTPkommunikasjon Lav. Mye overhead i protokollen Høy. Hvis fjernobjektene ligger på MS sin ISS-tjener og benytter Secure Sockets Layer, Integrated Windows Authentication eller Kerberos TCP Smalt. Bestemte porter må åpnes i brannmuren; mulig sikkerhetsproblem Høy. Mindre overhead Lav. Sikkerhet må ivaretas av utvikleren (System.Security klassebibliotek) 2. Formattereren Er et objekt Koder og serialiserer data til meldinger før de sendes til en kanal (marshaling) SOAP-formattereren Meldingene kodes med XML ulike arkitekturer Relativt mange bytes pr. melding Den binære formattereren Proprietært binært format for.net Mer kompakte og effektive meldinger

Kanalen: interoperabilitet vs. effektivitet Kall på distribuerte objekter Bare marshal by reference-objekter aktiveres utenfra (marshal by value-objekter kopieres som sagt over til klienten) 1. Server-Activated Objects 2. Client-Activated Objects

1. Server-activated objects Levetiden kontrolleres av tjeneren Når klienten krever en insans av objektet oprettes en proxy hos klienten. Objektet instansieres (aktiveres) på tjeneren først når klienten kaller en metode på sin proxy 2 ulike SAO aktiveringsmåter SingleCall activation mode Ett object opprettes og drepes for hver forespørsel Ingen tilstandsinfo lagres Allokering av tjener-ressurser etter behov Skalerbarhet Singleton activation mode Ett objekt brukes av alle klienter Tilstandsinfo lagres Tilstandsinfoen deles globalt av alle klientene

2. Client-activated objects Levetiden kontolleres av klienten Ett objekt pr. klient Lever mellom hvert metodekall Lagrer tilstand Tilstanden er privat for klienten Større kontroll over hvordan objektet skal være via flere konstruktører fleksibilitet CAO hendelsesforløp 1. Klienten initierer opprettelsen av objektet 2. Serveren instansierer objektet og returnerer et ObjRef-objekt 3. Klienten bruker ObjRef-objektet til å opprette en proxy

Objekttyper: fleksibilitet vs. skalerbarhet Lifetime leases Et objekt lever i en viss tid før.netrammeverket sletter det og tar tilbake minnet. Objektet forlenger sin lease ved at Objektet ber selv om mer tid Objektet mottar et kall Sponsorer: Når leasen utløper kontakter.net-rammeverket andre objekter som har interesse av av vårt objekt fortsetter å leve.

Sikkerhet Sikkerhet Rollebasert sikkerhet sikre riktig brukeridentitet og autorisering av roller Web-applikasjon sikkerhet (ASP.NET) Microsofts Internet Information Server (IIS) for å gi støtte for vanlig HTTPautentisering. Microsoft Passport autentisering Cookie-autentisering URL-autentisering Brukere kan definere endringer

Hendelse-basert sikkerhet Restriksjoner på hva koden kan gjøre Koden kan bare bruke veldefinerte interfacer Sikkerhets policy-systemet sjekker koden ut fra digitale signaturer, URLen, siten eller sonen koden kommer fra, og hva koden selv krever Om koden kan få tilfredsstilt sine minimumskrav, får den lov til å kjøre Usikker kode på Internet vil ikke kunne bruke kode i mer sikker kode installert på maskinen Tillatelse-forespørsel til applikasjonen Man kan også sette på skranker på metoder eller typer Kryptografi.NET-rammeverket inkluderer kryptografi-funksjoner for kryptering, digitale signaturer, hashing og tilfeldig tall-generering..net skal også kunne støtte den nye XML digitale signaturen (XMLDSIG)

Sammenligning mellom.net og andre typer mellomvare Overordnet sammenligning Corba Java middleware COM/DCOM.NET Eksistert siden 1990 Eksistert siden midten av 90-tallet Eksistert nesten like lenge som Corba Relativt nytt Språkuavhengig Støtter kun Java Språkuavhengig Språkuavhengig, foretrekker C# Plattformuavhengig Plattformuavhengig Microsoft Microsoft, men det utarbeides Open Source alternativer. Kongen over interoperabilitet. Tungvint å forene med andre språk, men kan brukes mot IIOP. Liten interoperabilitet. SOAP, XML. God støtte mot DCOM. Gull og grønne skoger loves. Modent og stabilt. Visse skalerbarhetsproblemer. Så stabilt som windows. Uutprøvd Ingen GC Referansetelling Referansetelling Leasing Vanskelig å programmere i Enklere å programmere i enn Corba siden man kun bruker Java En mellomting mellom Corba og Java Enkelt å programmere

.NET sammenlignet med Corba CORBA Er mellomvare Er en standard Har mange ulike implementasjoner.net Er mye mer enn mellomvare Er først og fremst en implementasjon....som har en standard.net sammenlignet med Corba Språkuavhengighet Corba er fullstendig språkuavhengig IDL.NET er språkuavhengig på byte-kodenivå virtuell maskin

.NET sammenlignet med Corba Tilgjengelighet Corba har vært på markedet lenge, det har blitt laget mye software for Corbaspesifikasjoner.NET er fremdeles nytt og bare tilgjengelig for Microsoft-plattformer