Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM67 2010 1.

Slides:



Advertisements
Lignende præsentationer
Kort om JavaScript Afvikles i browser på klienten Sendes fra server (php, asp, aspx, htm) eller startes i klient som htm/html fil. Skabelon: –”main” -
Advertisements

Velkommen til Softwarekonstruktion
C# introduktion. using System; Namespace MyFirst { class eks1 { public static void Main() { Console.WriteLine("Hej!"); Console.Write("Skriv dit navn her:
07 – Kort om OO Introduktion.
Distribueret programmering, specielt Web Services Rasmus D. Lehrmann DM
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
Velkommen Lars Johansson ProjectForce. Program: Lidt omkring Athena IT-Group A/S Introduktion til ProjectForce – Microsoft Sharepoint Lidt teori omkring.
DS-kursusgang nr. 6: distribuerede objekter 1. Intro (oversigt over grundl₣ggende begreber og komponenter) 2. De basale designspørgsm ₢ l ved konstruktion.
DotNET Remoting Præsentation. Beskrivelse af arkitekturen i et dot NET program. Hvad er en Proxy. Klient, server og host begreberne. Marshaling. Eventuelt.
Grundlæggende programmering Efterår 2001
1 Filer - intro Data-hierarki Filer og strømme (eng.: streams) af bytes Klasserne File og Directory Oprettelse af sekventiel tekstfil Læsning af data fra.
Objekter og klasser Applikationsdesign Code Namespace Value og reference typer Reference type Rasmus D. Lehrmann1.
Distribueret programming.Net Remoting Hvorfor remoting Marshalling metoder Marshalling modeller MBR Marshalling modeller MBV 1Rasmus D. Lehrmann.
Hvordan man skriver koden.
01 – Java platform for starters. 2 NOEA2009Java-kursus – Java Platform Introduktion til Java Baggrund Hvad er Java? Faciliteter i Java.
PhiStore A Distributed and Policy Based Object Store.
Tietgen Skolen Trick med facadeklasse og serialisering ”Trick” – model ”samles” til eet overordnet objekt Alle klasser i model skal have attriutten [Serializable]
Sockets Logiske endepunkter mellem server og klient På applikationsniveauet betragtes Sockets som pålidelige Sockets optræder parvis Til en Socket er der.
ASP.NET Cache, State DataGrid og Diagnostics. Agenda – ASP.NET Cache, State og Cookies ( 1 del ) –Cache –Static member –Application State –Session State.
Eksekvering/Otto Knudsen 1 Udrulning Publicering af en web-applikation.
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Distribution af funktionalitet Webservice med WCF x.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Distribution af funktionalitet Webservice med WCF x.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Uddannelse, marts 2007 Søren Vallø Business Development Manager.
C# programmering Per P. Madsen Afd. for Proceskontrol
Datastrukturer og Collections Rasmus D. Lehrmann DM
SDP - Repetition Sockets Trådning Delegater Remoting Sprogteori
Effektiv adgang til data Niels Mørck, Carl Bro GIS & IT  Carl Bro GIS og IT  Problemstillingen  Nordjyllands Amts Blanketsystem  Centralisering / decentralisering.
Distribueret programming, specielt Web Services Forskel på.Net og web Forsigtig med arkitektektur SOAP - Simple Object Access Protocol Rasmus D. Lehrmann1.
XML Rasmus D. Lehrmann DM Indhold Hvad er XML? XML standarder Hvor bruges XML? XML struktur Træ struktur Element & Attribute Syntaks i XML Stylesheets.
AJAX/Otto Knudsen 1 AJAX Motivation Definition. AJAX/Otto Knudsen 2 Motivation En typisk web-applikation er synkron klienten sender en forespørgsel og.
To måder at overføre objekt- referencer mellem processer (1) Via naming service - interface RMISolver (2) Som parametre til fjernprocedurekald - interface.
Fundamentale datastrukturer
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
Heterogene distribuerede middlewareteknologier Web Services og Ice.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Objekter og klasser Rasmus D. Lehrmann DM
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Repetition: Introduktion til OOP med C# og .NET
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
Validering af bruger-input i.NET WebForms Valideringsmuligheder i ASP.NET Fordele og ulemper Server-side vs. client-side Formatering vs. Validering.
Begreber og Redskaber 7. Plan for idag Rekursive underprogrammer Rekursive datastrukturer Rekursion vs iteration Rekursivt: Flette sortering.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
ADO.NET Databaser SQL Client (SQL server 7 og senere) OleDb (en række incl. jet) ODBC MySql (ekstra driver skal instaleres) Oracle (XML dataset) Samme.
Uge 14: distribuerede objekter, fjernprocedurekald, RMI Tirsdag: Introduktion Mulige fordele ved distribuerede objekter Introduktion til RMI: - Interfacets.
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Hvad består en distribueret applikation af ? Processer der kører på hver deres maskine Tråde - 1 eller flere "letvægtsprocesser" per proces Objekter i.
Databaseadgang fra C#:
ASP.NET – web site publish. ASP.NET – site-version.
Database.
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
GP3, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 3 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
Tekst filer Tekstfiler opbygges normalt af linier, hvor disse ikke behøver at være samme længde. Når man skal arbejde med tekstfiler, ønsker man metoder.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Web Services. OO (C++/ C#/Java) COM DCOM Web Services.
Indledende Programmering Uge 6 - Efterår 2006
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
1. 2 Overblik HyCon arkitektur –Platform –Komponenter og services –XSLT servlet Chain –Sensorer Den praktiske tilgang HyCon frameworket –Step by Step.
Parallel programming Rasmus D. Lehrmann DM
Cloud Computing Model-View-Controller
Tre lags arkitektur hardware i systemer
Tre lags arkitektur.
Præsentationens transcript:

Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM

Indhold Hvad er.NET remoting? Klienten Serveren.NET Remoting visuelt Marshall by reference SingleCall Singleton Client-activated Object Marshall by value MBV data MBV Kommunikationen Kommunikations kanaler Config file Opsummering 2

Hvad er.NET remoting? 3

Klienten Klienten ser serveren som en assembly. Referencer Kender metoder fra en interface klasse 4

Serveren Indeholder Business og Data Access lag Calculations og Data Reagerer på metode kald Kører som service 5

.NET Remoting visuelt 6

Marshall by reference Marshall by reference (MBR) Objektet eksisterer på serveren Findes som well-known objekt der enten er: – SingleCall – Singleton – Client-Activated Object 7

SingleCall Et nyt objekt oprettes hver gang der bliver lavet et remote kald. Slettes efter brug. Kun 1 klient kan benytte objektet. Bruger en del ressourcer på create og delete af objekter. Ingen transactions problemer 8

Singleton Objekter oprettes ved første remote kald. Objektet bliver ikke slettet igen. Mangler klienter pr. objekt Lavt forbrug af system ressourcer Gentagende kald kan give en forkert return value 9

Client-activated Object CAO objekter hører under MBR. Klienten kan initialiserer objekter på serveren. CAO objekterne bliver oftest returneret til MBR objekter 1-1 forhold 10

Marshall by value Marshall by value(MBV) Server creater objektet, og sender det til clienten. Objektet bliver ikke observed af serveren 11

MBV data 12

MBV Kommunikationen 13

Kommunikations kanaler Requests og objekter bliver kaldt igennem channels En channel benytter sig af en socket stream. – TcpChannel Overfører ved BinaryFormatter Hurtig overførsel – HttpChannel Overfører ved SOAP Sikker overførsel 14

Config file En let måde at ændre stored settings på: – Database connection – Channels – Authorization 15

Eksempel Config file 16

Indlæsning af config file Static void Main(string[] args) { Console.Writeline(”Start service”); String filename RemotingConfiguration.Confugire(filename.false) Console.WriteLine(”Service startet”); Console.ReadLine(); } 17

Opsummering.NET Remoting.NET remoting opbygget – Klient, server Marshalling – SingleCall – Singleton – Client-Activated Object Kommunikation – TcpChannel Overfører ved BinaryFormatter Hurtig overførsel – HttpChannel Overfører ved SOAP Sikker overførsel Bruges til at lave et program der kan afvikles på et system men kører på et andet system også kendt som en tynd klient 18