Slide 1 of 11 © Ingeniørhøjskolen i Århus Presentation 14: Callbacks Objektorienteret Middleware (TIOOMI)

Slides:



Advertisements
Lignende præsentationer
Forskning, formidling og andre færdigheder
Advertisements

Social media marketing: Position of the Nordic Consumer Ombudsmen EU Consumer Summit 1 and 2 April 2014 Henrik Øe Consumer Ombudsman Denmark.
Overskrift her Navn på oplægsholder Navn på KU- enhed For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”.
Overskrift her Navn på oplægsholder Navn på KU- enhed For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”.
Dagens program  Emne: Tim Berners-Lees WWW koncept og deraf følgende innovationer Forbered hver for sig Præsenter og diskutér i grupper Fremlæggelse med.
Forretning og Ledelse lektion 7
Tekst starter uden punktopstilling For at få punkt- opstilling på teksten, brug forøg indrykning For at få venstre- stillet tekst uden punktopstilling,
E-bøger gennem PrioInfo - oversigt v/ Claes Olsson.
Artikel præsentation Kenneth Pedersen DESIGN SCIENCE IN INFORMATION SYSTEMS RESEARCH Hevner, A. R., March, S. T., Jinsoo, P. and Ram, S. (2004)
Overskrift her Navn på oplægsholder Navn på KU- enhed For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”.
Beskyt & bevar kontrol med information CRM LOB ERP Find information, viden & øget indsigt i forretning Enklere samarbejde mellem mennesker Reducerede.
Agenda 1.Informationer 1.Excel i fb.m. projekt 2 2.Reserver tid til projekt 2 3.Øvelse: a / b = c 2.Opsamling fra sidst 3.Estimation (konfidensintervaller)
For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”. Indføj ”Sted og dato” i feltet for dato og ”Enhedens.
Reliable Architecture Ved Henrik Bærbak Christensen Reflective Architectures Emne: reflective architecture overview 11 december 2009.
Stil og smag John Paulin Hansen WEB 1, ITU, marts 2000.
Tekstslide i punktform Rubrik, helst 1 linje Brug ”Forøg/Formindsk indryk” for at få de forskellige niveauer frem Danish Standards  Signe Annette Boegh.
ENTER The Clil4U project has been funded with support from the European Commission. This publication reflects the views only of the author, and the Commission.
Folksonomier: når brugerne samarbejder Eller Folksonomier: Når samarbejde mellem brugere er indlejret i informationssystemerne.
Electric power is electric particles moving through metal, semiconductor or graphite and special fluids (electrolysis). Some kind of gas are able to conduct.
CORBA/e CORBA and Embedded Systems OOMI 27. November 2006.
Institut for Sprog, Kultur og Æstetik Engelsk, semester, Tekstanalyse og -historie Jens Kirk Session One: "An Introduction to the Analysis,
Informationssøgning Eksempler på nyttige hjemmesider.
Forretning og Ledelse – Lektion 7
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester 6, kursusgang Databaser (1) Kjeld Svidt
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Interview service in Statistics Denmark Structure and Surveys.
Saint Ambrose High School. Cut cylinders and cones – Standard Grade If you are sitting an SQA Credit paper in Graphic Communication, you will be required.
Unified Modeling Language
DB analyse og modellering Jesper Tørresø DAB1 F Februar 2008.
OPERATIONEL ANALYSE AF WEBADFÆRD OAW – LEKTIONSGANG 7.
OPERATIONEL ANALYSE AF WEBADFÆRD OAW – LEKTIONSGANG 4.
DIEB10.1 Kursusgang 10 Oversigt: Sidste kursusgang Eksempler på løsning af opgaven Arkitektur for brugergrænsefladen og for systemet Dokumentation af designet.
Dansk Data Arkiv Hans Jørgen Marker IASSIST 2005 DDI and Data Hans Jørgen Marker Senior Researcher Dansk Data Arkiv
 Jens Bennedsen 2002Objektorienteret systemudvikling GRASP mønstre Basale ansvarsplaceringsregler.
ANALYSE AF WEBADFÆRD - OAW OAW – LEKTIONSGANG 4. ANALYSE AF WEBADFÆRD - OAW SUMMARY, LECTURE 3 (Extended) Common Log File Format Host, Ident, Authuser,
Mikkel deMib Svendsen Duplicate Content & Multiple Site Issue Mikkel deMib Svendsen
Omsætning af en model til en RDB Jesper Tørresø DAB1 F Marts 2008.
1 (c) W. J. Dally Digital Design: A Systems Approach Lecture 12: Timing.
GIS and statistical data analysis Copenhagen September 11, 2013.
KØBENHAVNS KOMMUNE Børne- og Ungdomsforvaltningen Socialforvaltningen Inclusion in Copenhagen The Special reform 6 March 2013 Nina Hemmersam, Head of department.
IT-dag den 6/8 Present.me. Present.me - intro Hvad er Present.me? Present.me er et præsentationsredskab Tre muligheder: PowerPoint+lyd PowerPoint+video.
Underoverskrift 17 pkt bold hvid Maks. 2 linjer med respekt for evt logo Indsæt billede >Klik på billedikonet og indsæt billede Efter indsættelse >Højreklik.
Indsæt nyt billede: Format: B 254 x 190,5 mm Efter indsættelse, højreklik på billedet og placér det bagerst. Delete det gamle foto Geodata for Everyone.
Microsoft Danmark Thomas Halse Partner Technology Strategist.
Ledende oversygeplejerske Arne Brehm Høj Afdeling for Operation og Anæstesiologi Sydvestjysk Sygehus.
Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
Ændr 2. linje i overskriften til AU Passata Light 6TH OF OCTOBER 2015 AARHUS UNIVERSITET AU MASTER THESIS INFORMATION MEETING SOFIE VEJE AND JACOB BONDE.
For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”. Indføj ”Sted og dato” i feltet for dato og ”Enhedens.
SCALE-UP DENMARK Tue David Bak Direktør, Innovation & Vækst, Region Sjælland & Formand for Scale-Up Denmark Thank you to the Ambassador, Mrs Louise Jespersen.
Aalborg modellen Problemorienteret og projektorganiseret
IKA e-tænketank 25. August 2016.
Completing secondary education
Dansk HL7 CDA profil til deling af aftaler Data i en aftale
DB analyse og modellering
Oplæg på seminar omkring bosætning i landdistrikterne
Compositional Design Principles “SemiCiv”
Software Testing Software testing.
Denitrification in the root zone
MaaS i Europe Rasmus Lindholm.
Simpel test-client (javascript) Session og Application data
why this period? why not the same as for the international strategy
Hvor er værdien af intern kommunikation?
Resuscitation with an AED
The General Data Protection Regulation
Hvad er god matematik? This slide ends the 1st lesson. Each student has to think of an answer to this question for the 2nd lesson. The slide also begins.
Samspil mellem moderne sygepleje og højteknologi på operationsstuen Profiler, kompetenceniveauer og adaptiv kapacitet Erik Elgaard Sørensen, Professor,
Smart Data Tool (SDT) In Sales
WiseFlow En introduktion i anvendelsen af Wiseflow
The US-China trade war and its consequences
Præsentationens transcript:

Slide 1 of 11 © Ingeniørhøjskolen i Århus Presentation 14: Callbacks Objektorienteret Middleware (TIOOMI)

Slide 2 of 11 © Ingeniørhøjskolen i Århus Outline Motivation Using TTS as example CORBA Callbacks Issues & solutions Alternative solutions

Slide 3 of 11 © Ingeniørhøjskolen i Århus Data Collection & Presentation Server TRS CORBA Object New Reading DB PSP View Readings Classic CORBA Client / Sever model is sufficient for Data Collection & Presentation

Slide 4 of 11 © Ingeniørhøjskolen i Århus Alarm level surveillance Server (TRS) TRS CORBA Object New Reading DB PSP View Readings Problem: The client / server pattern breaks down when we want to notify FROM the server to the client. Solution: Client polling OR peer-to-peer model -> e.g. using Callbacks Present Alarm

Slide 5 of 11 © Ingeniørhøjskolen i Århus CORBA Callbacks CORBA specification: ORB is BOTH client AND server channel Peer-to-peer architecture All client programs may register server objects - e.g. Callback object How-to: TTS: RegisterCallback(ObjRef) -> list of PSP’s PSP: Notify() Callback object should be transient only

Slide 6 of 11 © Ingeniørhøjskolen i Århus Issues Distributed Deadlock If client and server single-threaded Client calls server, server calls client at same time Deadlock – both are blocked, waiting for a response OB: recommends thread-per-request semantics Solutions: Do not make single-threaded applications Problem: not all OS’s support multithreading Inconvenience : multithreading introduces new complexities OR use “oneway” semantics Problem with oneway: –“Maybe” semantics, no return value, no exceptions –Some ORB’s ignores “oneway” and performs a regular synchronized call – but this can be tested Check ORB vendor manual for recommendations!

Slide 7 of 11 © Ingeniørhøjskolen i Århus Other issues (Henning & Vinoski) Callback Persistence Server should store registered callbacks on persistent storage in case of server failure Callback Failure As callback objects are transient, server should employ a “timeout” strategy for callback communication Coupling Callback objects comes at a price of higher coupling

Slide 8 of 11 © Ingeniørhøjskolen i Århus Alternative solutions Event Service Suppliers produces events, consumers receives them through an event channel Push or Pull model Decouples using Mediator pattern & asynchronous communication, and exchanging “Any values” Read more in OOMI-3: chapter 12 Notifcation Service Extends the Event Service Allows the use of well-defined data structures nd_notification_service_visinotify.pdfhttp:// nd_notification_service_visinotify.pdf

Slide 9 of 11 © Ingeniørhøjskolen i Århus Good support for the Event Service & Notifcation Service Source:

Slide 10 of 11 © Ingeniørhøjskolen i Århus Group Assignment 1 Use the rest of todays lesson for group work Each Group Should: Make a pseudo code implementation of a multi-client GPS location system, where each client logs its current location with a “configurable interval”, records it with a single CORBA servant, including its own ID and the “current interval setting” and the local time of the device, while at the same time keeping up to date with the other clients current GPS position utilizing callbacks Consider which patterns might be helpful? Consider what might happen if you implement an xml file on the server for storage. What might go wrong? Discuss how your system might deadlock – and discuss what you could do about it REMEMBER: theres a page 2 here? (see next slide)

Slide 11 of 11 © Ingeniørhøjskolen i Århus Group Assignment 2 Now consider how we might optimize performance, in the case of some clients being located within the same WiFi LAN area, but the server is only available via WAN. Consider also that different groups of clients might be within different WiFi LANs. At home: try to implement a sample CORBA system (e.g. the above) that will deadlock at some point in time (and explain why) Implement a fix to the above CORBA system that will solve the deadlock – and explain why

Slide 12 of 11 © Ingeniørhøjskolen i Århus Læringsmål Alignment 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 CORBA er velegnet Til at lave Callbacks Og dermed Observer pattern. Det er ikke alle Middlewares der er det. CORBA er velegnet Til at lave Callbacks Og dermed Observer pattern. Det er ikke alle Middlewares der er det. MANGLER: hvordan I praktisk omsætter denne viden. Fås ved projekt. CORBA er mere access trans end mange andre fsva Callbacks CORBA er mere access trans end mange andre fsva Callbacks Væsentligt at forstå Callback / Observer Mekasismen som design Instrument. Væsentligt at forstå Callback / Observer Mekasismen som design Instrument.