200 likes | 297 Views
Objektorienteret netværkskommunikation. Præsentation 1: Introduktion til indhold, litteratur, underviser, undervisnings- og eksamensform. Indhold i denne præsentation. Hvem er underviseren? Motivation for faget: hvorfor ONK Hvad kan I i forvejen? Præsentation af: hvad I skal lære (pensum)
E N D
Objektorienteret netværkskommunikation Præsentation 1: Introduktion til indhold, litteratur, underviser, undervisnings- og eksamensform
Indhold i denne præsentation • Hvem er underviseren? • Motivation for faget: hvorfor ONK • Hvad kan I i forvejen? • Præsentation af: • hvad I skal lære (pensum) • hvordan (litteratur, øvelser, projektarbejde) • hvornår og hvilken fordeling (mellem øvelser og teori) • hvad I skal kunne til eksamen • Hvilke fag bygger videre på dette?
Underviser CV • Stefan Wagner • Ansat som Adjunkt ved Ingeniørhøjskolen i Århus i august måned 2002 • CV: • Studentereksamen fra SAG • Uddannet fra IHA i 1997 som Ingeniør E-retningen • Egen virksomhed fra 1995-98 • Mærsk Data Food & Agro 1997-2003 (tidligere LEC) • Softwareudvikler (Windows & Internet programmering) • IT Arkitekt • Teknisk Projektleder • Master of Multimedia Science på Århus Universitet • Multimedia Science handler om medier, herunder hypermediesystemer som f.eks. Internettet
Kontakt info • Adjunkt Stefan Wagner • Email: sw@e.iha.dk • Hjemmeside: http://userportal.iha.dk/~sw/ • Kontor: 407c • Tlf. 8730 2423
Hvorfor faget ONK? • Fremtiden er distribueret – men distribution er ikke nyt • Processorer i alting – kommunikation mellem alting? • BlueTooth, WLAN, GPRS, UMTS • Marc Weiser, Poul Dourish – Pervasive Computing • Stort forskningsområde – kraftigt på vej frem i industrien • Det er der teknologier der understøtter • Man kan selv lave protokoller til kommunikation • Det kan I prøve i andre fag • Man kan anvende testede ideer og spare tid + få bedre kvalitet • OO Middleware: SOAP, RMI, CORBA, (D)COM, .NET Remoting • Vigtigt med en god forståelse for teknologierne – mange lighedspunkter • Mange Ingeniører kommer til at anvende disse til: • Kommunikationsprodukter (mobiltelefoner m.v.) • Proces- og overvågningsudstyr - dataopsamling • Administrative systemer • Vigtig Ingeniørdisciplin: at forstå fordele og ulemper ved forskellige teknologier – så man har et godt grundlag til at vælge løsningsmodel • Det får I forhåbentligt ud af ONK • I BLIVER DOG IKKE EKSPERTER
Hvad kan I? • Hvad er distribuerede systemer • giv eksempler på distribuerede systemer • Hvor meget har I nået i jeres kurser indtil nu? • Hvad har I prøvet af objektorienteret netværkskommunikation • Hvilke teknologier? • Java networking API (UDP, TCP?) • C++, C# viden? • Brug 5 minutter på at diskutere med sidemanden • Hvad er Objektorienteret Middleware • giv eksempler på Middleware • giv eksempler på anvendelsen af det • Java RMI – introduktion i JAVA1?
Eksempler – behøver vi nogen? • Lad os starte helt simpelt • Vi har i virkeligheden problemstillingen så snart vi ønsker at program A – på computer 1 - skal tale med program B på computer 2 • Hvordan gør vi det? • Kan vi ikke bare lave noget med UDP eller TCP og så finde på et ”relgsæt” for at overføre data • JO det kan vi – men hvorfor ikke bruge det der findes i forvejen? • Middleware – der findes værktøjer der kan klare arbejdet for os – således at det bliver transparent for udvikleren om der kaldes et lokalt objekt – eller et objekt på en anden maskine: • API’er • Generator værktøjer • Og så kan man vælge at bruge Objektorienteret Middleware • Det gør vi i dette kursus! • Alle der vil noget andet – find et andet kursus
Eksempel på distribueret system - CTR • CTR – det Centrale Tilskuds Register • Samtlige apoteker i DK skal rapportere • Problemstilling: • Mange heterogene systemer • Store datamængder • Vigtigt med høj oppetid (duer ikke at apoteket er ”nede”) • Løsning: • J2EE – Enterprise Java Beans – med CORBA • Flere Servere kan dele belastningen (UNIX) • CORBA er meget åbent - godt for integrationen
Eksempel II - Vestas • Fra foredrag i Dansk Datateknisk Forening: • Kommunikation til styringen i vindmøller • Både internt (5 noder) • Og eksternt til kontrol • Overvejede bl.a. CORBA – men valgte at lave sin egen middleware • Det kan man jo vælge: • Hvis der er råd til det • Hvis man har fornødent overblik • Hvis man tør • Vestas valgte dog at basere sig på litteratur fra et lignende projekt • Morale 1: tænk over hvad du gør – men opfind ikke den dybe tallerken • Morale 2: Middleware koster performance og kan være svært at danse med. Du får tit meget mere end du har behov for – så afstem dine teknologivalg med behovene fra din kravspec
Eksempel III – CHR projekt • CHR Kontrol • Mad Cow Disease • Central database • Forretningslogik spredt mellem UNIX maskiner og Mainfraime – Oracle DB og DB2 (på MVS) (Mainframe teknologi er faktisk også Middleware –bare transaktions orienteret) – CICS eller Tuxedo • Application Server på NT – hoster WAP og SOAP • Klienter: • J2ME mobiltelefoner • MS SmartPhone • PDA • Embedded System til styring af automatiske port system • Logisk afkobling via OO teknologi (nemt for udvikler) • Genbrug fra eksisterende WAP løsning • Middleware kan lettere skiftes ud • Nye klienter kan nemt tilkobles (åbent og heterogent) • Det handler om gode grænseflader (logisk og teknisk set)
Fagets omfang • Objektorienteret netværkskommunikation 1 (ONK1) • 6-7. semester, 5 ECTS point • I er snart færdiguddannede: • Jeg forventer altså at I arbejder selvstændigt • her er gruppearbejde nøglen • Stort pensum – men dog kun en flig af hvad kurset kunne (burde) rumme • Vi når f.eks. ikke at arbejde rigtigt i dybden med nogle af teknologierne – dette ville kræve store længerevarende projekter • Men vi kommer dog godt i gang, og får et solidt fodfæste
Hvad skal I lære ifølge kursusbeskrivelsen? Formål: Den studerende skal kunne • redegøre for de grundlæggende principper og teknikker omkring interproceskommunikation over såvel lokalnetværk som Internettet. • redegøre for principperne omkring transparens og heterogenitet (platforms og programmerings-sprogs uafhængighed) • redegøre for anvendelsen af Java RMI, XML/SOAP (Webservices), herunder forskelle/ligheder, fordele/ulemper teknologierne imellem. Samt på overordnet niveau forstå forskelle og ligheder med teknologierne CORBA og DCOM • anvende objektorienterede teknikker til at designe og programmere netværksforbindelser ved brug af middleware, og bevise dette ved at konstruere og dokumentere to distribuerede systemer der gør brug af én eller flere af ovenstående teknologier
Hvad skal I lære – konkret Indhold: • Transparens og heterogenitet i distribuerede systemer • Distribueret objektmodel, livscyklus og arkitektur • Distribuerede applikationer • Persistens og transaktioner • Remote procedure call (RPC) og Suns Remote Method Invocation (RMI) • Webservices, XML, SOAP, WSDL og UDDI • HERTIL KOMMER EN OVERORDNET INTRODUKTION TIL CORBA og DCOM! Check hjemmesiden for nærmere detaljer
Hvordan • ONK belaster jer med 5 ECTS point der fordeles mellem: • Forberedelse hjemme: læsning og øvelser • Teori forelæsninger i plenum (ca. 2x35 min. om ugen) • Jeg gennemgår ikke nødvendigvis det litteratur I allerede har læst … men i praksis vil der være et overlap • Øvelser i LAB på IHA eller derhjemme (4x35 min.), herunder også projektarbejde • Der anvendes slides af 3 årsager: • 1) Du kan skrive dem ud og bruge dem til at skrive supplerende noter – så ryger din koncentration ikke mens du prøver at skrive fornuftige noter • 2) Hvis du glipper en forelæsning kan du danne dig et indtryk af forelæsningens indhold – og hvad jeg lagde vægt på • 3) Jeg har en forfærdelig håndskrift – så mine tavle kraterier skal helst ikke indeholde alt for meget tekst ; ) • Slides (udover denne) er på engelsk
Pensum - tidligere grundbog • Engineering Distributed Objects • By Wolfgang Emmerich Hardcover, 390 sider • ISBN: 0471986577 • Published: april 2000 • Emmerich bogen giver en solid teoretisk ballast om principperne i moderne Middleware, eksemplificeret ved teknologierne CORBA, COM og RMI, og illustreret ved udstrakt brug af UML. Bogen mangler dog praktiske eksempler, og vil derfor fungerer som fagets grundbog og blive suppleret med artikler og uddrag fra andre bøger med praktiske eksempler. • BRUGES IKKE LÆNGERE !- bogen dækker for bredt • men dækker ikke web services • og ikke Java RMI ret godt • er dog kursorisk set et godt køb
Pensum - alternativ • DERFOR: • bruger vi links og diverse mindre kompendier i stedet (herunder uddrag fra Emmerich) • specielt i forbindelse med øvelserne vil der blive brugt bl.a. MSDN og Sun ressourcer • intet materiale er færdigt produceret! • derfor vil det løbende blive leveret til TB • forhåbentlig rettidigt, ellers må I tilgive mig • Det er altid muligt at finde supplerende materiale på nettet • Links kan findes på kursets hjemmeside
Hvornår og hvor? • mandage fra kl. 13: 6x35 minutter. • Af forskellige årsager vil dette fag eksperimentelt blive samlet på én dag. Studerende kan som regel dog stadigvæk vælge at bruge den isolerede 2x35 min. blok til øvelser • Vi starter normalt med teori og herefter kan I lave øvelser eller projektarbejde i LAB, grupperum eller derhjemme (som I nu bedst kan lide det) • Jeg vil opfordre alle til at prøve at få et grupperum – det er virkeligt værdifuldt • Undervisning i 412 • Der kan være problemer med at få lov til at installere den software vi gerne vil bruge, specielt efter at den nye Firewall er installeret • Campusnet erstatter nu Studienet (på kraftige opfordringer sidste semester) til meddelelser, kalender, diskussioner og generelle information • Introduktion til ONK på Campusnet
Evaluering og Eksamen • Vi skal lave to projektarbejder involverende OO Middleware. Der arbejdes i grupper af 5-6 studerende • Emne vil være valgfrit, men skal aftales med undertegnede. Alternativt stiller jeg et projekt der skal løses • Eksempel: opsamling af temperaturmålinger fra distribuerede måleenheder, der skal gemmes på database, og kunne tilgås via PC og mobilenhed • Teknologi: først SOAP, herefter Java RMI. • Begge opgaver skal afleveres for at kunne komme til eksamen • Mundtlig eksamen efter 13 skalaen, hvor I kommer ind som én gruppe (15 min. for hvert medlem ganget op) • Hele gruppen præsentere i fællesskab projektet • Herefter trækker hver studerende et teori spørgsmål, der skal reflekteres op i mod projekt og pensum • Spørgsmål vil blive offentliggjort 1 uge inden eksamen
Hvilke fag bygger videre på dette? • Vi beskæftiger os ikke med grundlæggende datakommunikation (DKT) • dvs. alt om computernetværk, OSI modellens lag, TCP/IP osv. ved I alt om • Vi roder os heller ikke ind i UDPK’s domæneområde – dvs. I skal ikke selv bokse med at lave jeres egen kommunikationsprotokol til objektorienteret netværkskommunikation • Der skal også være noget til Civilingeniørstudiet, derfor skal I heller ikke lære at bygge jeres eget objektorienterede middleware. Det klarer faget DDist. • CORBA, DCOM og .NET Remoting hører til på kurset Objektorienteret Middleware. • Oprindeligt: OOMI + ONK = ONK = håbløst hårdt • Helst af alt havde jeg set eet 10 points kursus med OOMI og ONK sat sammen.
Hvad syntes I? • Hvordan lyder det så? • Er det spændende eller hvad?