Topical Paper Presentation #07

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
W3C Workshop on Web Services Mark Nottingham
Chapter 8Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Chapter 8 l Basic Exception Handling »the mechanics of exceptions l.
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
James Tam Introduction To Design Patterns You will learn about design techniques that have been successfully applied to different scenarios.
Karlstad University Computer Science Design Contracts and Error Management Design Contracts and Errors A Software Development Strategy (anpassad för PUMA)
Project title Team Members. Project Title Brief description of the project in bullet form.
Presentation By: Brian Mais. What Is It? Content Management Systems(CMS) describes software that manage content, workflow, and collaboration online and.
Topic 7 - Hypothesis tests based on a single sample Sampling distribution of the sample mean - pages Basics of hypothesis testing -
1 Wenguang WangRichard B. Bunt Department of Computer Science University of Saskatchewan November 14, 2000 Simulating DB2 Buffer Pool Management.
Identifiers Identifiers in Java are composed of a series of letters and digits where the first character must be a letter. –Identifiers should help to.
Computer Programming with JAVA Chapter 8. Exception Handling Basic Exception Handling the mechanics of exceptions Defining and Using Exceptions some "simple"
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
JOHN DOE PERIOD 8. AT LEAST 80% OF HUMANITY LIVES ON LESS THAN $10 A DAY.
Lesson 8: The OOP concepts of Polymorphism and Interfaces.
Computer Science Topical Paper Presentation #03 Adam Coffman The Cascading Bridge C a s c a d i n g B r i d g e – P a g e 1 The Cascading Bridge.
AJAX CS456 Fall Examples Where is AJAX used? Why do we care?
Implementing Distribution and Persistence Aspects with AspectJ WAS CLASS.
ASP.Net ICallback Vijayalakshmi G M Senior Trainer Binary Spectrum.
Pertemuan 09 Architectural Patterns Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
JavaScript: API’s, Parameters and Creating Functions with Parameters
OPERATING SYSTEMS CS 3502 Fall 2017
Threaded Programming in Python
Embracing Failure: A Case for Recovery-Oriented Computing
SECURITY PLANNING AND ADMINISTRATIVE DELEGATION
Chapter 6 Section 4.
System Backup IB Computer Science.
On the Duality of Operating System Structures
Design Pattern: Facade
Creating Functions with Parameters
Module 4 Remote Login.
Object-Oriented Systems Analysis and Design Using UML
Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami
Extending Java RMI for Dynamic Reconfiguration
Effective Data-Race Detection for the Kernel
Lecture 28 Concurrent, Responsive GUIs
Whether you decide to use hidden frames or XMLHttp, there are several things you'll need to consider when building an Ajax application. Expanding the role.
FIGURE 9-5 Integer Constants and Variables
Programming Design Patterns
Princess Nourah bint Abdulrahman University
10 Real Numbers, Equations, and Inequalities.
AJAX Robin Burke ECT 360.
CS320n –Visual Programming
Model-View-Controller Patterns and Frameworks
Outline Midterm results summary Distributed file systems – continued
CS 190 Lecture Notes: Wrapup
Object Oriented Design Patterns - Structural Patterns
Web Application Architectures
Creating Functions with Parameters
Chapter 6 – Architectural Design
An Adaptive Middleware for Supporting Time-Critical Event Response
Liveness And Performance
The Great Academia/Industry Grid Debate
COMP60621 Designing for Parallelism
Consistency and Replication
Chapter 0 : Introduction to Object Oriented Design
Refactoring Types Blake Duncan.
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Web Application Architectures
State Design Pattern Brandon Jacobsen.
Computer Science 312 Concurrent Programming I Processes and Messages 1.
CS2013 Lecture 7 John Hurley Cal State LA.
Types of Editorials Opinion Writing.
Web Application Architectures
“The Little Book on Semaphores” Allen B. Downey
(presentor: jee-weon Jung)
Message Passing Systems Version 2
Chengyu Sun California State University, Los Angeles
Message Passing Systems
Presentation transcript:

Topical Paper Presentation #07 Computer Science 490.002 Topical Paper Presentation #07 Pattern Emissary Design Pattern – Page 1 John Jenkins The Emissary Design Pattern “The Emissary Design Pattern” by Ramiro González Maciel LIFIA – La Plata National University, Argentina

The Problem Pattern Emissary Design Pattern – Page 2 One of the major issues with Distributed Systems is code synchronicity. When the client application has certain error codes, the server must be updated accordingly. There must be duplicate error code in both the client and server code. Communication from the server back to the client can be complicated. Multiple solutions are nearly impossible with a massive amount of code and client communication with the server on how to handle an error makes the solution get very complex very quickly. This is a real problem in any Distributed System environment.

The Emissary Design Pattern Pattern Emissary Design Pattern – Page 3 The client makes calls to the server with an additional parameter, an Emissary object. The Server handles calls to it as normal, but, when an error arises, it calls the appropriate handle event within the parameterized Emissary object. All Helper objects may use this Emissary object as well. The ConcreteEmissary objects are the different types of ways that a Server may handle an error.

Real-World Application Pattern Emissary Design Pattern – Page 4 The client is the BigBangOriginCalculator, and it will make calls to the HubbleTelescope, SuperComputerArray, and TriangulationEquipment with at least one parameter of an Emissary object. Each Emissary object describes a different method for handling an error. Rather than having duplicate code for handling and signaling errors on both the client and server sides, one Emissary object can handle a specific method for handling an error, which is created by the client and passed to the server.

Pattern Analysis Pattern Emissary Design Pattern – Page 6 This pattern is extremely useful for code that is already very complex by preventing or removing error handling code. It is allows for a much simpler method of communicating with the client rather than having predefined solutions to errors. Easier implementation of multiple error handling techniques. Overall, his presentation of the material was very well organized, and I feel that this is a very useful pattern. Not only is this pattern applicable in the Distributed Systems world, I would be surprised if it wasn’t used rather regularly.