Upload
hasad-beasley
View
28
Download
3
Embed Size (px)
DESCRIPTION
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) - PowerPoint PPT Presentation
Citation preview
Objektorienteret netværkskommunikation
Præsentation 1:Introduktion til indhold, litteratur, underviser, undervisnings- og
eksamensform
Ingeniørhøjskolen i ÅrhusSlide 2 af 20
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?
Ingeniørhøjskolen i ÅrhusSlide 3 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 4 af 20
Kontakt info
• Adjunkt Stefan Wagner• Email: [email protected]• Hjemmeside: http://userportal.iha.dk/~sw/• Kontor: 407c• Tlf. 8730 2423
Ingeniørhøjskolen i ÅrhusSlide 5 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 6 af 20
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?
Ingeniørhøjskolen i ÅrhusSlide 7 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 8 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 9 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 10 af 20
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)
Ingeniørhøjskolen i ÅrhusSlide 11 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 12 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 13 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 14 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 15 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 16 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 17 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 18 af 20
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
Ingeniørhøjskolen i ÅrhusSlide 19 af 20
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.
Ingeniørhøjskolen i ÅrhusSlide 20 af 20
Hvad syntes I?
• Hvordan lyder det så?– Er det spændende eller hvad?