Dave Elliman - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Dave Elliman

Description:

Thin. Deployment is trivial. Updating is easy. Remote data is fine. Security ... often use that to build thicker clients or bespoke high quality thinner clients ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 18
Provided by: daveel1
Category:
Tags: dave | elliman | thinner

less

Transcript and Presenter's Notes

Title: Dave Elliman


1
The Presentation Layer
  • Dave Elliman

2
Multi-Tier Architectures
Presentation Layer
Client
Communication Layer
Server(s)
Service Layer
Utility Layer
Business Layer
Persistence Layer
Resource Layer
Database
3
Multi-Tier Architectures
This is a PATTERN
Presentation Layer
Client
Communication Layer
Server(s)
Service Layer
Utility Layer
Business Layer
Persistence Layer
Resource Layer
Database
4
Thick or Thin? The issues
  • Thick
  • Thin
  • Deployment is a problem
  • Updating a difficult
  • Local data a nightmare
  • Security problematic
  • Likely to be fast
  • May not need network
  • Local machine only
  • Rich user experience
  • Deployment is trivial
  • Updating is easy
  • Remote data is fine
  • Security problematic
  • Speed maybe an issue
  • Vulnerable to network
  • Scalable to many clients
  • May be resilient
  • User experience an issue

5
A scale of thinness
  • Desk top application
  • Desk top client with database server
  • Web deployment with Java Swing (Java Web Start,)
    or Active X in Internet Explorer (Dont!) or
    Bespoke solution (e.g Qt).
  • Local run-time sand box, invoked from URL.
    JavaFX, MS SilverLight, Adobe AIR
  • X Server, Citrix Presentation Server
  • Browser with Ajax
  • Browser

6
Which should I choose?
  • Exam question? It all depends on
  • Who, where and how many users
  • The application itself
  • Network availability and speed
  • Security constraints
  • Required portability of client
  • Quality of solution in meeting requirements

7
Personal prejudices
  • I like Trolltech Qt in C and would often use
    that to build thicker clients or bespoke high
    quality thinner clients
  • Python on the server (Zope/Twisted) is highly
    productive
  • My views are not the mainstream choices!
  • Silverlight is compelling and increasingly cross
    platform most browsers (JavaFX clunky, hard to
    get working on Linux)
  • A browser is ok for very simple forms

8
The Presentation Layer
We need a good pattern
?
9
Model View Presenter
Much cleaner but more work!
Saves some effort
10
This is my choiceMVP
Application Logic
Presenter
View
SYNC
View Model
Server(s)?
Client
11
Microsoft WPF
Client
Web Server
Data Server
12
A Simple Example
  • A User Story
  • The teacher logs onto the system and
  • Enters details of a student. These will
  • Include a unique 7 digit student reference,
  • The students surname and forenames.

13
That is in UML
What type of client?
Silverlight?
14
User Authentication
Designed in XAML
15
Authentication is tricky
  • Rich Web / Web 2.0 applications are designed to
    allow rich clients using the HTTP protocol
  • HTTP was not designed with security in mind.
  • HTTP Basic Authentication sends credentials in
    CLEAR TEXT!
  • You simply add an entry to the header in the web
    page to do this

16
Basic Authentication
  • Could use SSL or TSL to avoid plain text
    transmission
  • Could use Digest based authorisation
  • None of these is a good solution as you want to
    authenticate the user and authorize each exchange
    after that
  • .Net Forms Authentication uses encrypted cookies
    and provides an easily used API for
    authentication
  • Spring Acegi is an excellent pattern-based
    solution
  • We end up with an Authentication service maybe
    server

17
Next step is to try it
Next week! Any Questions
Write a Comment
User Comments (0)
About PowerShow.com