180 likes | 297 Views
Objektorienteret Middleware. Præsentation 1: Introduktion til indhold, litteratur, underviser, undervisnings- og eksamensform. Indhold i denne præsentation. Underviser Motivation for faget: hvorfor OOMI Hvad kan I i forvejen? Præsentation af: hvad I skal lære (pensum)
E N D
Objektorienteret Middleware Præsentation 1: Introduktion til indhold, litteratur, underviser, undervisnings- og eksamensform
Indhold i denne præsentation • Underviser • Motivation for faget: hvorfor OOMI • 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
Kontakt info • Lektor Stefan Wagner • Email: sw@e.iha.dk • Hjemmeside: http://userportal.iha.dk/~sw • Kontor: 407c • Tlf. 8730 2423
Hvorfor faget OOMI? • Pervasive Computing • Processorer i alting – kommunikation mellem alting? • Egne Protokoller (DDIST, TIDRTS) • Testede ideer (CORBA, SOAP, RMI, COM , .NET Remoting) • Anvendelsesområder • Mobile Kommunikationsprodukter (PDA, mobiltelefon) • Proces- og overvågningsudstyr • Administrative systemer
Historie bag TIOOMI • Oprindelig Teknisk IT TIONK1: • CORBA, Java RMI, Web services, DCOM • Resultat: 5 point føltes som 10 point • Løsning: del faget op i to • ITONK1 til diplomstud., fokus på Web services og RMI • TIOOMI til Teknisk IT med fokus på CORBA og sekundært .NET Remoting • Resultat: • Mere tilfredse studerende • Desværre et vist teoretisk overlap mellem ITONK1 og TIOOMI
Fagets omfang • Objektorienteret middleware (TI-OOMI) • Efterår 2. og 3. semester, 5 ECTS point • OOMI udbydes kun på Teknisk IT uddannelsen, og kan IKKE følges af IKT, ITONK1 kan vælges her i stedet • Altså overbygningsfag • Jeg forventer altså at I arbejder selvstændigt • Stort pensum – men dog kun en flig af hvad kurset kunne (burde) rumme
Læringsmål Når kurset er færdigt forventes den studerende at kunne: • Definere, beskrive og sammenligne forskellige typer af objektorienterede middleware frameworks til apparater og computere, med primær fokus på CORBA og sekundært .NET Remoting teknologierne, herunder fordele og ulemper forbundet med de forskellige teknologier • Definere og beskrive principper omkring transparens og heterogenitet i relation til middlewareteknologier • Definere og beskrive gængse teorier, metoder og retningslinier indenfor det objektorienterede middleware paradigme og anvende disse til at designe effektive distribuerede systemer • Designe og konstruere et distribueret system der gør brug af CORBA og .NET Remoting teknologierne med tilhørende værktøjssupport
Hvad skal I lære – konkret Indhold: • Transparens og heterogenitet i distribuerede systemer • Distribueret objektmodel, livscyklus og arkitektur • Distribuerede applikationer • OMGs Common Object Request Broker Architecture (CORBA) • RPCSuns Remote Method Invocation (RMI) (kun introducerende) • Microsofts .NET Remoting • Microsofts DCOM arkitektur (kun introducerende) • Webservices, XML, SOAP, WSDL (kun introducerende)
Hvordan • OOMI belaster jer med 5 ECTS point der fordeles mellem: • Forberedelse hjemme: læsning og øvelser • Teori forelæsninger i plenum (ca. 2x2x35 min. om ugen) • Jeg gennemgår ikke nødvendigvis det litteratur I allerede har læst • Selvstændige øvelser i LAB på IHA eller derhjemme (2x4x35 min.), herunder også projektarbejde
Øvelser og opgaver • Tre typer opgaver • Korte ikke obligatoriske selvstændige øvelser • F.eks. ”HelloWorld” til C++ CORBA • Materiale udleveres af undertegnede • Ikke obligatoriske at lave – vælg selv – men rimeligt smart • Ved spørgsmål til de obligatoriske opgaver I selv burde kunne have besvaret ved at løse de mindre vil I blive henvist hertil • Ugentlige afleveringer • Er primært delleveringer til de obligatoriske opgaver, men det kan også være obligatorisk forberedelse til gruppearbejde m.v. • Den obligatoriske opgave • Gennemgås nærmere under ”eksamen - opgaver” • Se Campusnet under ”Opgaver”.
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 eller • .NET Remoting • og ikke Java RMI ret godt • er dog kursorisk set et godt køb
Primært Pensum • Pure CORBA • By Fintan Bolton • Hardcover, 944 sider • ISBN: 0672318121 • Published: July 2001 Pure CORBA bogen er IKKE obligatorisk for faget, men giver en rigtig grundig introduktion til CORBA. Hvis du vil være sikker på at kunne dit CORBA pensum indenfor både Java & C++ mapningerne, så er det en god ide at investere i denne. Alternativt kan man anvende andre CORBA bøger. Der findes mange rene C++ bøger på markedet, men du kan supplere med eksempler fra www.javasoft.com, og evt. www.orbacus.com. Det er jeres ansvar at finde passende materiale som erstatning
Pensum – supplerende • Supplerende Pensum: • bruger vi links og diverse mindre kompendier i stedet (herunder uddrag fra Emmerich) (se Campusnet) • specielt i forbindelse med øvelserne vil der blive brugt bl.a. MSDN og Sun ressourcer • intet materiale er færdigt produceret! Jeg retter mit materiale til fra gang til gang da dette er et område med store ændringer • derfor vil det løbende blive lagt online • forhåbentlig rettidigt, ellers må I tilgive mig • Det er altid muligt at finde supplerende materiale på nettet • Links kan findes på kursets hjemmeside • MEN CORBA bliver ikke passende dækket af dette materiale • Derfor skal der købes ekstra litteratur (eller lånes …)
Hvornår og hvor? • Fredage 8 - 14.15. Jeg vil dog foreslå vi starter kl. 9. • Ofte kun 3-4 timers undervisning. • Resten gruppearbejde og vejledning • Vi starter som regel med teori og herefter kan I lave øvelser eller projektarbejde i LAB, grupperum eller derhjemme • Der kan være problemer med at få lov til at installere den software vi gerne vil bruge, specielt problemer med Firewall er velkendte. I finder nok en løsning. • Campusnet – anvendes massivt til meddelelser, kalender, diskussioner, lektionsplan, fildeling, slides • Gennemgang af Campusnet
Eksamen - opgaver • Vi skal lave en obligatoriskopgave involverende OO Middleware. Der arbejdes i grupper af 3 studerende • Emne vil være valgfrit, men skal aftales med undertegnede. Alternativt stiller jeg et projekt der skal løses • Distribueret Patientmonitoringssystem • Teknologier: primært CORBA på forskellige platforme, herefter integreres med .NET Remoting • Brug af .NET Remoting er ”tentacle like”
Eksamen - mundtlig • Individuel mundtlig eksamen efter 7-trins-skalaen • Spørgsmål offentliggøres én uge inden eksamen • Forbered hvert spørgsmål og inddrag eksempler fra jeres rapporter • Erfaringer fra rapporter BØR inddrages under jeres eksamenspræsentation • Max. 2-3 slides, primært i form af figurer – lav en disposition • Rapporter KAN tælle med i vores vurdering
Jeres Erfaringer? • Hvad kender I til OO-middleware • Hvad kender I til CORBA? • Hvad kender I til .NET Remoting?
Til næste uge (fra Campusnet) • Aflevering 1) til næste uge: Under "Konference" findes punktet "Grupper". Her kan du/I oprette jeres gruppe og anføre: alle navne + studienumre på deltagerne (og et stk. mobilnummer på gruppens kontaktperson), samt en kort beskrivelse af jeres projekt. Denne beskrivelse vil jeg så godkende eller kræve ændret til næste gang. Alternativt regner jeg med at I vil lave "standard-projektet" i faget, altså det projekt jeg kommer med oplæg til. Gruppestørrelse på 3 er optimalt, 4 kan gå an. En anden lækker feature ville være et link til et "gruppe web-site", f.eks. oprettet under Campusnet.Alle der ikke på forhånd har en gruppe kan også skrive sig på i form af "søger gruppe".Bemærk alle afleveringer er obligatoriske. Hvis ikke dette blvier gennemført til tiden kan du ikke blive indstillet til eksamen.