Веб-решение или толстый клиент? – Сравнение, тенденции

advertisement
Веб-решение или Толстый
клиент?
Сравнение, тенденции, архитектура
Иван Бодягин
MAS Elektronik AG
Содержание
• Сравнение и тенденции
–
–
–
–
История развития интерфейсов
Ключевые различия
Тенденции
Применение
• Архитектура приложений с двумя типами
клиентов
–
–
–
–
Варианты архитектур с разными типами клиентов
Самостоятельные клиенты
Разные View в MVC
Разные реализации элементов управления
Развитие Интерфейсов
Ключевые различия
• User Experience (работа в привычной среде)
– Веб-интерфейс менее функционален, но более
разнообразен
• Развертывание
– Нет необходимости развертывать сборки на клиенте
• Разработка
– Проблемы с разнообразием браузеров и неудобством
разработки клиентского кода
• Использование локальных ресурсов
– Локальное хранилище
– Динамичность интерфейса
Тенденции
• AJAX
– Улучшение динамики работы с веб-приложением
• SmartClient
– Упрощение и улучшение развертывания
(ClickOnce)
• Недостатки
– Отсутствие поддержки со стороны поисковых
сервисов
– Неудобство разработки клиентского кода
– Необходимость установки локальных компонент
Применение
• Веб-решение
– Информационное приложение
– Замена «толстого» клиента
• «Толстый» клиент
– Полнофункциональное приложение для решения
прикладных задач
Архитектура приложений с двумя
типами клиентов
Варианты архитектур с разными типами клиентов
Самостоятельные
клиенты
Разные View в
MVC
Разные
реализации
элементов
управления
Самостоятельные клиенты
Web-клиент
Сервер приложений
Win-клиент
Пример архитектуры
Server Zone
Client Zone
IIS
Web
Browser
Web
Web
Browser
Browser
Formatted
Data
Structured
Data
Web Interface
Application
HTTP
Named Pipe
Raw Data
AppServer
WCF
Main Database Specific
Database
Structured
Data
Port 80 Gate
Named Pipe
HTTP
Smart
Smart
Client
Smart
Client
Client
Named Pipe, TCP
NNTP
Formatted
Data
Database Specific
NNTP
NNTP
Client
NNTP
Client
Client
Server
Database
Structured
Data
Named Pipe, TCP, HTTP
Sync Partner
Разные View в MVC
View Contract
Controller
Web
implementation
Model
(DAL)
View
Factory
Win
implementation
MVC
Controller
Model
View
демонстрация
Применение паттерна
MVC => MVP
MVC => MVP
Application
Presenter
Controller
Model
Model
Model
Model
View
Controls Model
Web
Controls
View
Controls
Factory
Win
Controls
Проблемы
• Большой объем работы
• Несовместимость программных моделей
• Postback
Интерактивное взаимодействие
Design Time
Run Time
JavaScript
Язык описания
взаимодействий
Промежуточное
описание
Интерпретатор
Дополнительная информация
• Model-View-Presenter :
– http://www.martinfowler.com/eaaDev/ModelViewPrese
nter.html
– http://www.objectarts.com/Papers/TwistingTheTriad.PDF
• Inversion Of Control (IoC) & Dependency
Injection:
– http://www.martinfowler.com/articles/injection.html
Вопросы?
merle@rsdn.ru
avk@rsdn.ru
http://RSDN.RU
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Download