Microsoft Word Diplomna Rabota V arsova final



Pdf просмотр
страница2/2
Дата12.03.2022
Размер1.69 Mb.
#113876
ТипДиплом
1   2
Diplomna Rabota V Arsova final

Разделянето на модулите
Обикновено умните клиенти се състоят от множество модули разработвани от различни екипи. Някои модули имат връзки помежду си.
Например административния модул използва аутентификационнат услуга предоставена от инфраструктурния модул. За да достъпи тази услуги, административният модул има референция към асемлито на интерфейсния модул. Всеки път, в който се промени инфраструктурният модул, административният трябва да бъде прекомпилиран. Този проблем е разрешен чрез разделяне на модула на две асеблита: интерфейсно и асембли, съдържащо имплементацията. Интерфейсното асембли съдържа: интерфейси на услугите, команди, константи (имена на команди, имена на съобщения, имена на UI extension sites, имена на работни пространства) и бизнес обекта User, който се използва от административния и модула, управляващ проекти. Чрез това разделяне, имплементацията може да се променя, без да се изисква прекомпилиране на зависимите модули. Зависимите модули трябва да се прекомпилират само ако се промени интерфейсното асембли. Разделянето на


99
Примерно приложение интерфейсите от имплементациите за разработеното приложение е показано на фигура 24.
Фигура 24: Разделяне на интерфейсите от имплементацията на модулите
По долу са разгледани проектите във всеки един от модулите
Administration Module папка:
Administration Module – този проект съдържа елементите на потребителският интерфейс и съдържа компонентите свързани с управлението на информацията за потребителите
Administration Module Interface – проекта съдържа наименования на действия, команди, имена на съобщения, UI extension site наименования, и имена на работни пространства, които са публични интерфейси на
Administration Module.
Infrastructure папка:
Infrastructure Interface – съдържа константи, класове и интерфейси, които се използват във всички модули на приложението.
Infrastructure Layout – дефинира структурата на потребителският интерфейс на приложението.
Infrastructure Library – съдържа общи компоненти използвани от модулите. Например съдържа прокси за ауторизационната услуга използвана от административния модул.
Infrastructure Module – проекта съдържа общите услуги за приложение и общи интерфейсни елементи като формата за ауторизация, появяваща се при стратиране на приложението.
Shell
– съдържа скелета на приложението.
В основата на имплементацията стои ShellApplication класа. Този клас наследява от
SmartClientApplicationBase класа в
Infrastracture.Library проекта.
SmartClientApplicationBase създава работният обект и ShellForm. Shell Form е


100
Непостоянно свързани умни клиенти стартиращата форма. Тя се състои от DeckWorkspace обект. Структурата на стартиращата форма се определя от Infrastracture.Layout модула, за да се демонстрира как структурата може да бъде изнесена в отделен модул, тъй че да се ползва и в други приложения.
Task Management папка
Task Management – съдържа Module и Module Controller класове. Класът
Module Controller е отговорен да извърши инициализацията на модула, като добави необходимите услуги и елементи на потребителският интерфейс към скелета. Проекта съдържа всички изгледи и съответстващите им представители за този модул.
Task Management Interface съдържа константи именоващи действия, команди, съобщения, UI extension site и работни пространства, които са публичния интерфейс на Task Management Module.
Task Management Service Agent - съдържа бизнес обектите и логиката обгръщаща уеб услугите. Клиентският код използва TaskManagementService класа да изпълни заявки към уеб услугата, ако клиентът е в офлайн режим, агента за услуги изпълнява заявката спрямо локалното хранилище за данни.
Task Management Service Proxy – този проект съдържа прокси за използваните уеб услуги. Този проект съдържа и класове за извикване на уеб услугата асинхронно с използването на time-out стойности.
5.5.4. Изглед на потока на управление
На фигура 25 е представена диаграма на последователност, показваща използването на агента на услуги. Агента на услуги използва smart Web
Reference, за да изпрати асинхронни уеб заявки.


101
Примерно приложение
Фигура 25: Диаграма на последователност при използването на агент на услуги
5.6. Изглед на разгръщане
Кодът, който се разгръща на работната станция, използва следните програмни блокове на Microsoft Enterprise Library: Caching Application Block,
Exception Handling Block. Изисква още Composite UI Application Block и Object
Builder Application Block. Приложението използва две услуги, те могат да бъдат разгърнати на два отделни сървъра. То използва Click Once за разгръщане, затова е необходим отделен сървър, на който се разполагат файловете необходими за разгръщането. Фигура 26 показва компонентите и тяхното разгръщане.


102
Непостоянно свързани умни клиенти
Фигура 26: Изглед на разгръщане за примерното приложение
5.7. Обобщение
Настоящата глава от дипломната работа разгледа примерен офлайн умен клиент, разработен на базата на Microsoft технологии. Представено бе цялостно решение, включващо база данни, уеб услуги и клиентско приложение.
Разработените WCF уеб услуги са трислойни, за да бъдат максималко гъвкави, и с CRUD интерфейс. Умният клиент е изграден чрез ориентиран към услуги подход. Работата със услугите е централизирана в агент на услуги. Агентът на услугите се грижи за кеширането на данни и офлайн работата. Умният клиент използва шаблоните: Модел Изглед Представител, агент на услуги, асинхронна комуникация с уеб услуги, навигация между изгледи. Шаблоните са разгледани със примери от разработеното приложение.


103
Тестване
6. Тестване
Тестването е важна част от разработването на приложения. При разработването на умни клиенти би трябвало да се използват всички техники за тестване, които се прилагат при настолните приложения и уеб клиентите.
Тестването трябва да включва тестване на единици, реализирано от програмистите. Умните клиенти се разработват по етапно. Отделни тимове изграждат уеб услугите, скелета, отделните модули на приложението. Важно е да се изтестват услугите и интерфейсите, които те предлагат, защото това е контрактът за комуникация с настоящи и бъдещи системи. При тестване на уеб услугите, трябва да се извърши сравнение с данните налични в базата данни, за да се провери дали върнатите данни са коректни. Уеб услугите се определят от wsdl контракти, трябва да се провери, че съобщенията, които се предават и приемат от методите на уеб услугите отговарят на дефинираните в wsdl файла.
При умните клиенти трябва да се приложи модулно тестване и тестване на интеграцията. Тъй като умните клиенти са модулни приложения, трябва да се изтестват модулите самостоятелно отделно един от друг и след това как се държат при едновременна си работа. Всеки от модулите на умния клиент трябва да бъде подложен на функционално тестване, което да осигури, че сценариите дефинирани със случаи на употреба са имплементирани успешно. Трябва да се изяснят изискванията към сигурността, производителността и бързодействието и да се дефинират и изпълнят тест случаи, които ги покриват.
Освен тестване на базата данни, уеб услугите и приложението трябва да се провери и разгръщането. В някои случаи определени обстоятелства могат да пречат на безпроблемното разгръщане или актуализация. Трябва да се изтества разгръщането, за да се потвърди, че то изпълнява първоначално заложените сценарии за разгръщане.
Тъй като тестването е извън обхвата на дипломната работа, тази глава ще дефинира кратък тест план свързан с функционалността заложена в случаите на употреба. Таблица 6 съдържа тест плана за примерното приложение.
Таблица 6: Task Viewer тест план
Тестов случай
Аутентификация и ауторизация с
Предварителни условия
Приложението не е стартирано


104
Непостоянно свързани умни клиенти потребител, който е администратор
Стъпки за тестване
1. Потребителят стартира приложението.
2. Потребителят въвежда потребителско име и парола, за които има валиден потребител с роля администратор
Очакван резултат
Зареждат се административният и приложният модул. Приложението стартира подходящ екран за ролята на актьора
Аутентификация и ауторизация с потребител, който е служител
Предварителни условия
Приложението не е стартирано
Стъпки за тестване
1. Потребителят стартира приложението.
2. Потребителят въвежда потребителско име и парола, за които има валиден потребител с роля служител
Очакван резултат
Зарежда се приложният модул.
Приложението стартира подходящия екран за ролята на актьора
Аутентификация с несъществуващ потребител или с потребител с грешна парола
Предварителни условия
Приложението не е стартирано
Стъпки за тестване
1. Потребителят стартира приложението.
2. Потребителят въвежда грешно потребителско име или парола
Очакван резултат
Системата извежда съобщение за невалиден потребител. При натискане на
Cancel приложението се затваря.
Тестване на функционалността създаване на задача
Предварителни условия
Потребителят е влязъл в модула Task
Manger, и е избрал проект.
Стъпки за тестване
1. Потребителят избира от менюто
Създай нова задача.
2. В отворилата се форма Task, потребителят може да попълни информация за задачата, обобщение, описание, приоритет, човек отговорен за задачата, краен срок за приключване на задачата
3. Потребителят натиска Ok
Очакван резултат
Задачата се създава, появява се във списъка със задачи на проекта
Тестване на функционалността създаване на задача, алтернативен вариант
Предварителни условия
Потребителят е влязъл в модула Task
Manger, и е избрал проект
Стъпки за тестване
1. Потребителят избира от менюто
Създай нова задача.
2. В отворилата се форма Task, потребителят може да попълни информация за задачата, обобщение, описание, приоритет, човек отговорен за задачата, краен срок за приключване на


105
Тестване задачата
3. Потребителят натиска Cancel
Очакван резултат
Прозорецът се затваря и системата не създава задача.
Тестване на функционалността промяна на задача
Предварителни условия
Потребителят е влязъл в модула Task
Manger, заредил е задачите за определен проект.
Стъпки за тестване
1. Потребителят кликва два пъти върху задача, системата зарежда детайлите за задачата.
2. Потребителят променя крайния срок на задачата, човекът отговорен за задачата, приоритета, обобщението, описанието или прогреса.
Формата е подобна на формата за създаване на задача.
3. Потребителят натиска Ok
Очакван резултат
Информацията за задачата се обновява.
Тестване на функционалността промяна на задача, алтернативен вариант
Предварителни условия
Потребителят е влязъл в модула Task
Manger, заредил е задачите за определен проект.
Стъпки за тестване
1. Потребителят кликва два пъти върху задача, системата зарежда детайлите за задачата.
2. Потребителят променя крайния срок на задачата, човекът отговорен за задачата, приоритета, обобщението, описанието и прогреса. Формата е подобна на формата за създаване на задача.
3. Потребителят натиска Cancel
Очакван резултат
Прозорецът се затваря, системата не обновява задачата.
Тестване на функционалността създаване на проект
Предварителни условия
Потребителят е влязъл в модула Task
Manger.
Стъпки за тестване
1. Потребителят избира от менюто
Създай проект.
2. Системата отваря формата
Project. Потребителят въвежда информацията за проекта и натиска Ok.
Очакван резултат
Системата затваря формата и създава проекта
Тестване на функционалността създаване на проект, алтернативен вариант
Предварителни условия
Потребителят е влязъл в модула Task
Manger.
Стъпки за тестване
1. Потребителят избира от менюто
Създай проект.
2. Системата отваря формата
Project. Потребителят въвежда информацията за проекта и натиска Cancel.
Очакван резултат
Системата затваря формата и не създава


106
Непостоянно свързани умни клиенти проекта
Тестване на функционалността преминаване в онлайн режим
Предварителни условия
Потребителят работи в офлайн режим.
Стъпки за тестване
1. Потребителят натиска бутона за преминаване в онлайн състояние.
Системата синхронизира данните си със сървъра.
2. Зареждат се данните от сървъра, които не са били кеширани на клиента, по време на офлайн работата.
Очакван резултат
Системата работи онлайн, данните на клиента са синхронизирани със сървъра.
Индикацията показва, че приложението работи в онлайн режим
Тестване на функционалността преминаване в офлайн режим
Предварителни условия
Потребителят работи в онлайн режим.
Стъпки за тестване
1. Потребителят натиска бутон за работа в офлайн режим. Показва се форма с проектите.
2. Потребителят избира кои проекти да бъдат кеширани на клиента.
3. Потребителя натиска Ok
Очакван резултат
Клиента работи в несвързано състояние.
Само с проектите, които е избрал по рано. Приложението индикира, че клиентът работи в офлайн състояние.
Тестване на функционалността преминаване в офлайн режим, алтернативен вариант
Предварителни условия
Потребителят работи в онлайн режим.
Стъпки за тестване
1. Потребителят натиска бутон за работа в офлайн режим. Показва се форма с проектите.
2. Потребителят избира кои проекти да бъдат кеширани на клиента.
3. Потребителя натиска Cancel
Очакван резултат
Приложението продължава да работи онлайн, индикацията показва, че приложението работи онлайн.
Тестване на функционалността разрешаване на конфликти
Предварителни условия
Настъпил е конфликт. Приложението изкарва форма за разрешаване на конфликти
Стъпки за тестване
Потребителят избира своя или сървърния вариант. Системата запазва този избор.
Очакван резултат
Съхранен е вариантът, който потребителят е избрал на фаза разрешаване на конфликти.


107
Тестване
Тестване на функционалност разглеждане на задачи
Стъпки за тестване
1. Потребителят влиза в модула
Task Manger.
2. Потребителят кликва два пъти върху даден проект. В Task
Summary се зареждат задачите за този проект. Детайлите остават празни.
3. В Task Summary се избира задача, нейните детайли се зареждат в Task Details
Очакван резултат
При влизане в модула: Екранът е разделен на три части. В дясно е показано дърво с всички налични проекти. В дясно екранът е разделен на две, горният е Task Summary, а долният
Task Details двата са празни.
След изпълнение на теста в Task
Summary присъстват задачите за избрания проект, а в Task Details детайлите на избраната задача
Тестване на функционалност преглед на потребители
Стъпки за тестване
1. Потребителят влиза в модулът
User Management
2. Актьорът кликва върху потребител
Очакван резултат
При влизане в модула в дясната горна част се зареждат всичките потребители в системата. User Details частта е празна
При кликването детайлите на потребителят се зареждат в User Details
Тестване на функционалността създаване на потребител
Предварителни условия
Потребителят е влязъл в модула User
Management.
Стъпки за тестване
1. От менюто потребителят избира
Създай нов потребител опция
2. В заредената User форма, актьорът запълва информацията за потребителя.
3. Натиска Ok..
Очакван резултат
Системата затваря прозореца и създава потребителя.
Тестване на функционалността създаване на потребител, алтернативен вариант
Предварителни условия
Потребителят е влязъл в модула User
Management.
Стъпки за тестване
1. От менюто потребителят избира
Създай нов потребител опция
2. В заредената User форма, актьорът запълва информацията за потребителя.
3. Актьорът натиска Cancel.
Очакван резултат
Системата затваря прозореца и не създава потребител
Тестване на функционалността променяне на информацията за потребител
Предварителни условия
Потребителят е влязъл в модула User
Management.
Стъпки за тестване
1. Актьорът кликва два пъти върху името на потребителя.
2. В отворилата се User форма


108
Непостоянно свързани умни клиенти актьорът променя информацията.
3. Натиска бутона Ok
Очакван резултат
Системата затваря формата и обновява информацията за потребителя.
Тестване на функционалността променяне на информацията за потребител, алтернативен вариант
Предварителни условия
Потребителят е влязъл в модула User
Management.
Стъпки за тестване
1. Актьорът кликва два пъти върху името на потребителя.
2. В отворилата се User форма актьорът променя информацията.
3. Натиска бутона Cancel
Очакван резултат
Системата затваря формата без да обновява информацията на потребителя.
В главата се разгледаха типовете тестване, които могат да се приложат, за тестване на умни клиенти. Бе направен кратък тест план за функционално тестване на приложението, който се използва в процеса по осигуряване качеството на приложението. Изпълнението му гарантира, че приложението отговаря на поставените условия.


109
Алтернативни разработки и бъдещи насоки
7. Алтернативни разработки и бъдещи насоки
До тук дипломната работа обсъди какво е умен клиент, проблеми свързани с умните клиенти, проектиране на умен клиент с Microsoft технологии.
В тази глава се разглежда въпросът има ли алтернативи на готовите блокове и фабрики, които предлагат Microsoft. За да му се отговори, се преглеждат инструментите и решенията предлагани от iAnywhere. Втората част от главата показва няколко компании, които използват такъв тип приложения, и причините, които са ги накарали да пожелаят такъв тип софтуер. Последната част предлага различни варианти за разширяване на дипломната работа.
7.1. Алтернативни разработки
Освен Microsoft и други фирми предлагат гама от инструменти и технологии предназначени за създаване на умни клиенти. Една от тях е Sybase iAnywhere. Тук ще направим преглед на случаите, които тя адресира и решенията, които предлага. Те са взети от документа Smart Client Architectures for the Mobile Developer (iAnywhere Solutions, 2006).
Основните архитектури за разработване на умни клиенти, за които iAnywhere предоставя готови технологии, са шест. Първите четири са свързани с начина за управление на данни и типа системи, с които умните клиенти ще се интегрират. Това са:
 Синхронизация на ниво база данни
 Подход, базиран на съхрани и препрати механизма
 Комбинация от синхронизиране на ниво база данни и подход базиран на съхрани и препрати механизъм
 Обмен на данни чрез репликация на файлове iAnywhere предлага две допълнителни архитектури, като варианти комбиниращи предимствата на умния клиент с ползите от разгръщането и гъвкавостта, които са характерни за тънкия клиент.
 Офлайн уеб приложения
 Офлайн уеб приложения със синхронизация на ниво база данни


110
Непостоянно свързани умни клиенти
7.1.1. iAnywhere технологии iAnywhere предлага кръг от технологии, предназначени за разработчиците на умни клиенти, и готови продукти, приложими в мобилни сценарии. За да направят своите мобилни потребители по-продуктивни, компании като Pepsi Bottling Group, McKesson, Britannia Airways, BNSF Railway,
Harvard Medical School и U.S. Military използват продукти разработени с технологиите предоставени от iAnywhere. Два са основните продукти, предлагани от компанията за разработване на умни приложения: SQL Anywhere и M-Business Anywhere.
Пакетът SQL Anywhere осигурява функционалност за управление и синхронизиране на данни, позволяваща бърза разработка и разгръщане на мобилни приложения. Той съдържа:
 SQL Anywhere database server – това е RDBM сървър, който осигурява висока производителност и надеждност. Той включва: обработка на транзакции, поддържа интегритет на референциите,
SQL и Java съхранени процедури, тригери, заключване на редове, автоматично планиране на събития и автоматично възстановяване.
 UltraLite - база данни предназначена за мобилни устройства, с ограничения на паметта. Тя изисква само 150KB памет. Въпреки това UltraLite осигурява функционалност включваща: интегритет на референциите, обработка на транзакции, шифриране и вграден синхронизационен клиент.
 MobiLink – е силен и гъвкав синхронизационен сървър. Използва се за реализиране на синхронизация между бази данни. Той поддържа еднакво добре малък брой от потребители и хиляди, синхронизиращи се едновременно клиента.
 QAnywhere – осигурява съхрани и препрати механизъм за мобилни потребители. Той обогатява MobiLink като му позволява да функционира като сървър за съобщения
M-Business Anywhere е платформа за доставяне на уеб базирано съдържание и уеб приложения на широк кръг от мобилни устройства. С негова помощ се изграждат уеб приложения, които работят локално на мобилното устройство.


111
Алтернативни разработки и бъдещи насоки
7.1.2. iAnywherе решения
За всяка архитектура, iAnywherе дефинира решение, което обхваща: софтуера на мобилният клиент; междинен софтуер, който се налага да бъде използван; софтуера на сървърите в организацията, с които трябва да се извърши интеграция; езиците за разработка, които могат да бъдат използвани за реализиране на необходимото решение; целевите платформи, за които се разработва клиентът и мрежите, които се поддържат. Решенията са наречени обща постановка и за всяка архитектура са систематизирани в таблици.
7.1.2.1. Синхронизация на ниво база данни
Синхронизацията на ниво база данни е вече разгледаният подход, базиран на данни. Решението използва SQL Anywhere и MobiLink. Базата SQL
Anywhere се грижи за консистентността на данните в базите на клиента и на сървъра. Тя осигурява минимизиране на количество предавана информация.
MobiLink филтрира данни по ред и колона. По този начин осигурява, че мобилните потребители разполагат само с данните, от които се нуждаят.
Мобилните приложения могат да бъдат написани с използването на различни езици и инструменти. Устройствата, на които могат да се използват, така разработените решения са: мобилни компютри, таблет компютри , PDA, умни телефони и настолни компютри. Таблица 7 обобщава решението предложено от iAnywhere.
Таблица 7: Обща постановка при синхронизирането на ниво база данни
Тип софтуер
Софтуерно решение
Софтуер, намиращ се на мобилния клиент UltraLite или SQL Anywhere
MobiLink синхронизационен клиент
Mobile software аpplications
Междинен софтуер(Middleware)
MobiLink синхронизационен сървър
Софтуер в организацията
Централната база данни може да е SQL
Anywhere server, Oracle, Microsoft SQL
Server, IMB DB2 или Sybase ASE
Езици за разработка
Мобилното приложение може да бъде разработено на C/C++, VB, VB.NET, C#,
ASP, PHP, Perl, PowerBuilder,
PocketBuilder, Java, Python, Delphi
Поддържани отдалечени платформи
Pocket PC, Palm OS, Smartphones,
Windows, Solaris, Linux
Поддържани мрежи безжични, 802.11, WiFi, W-LAN, GPRS,
GSM, CDMA, CDPD, Ethernet, device


112
Непостоянно свързани умни клиенти cradle, модем, ActiveSync, HotSync
7.1.2.2. Подход, базиран на съхрани и препрати механизъм
Това е разновидност на подхода ориентиран към услуги, имплементиращ съхрани и препрати механизъм. Използва се асинхронна обмяна на съобщения.
Данните се пренасят чрез съобщения, които се кешират първоначално в опашки. Тук обаче, има ценрализиран сървър грижещ се за съобщенията и тяхната обмяна в системата. Всяка опашка има едно или повече приложения, които консумират съобщенията поставената в нея.
Софтуера QAnywhere, част от SQL Anywhere пакета, е решение имплементиращо механизма съхрани и препрати и се грижи за детайлите при работата на приложенията в мобилна и безжична среда. Той позволява на разработчиците да оптимизират производителността, широчината на канала за предаване на съобщения, да компресират предаваната информация и да осигурят гарантирано предаване на съобщенията, независимо от липса на свързаност или системни грешки. QAnywhere се интегрира с всякакви системи за съобщения на ниво организация, поддържа Java Message Service(JMS) като
MQSeries и J2EE приложни сървъри, като IBM WebSphere, BEA WebLogic и
Sybase EAServer. Допълнителни системи могат лесно да бъдат свързани на базата на Sybase Unwired Orchestrator. Таблица 8 обобщава характеристиките на това решение.
Таблица 8: Обща постановка при подхода, базиран на съхрани и препрати механизъм
Тип софтуер
Софтуерно решение
Софтуер, намиращ се на мобилния клиент SQL Anywhere database engine
QAnywhere синхронизационен клиент
Мобилно приложение
Междинен софтуер(Middleware)
MobiLink синхронизационен сървър с
QAnywhere опции
Софтуер в организацията
Всяка базирана на JMS система за съобщения, като MQ Series или JMS базиран приложен сървър, като Sybase
EAServer, BEA WebLogic или IBM
WebSphere
TiBCO, SAP, PeopeSoft, Siebel или други използващи Sybase Unwired Orchestrator
Езици за разработка
Мобилни приложения написани на
C/C++/C#
Поддържани отдалечени платформи
Pocket PC, Smartphones, Windows
Поддържани мрежи безжични, 802.11, WiFi, W-LAN, GPRS,
GSM, CDMA, CDPD, Ethernet, device


113
Алтернативни разработки и бъдещи насоки cradle, модем, ActiveSync, HotSync
7.1.2.3. Комбинация между синхронизация с база данни и подхода съхрани и препрати
Докато едни организации позволяват данните да бъдат синхронизирани на ниво бази данни, други организации контролират промените в базите като изпращат всички изменения чрез междинен бизнес слой работещ на приложен сървър.
При комбинирането на синхронизацията на ниво база данни и съхрани и препрати метода, промените се синхронизират на ниво база данни, но контролът се осъществява от междинния слой. Използва се комбинацията от SQL
Anywhere, MobiLink и QAnywhere. Пълната обща постановка е дадена в таблица
9.
Таблица 9: Обща постановка при метод, комбиниращ синхронизация на ниво база данни и подход съхрани и изпрати
Тип софтуер
Софтуерно решение
Софтуер, намиращ се на мобилния клиент SQL Anywhere database engine
QAnywhere клиент
MobiLink синхронизационен клиент
Междинен софтуер(Middleware)
MobiLink синхронизационен сървър с
QAnywhere опции
Софтуер в организацията
Централизираната база данни може да е
SQL Anywhere server, Oracle, Microsoft
SQL Server, IMB DB2 или Sybase ASE
Изпращане и получаване на съобщения с базирани на JMS системи за съобщения, като MQ Series или JMS базирани приложни сървъри, като Sybase EAServer,
BEA WebLogic или IBM WebSphere
Изпращане и получаване на съобщения с
TiBCO, SAP, PeopeSoft, Siebel или други използващи Sybase Unwired Orchestrator
Езици за разработка
C/C++/C#
Поддържани отдалечени платформи
Pocket PC, Smartphones, Windows
Поддържани мрежи безжични, 802.11, WiFi, W-LAN, GPRS,
GSM, CDMA, CDPD, Ethernet, device cradle, модем, ActiveSync
7.1.2.4. Обмен на данни чрез репликация на файлове
В някои случаи разработчиците използват файлове, за да управляват и обменят информация. Файловете са прост подход за съхраняване на данни. При него отговорността за организирането, управлението на структурата на файла и


114
Непостоянно свързани умни клиенти сигурността му са в ръцете на разработчикът. Файловете с данни могат да бъдат пренасяни от междинния организационен сървър към другите системи в организацията чрез специализирани скриптове и софтуерни програми изпълнявани от Session Manager.
Afaria Session Manager осигурява инструменти за писане на скриптове и се грижи за изпълнението им. Тези скриптове трябва да поддържат репликационния процес, отдалеченото управление на файлове, автоматизирането на комуникационните сесии. Решението базирано на Afaria е систематизирано в таблица 10.
Таблица 10: Обща постановка при обмен на данни чрез репликация на файлове
Тип софтуер
Софтуерно решение
Софтуер, намиращ се на мобилния клиент Afaria клиент със Session Manager
Мобилно софтуерно приложение
Междинен софтуер(Middleware)
Afaria сървър със Session Manager
Софтуер в организацията
Данните могат да бъдат обменяни с други системи чрез специално разработени за тази цел скриптове написани на JScript или VBScript, или специално разработен за тази цел софтуер
Езици за разработка
C/C++, C#, VB, VB.NET,ASP, PHP, Perl,
PowerBuilder, PocketBuilder, Java, Python,
Delphi или други езици за разработка поддържани от отдалеченото устройство
Поддържани отдалечени платформи
Windows CE, Pocket PC (Windows Mobile),
Windows XP, Windows 2000, NT, Windows
95&98, Tablet PC Edition, Palm OS,
Symbian Smartphones, RIM Blackberry
Поддържани мрежи безжични, 802.11, WiFi, W-LAN, GPRS,
GSM, CDMA, CDPD, Ethernet, device cradle, модем, ActiveSync, HotSync
7.1.2.5. Офлайн уеб приложения
Офлайн уеб приложенията комбинират предимствата на умния клиент и архитектурата на тънките клиенти. Офлайн уеб приложението представлява уеб базирано съдържание. То е изградено с използването на стандартни уеб технологии и допълнителни компоненти за достъп до периферията на работната станция. Многоплатформената природа на уеб приложенията гарантира, че приложението, веднъж написано, може да бъде разгърнато на множество от мобилни устройства.
M-Busines Anywhere осигурява платформа за доставяне на уеб базирани приложения на многообразие от мобилни устройства. С негова помощ уеб


115
Алтернативни разработки и бъдещи насоки разработчиците могат да приложат техните знания и опит, за да разработят и разгърнат динамично уеб приложение със sync-and-go механизъм или безжични възможности.
Файловете, изграждащи мобилното приложение, се свалят от един или повече сървъри, където се съхраняват. Промените на данните направени от клиентското приложение се качват автоматично от M-Business Anywhere клиента всеки път, когато мобилно приложение извършва синхронизация.
Офлайн природата на тези приложение позволява на потребителя да продължи да работи с уеб приложението, дори когато мобилното приложение не е свързано към локалната или глобалната мрежа.
Вградените синхронизационни възможности на M-Business Anywhere гарантират, че данните предадени на приложението ще бъдат предадени към уеб сървъра, когато приложението извърши синхронизацията.
Таблица 11: Обща постановка при офлайн уеб приложения
Тип софтуер
Софтуерно решение
Софтуер, намиращ се на мобилния клиент M-Business Anywhere клиент
Междинен софтуер(Middleware)
M-Business Anywhere сървър
Софтуер в организацията
Всякакъв уеб или приложен сървър чрез
HTTP или HTTPS
Siebel 7
XML – форматирани данни
TiBCO, SAP, PeopleSoft, Siebel, и други, които използват Sybase Unwired
Orchestrator
Езици за разработка
DHTML, SSL, HTML 4.01, CSS, XHTML,
DOM, Javascript
Поддържани отдалечени платформи
Pocket PC(Windows mobile), Palm OS,
Windows XP, Windows XP Tablet PC
Edition
Поддържани мрежи безжични, 802.11, WiFi, W-LAN, GPRS,
GSM, CDMA, CDPD, Ethernet, device cradle, модем, ActiveSync
7.1.2.6. Офлайн уеб приложения със синхронизация на ниво база данни
Комбинирането на офлайн архитектурата със синхронизация на ниво база данни дава възможност на офлайн уеб приложенията да предоставят интегритета, скалируемостта и управлението на данни, които се асоциират с подходите, базирани на данни. Таблица 12 обобщава технологиите адресиращи този сценарий.


116
Непостоянно свързани умни клиенти
Таблица 12: Офлайн уеб приложения със синхронизация на ниво база данни
Тип софтуер
Софтуерно решение
Софтуер, намиращ се на мобилния клиент M-Business Anywhere клиент
UltraLite база данни за M-Business
Anywhere
Междинен софтуер(Middleware)
M-Business Anywhere сървър
MobiLink синхронизационен сървър
Софтуер в организацията
Всякакъв уеб или приложен сървър чрез
HTTP или HTTPS
Siebel 7
XML – форматирани данни
TiBCO, SAP, PeopleSoft, Siebel, и други, които използват Sybase
UnwiredOrchestrator
Централизираната базата данни може да е
SQL Anywhere database server, Oracle,
Microsoft SQL Server, IBM DB2 или
Sybase ASE
Езици за разработка
DHTML, SSL, HTML 4.01, CSS, XHTML,
DOM, Javascript
C++ за разработване на POD разширения
Стандартен SQL
Поддържани отдалечени платформи
Pocket PC(Windows mobile), Palm OS,
Windows XP, Windows XP Tablet PC
Edition
Поддържани мрежи безжични, 802.11, WiFi, W-LAN, GPRS,
GSM, CDMA, CDPD, Ethernet, device cradle, модем, ActiveSync
7.2. Компании, използващи умни клиенти dbMotion е софтуерна компания, занимаваща се с медицинска информатика. Нейният софтуер позволява на здравните организации да споделят сигурно медицинска информация чрез създаването на виртуални записи за пациентите. Те позволяват обмяна на информация без да централизират съхранението на данните и не подменят съществуващата информационна система. Чрез споделянето в реално време на текуща информация, медицинския персонал може да прави точни преценки, осигурявайки по-сигурна и ефикасна грижа на пациентите. dbMotion разполага с множество Windows инструменти за разработване и тестване на своята система.
Инструментите нямат единен интерфейс, и са разпръснати в организацията.
DbMotion иска да разработи нов набор от инструменти, за да улесни своите бизнес анализатори и разработчици, като цели по този начин да скъси времето за разработване на отделните части на системата. Тя разполага с уеб услуги,


117
Алтернативни разработки и бъдещи насоки които могат да бъдат консумирани, но едно уеб приложение не може да задоволи напълно нуждите на набора от инструменти, който компанията използва. Компанията иска новият набор от инструменти да използва наличните уеб услуги и да може да се възползва от клиентски ресурси. Решението бе умен клиент изграден чрез CAB, Smart Client Software Factory, кеширащия приложен блок на Microsoft и ClickОnce технологията. Решението бе имплементирано от екип на Unicoders. Първата фаза включваше разработване на скелета на умния клиент и два модула, които могат да бъдат включвани и изключвани от него.
Ползата, която това решение донесе, бе единен подход и потребителски интерфейс за работа с останалите части на системата, намаление на разходите необходими за обучаване на потребителите да работят с отделните инструменти.
Според документа Smart Clients in Business (Microsoft Corporation, 2005) други примери за компании използващи умни клиенти като решение на специфичен проблем, са:
Компанията ICEE произвежда, разпространява и поддържа машини, използвани за правене на замразени стоки, доставя хранителни добавки за хранителната индустрия. Компанията разполага с 450 техници, които се грижат да осигурят безпроблемната работа на сайтовете и поддръжка на множеството от потребители, прекупвачи и магазини, с които тя работи. Проблемът, с който се сблъска ICEE, бе неефективни процеси на комуникация между служителите.
Затова тя реши да автоматизира комуникацията, разпределянето, събирането и таксуването чрез използване на мобилна автоматизирана услуга. Решението бе построено на базата на Mobile Intelligence Platform, която е разработена с помощта Microsoft Visual C# инструменти за разработка и Microsoft .NET
Compact Framework. Ползата, която донесе приложението на ICEE, е придобиването на бързо разгръщаемо и евтино мобилно приложение, което оптимизира мрежовата работа при голяма загуба на пакети и възможност да се свързва с множество видове мрежи: LAN, WLAN и WWLAN.
Amazon.com е една от най-големите електрони библиотеки. Тя е една от компаниите Fortune 500. Amazon смятат, че потребителското доволство, лоялността и продажбите ще се увеличават, ако потребителят може да достъпва сайта им през едни от най-често използваните приложения като Microsoft Word и Мicrosoft Outlook. Решението, на което те се спряха, бе офис умен клиент.


118
Непостоянно свързани умни клиенти
Чрез използването на Microsoft .NET Framework, Amazon.com създава XML базирани документи, които се зареждат в клиентското приложение. То обработва детайлите и вида им, спестявайки време за разработка на други приложения и ресурси. По този начин потребителите могат да пазаруват от
Amazon, без да отварят браузъра, чрез Office пакета на Microsoft. Компанията мисли, че това помага за по-голямото и разрастване.
Една от най-големите компании за анализиране на данни във финансовата сфера в Америка е Thomson Financial. Тя се състои от множество бизнеси, като всеки придобит бизнес работи сравнително независимо от другите, предлагайки свои собствени разработки. Thomson поде инициатива за ново софтуерно решение, наречено Thomson ONE, разработено с помощта на
Microsoft .NET Framework. От една страна Thomson трябваше да поддържат набор от потребители, а от друга разработчици, които да обслужват системата и администратори, които да я разгръщат и поддържат.
Thomson се фокусираха върху разработването на умен клиент на базата на Windows Forms класовете включени в .NET Framework. Ползата, която това приложение донесе, бе намаляване на натоварването на сървърите, тъй като голяма част от обработката на данни се пренесе на клиентските станции.
Натовареността на мрежата се намали и това намали разходите за поддръжка на сървърите и мрежата.
7.3. Бъдещи насоки
Дипломната работа може да бъде разширена в няколко насоки, обхващащи разширяване от гледна точка на необхванати детайли в разработката и такива, които разглеждат подменянето на части на умния клиент с нови технологии и стратегии, в областта на компютърните науки.
Първата глава представи сравнителна характеристика между тънките и умните клиенти. В Таблица 1 са систематизирани основните случаи, за да може тя да бъде използвана като бърз справочник, кой от двата варианта е по- подходящ. Проблемните области на двата типа приложения могат да бъдат разгледани още веднъж и да се потърсят допълнителни потребителски изисквания, които биха повлияли при избора на архитектура.


119
Алтернативни разработки и бъдещи насоки
В отделни части на дипломната работа бяха разгледани бегло отделни аспекти на сигурността на умните приложения. Надеждността и сигурността на данните в едно приложение е комплексен въпрос, към който трябва също да се подходи систематизирано и централизирано. Дипломната работа може да се разшири като се добави допълнителна глава, изцяло посветена на сигурността и нейните аспекти, като авторизация, аутентификация, валидиране на данните, управление на грешки, сигурност на средата и т.н.
В последната глава са включени резултатите от функционалното тестване на разработеното приложение. Главата може да се разшири, като се добави тестване на програмни единици(unit testing).
Умните приложения не са статични, технологията се развива и те трябва да отговарят на новите изисквания и желания на потребителите. Преди около година Microsoft представиха ново поколение операционни системи Windows
Vista (Windows Vista Developer Center), това разбира се, се отрази и на разработваните приложения. Следваща версия на пакета за разработка Visual
Studio е вече в бета версия и тя може да бъде свалена от официалния си сайт
Visual Studio 2008 (Visual Studio 2008 Downloads). Инструментите за разработка са насочени специално за разработка на приложения, възползващи се от нововъведенията в Windows Vista. Подробното им описание може да се намерени на следният сайт (Microsoft, Windows Vista Features). Едно от първите неща, към които ще се ориентират желанията на потребителите, са приложения, възползващи се от интерфейсните подобрения в Windows Vista. Едно от основните предимства на умните клиенти е, че могат да се възползват от богатия десктоп интерфейс. Разгледаната имплементация използва Windows
Forms за реализирането на интерфейса, използва се MVP ( Model View Presenter) подход. Потребителският интерфейс на Vista се базира на Window Presentation
Foundation. Може да се изследва колко време би отнела подмяната на реализираните чрез Windows Forms гранични класове с такива използващи
Window Presentation Foundation(WPF). Новото студио дава възможност за взаимодействие между Windows Forms и WPF като тази функционалност носи кодовото наименование CrossBow. В бъдеща разработка, част от екраните може да се оставят такива каквито са, за да се разгледа как вече съществуващи умни клиенти могат да се възползват от новият потребителски интерфейс, запазвайки съществуващите потребителски форми. Може да се разгледа дали е удачно


120
Непостоянно свързани умни клиенти пренаписване на потребителския интерфейс изцяло с WPF или двата вида работят без проблемно и това би било излишно.
Освен това нововъведение, новото студио предлага редица улеснения при разработката на умни клиенти. В блога си Saurabh Pant (Pant, 2007) разглежда нововъведенията, които предлага новото студио, което носи кодовото название Orcas. ClickOnce технологията, не е вече ограничена само да браузъра на Microsoft Internet Explorer. В новата версия технологията поддържа FireFox.
ClickOnce може да работи вече чрез аутентификационни проксита. Поддържа сценарий за копиране XCopy. Поддръжката за разработка на умни клиенти е вградена в студиото и са изчистени дефектите свързани с тази функционалност.
Новото студио и .NET Framework 3.5 разширява ADO.NET функционалността като добавя синхронизиращи услуги. В бъдеща разработка е подходящо да се разгледа как те могат да се използват и какви ползи носят.
7.4. Обобщение
Освен Microsoft на пазара на готови блокове и технологии за разработване на умни клиенти има множество компании. Умните клиенти са атрактивна ниша, към която те се стремят. Една от тези компании е iAnywhere, която предлага поддръжка на подхода базиран на данни и на подхода ориентиран към услуги. В добавка към архитектурите поддържани от Microsoft, iAnywhere предлага умни клиенти използващи уеб потребителският интерфейс в офлайн режим.
Технологиите за разработването на умни клиенти произлизат от наложената нужда на пазара за такива приложения. Много фирми са избрали вътрешния за компанията софтуер да бъде базиран на идеята за умни клиент приложения. Едни от тях като Pepsi Bottling Group, McKesson, Britannia Airways,
BNSF Railway и Harvard Medical School са избрали решенията на iAnywhere, друга част като dbMotion, ICEE, Amazon и Thomson Financial разчитат на
Microsoft технологиите.
Дипломната работа обхваща голяма част от въпросите вълнуващи разработчиците и софтуерните архитекти, занимаващи се с разработка на умни клиенти. На пазара излизат нови технологии, които се отразяват на разработката на софтуер като WCF, WPF и др. , нови платформи като Windows Vista. Бъдещо


121
Алтернативни разработки и бъдещи насоки разширение на темата може да включва обзор на новите методи и технологии и проблемите свързани с тях. Аспект, който трябва да бъде разширен и систематизиран в отделна глава е сигурността и как тя се отразява на разработката на умни клиенти.


122
Непостоянно свързани умни клиенти
8. Заключение
При разработването на умни клиенти архитектите и програмистите се сблъскват с много въпроси. В някои случаи те са запознати с този термин, а в други това е просто каприз, наложен от клиентите. Кратко време след това, те разбират, че умният клиент е един нов начин на мислене, сравнен с обикновените десктоп приложения. Умният клиент не само използва уеб услуги, но и е многослойно модулно приложения, в чиято имплементация е залегнало слабото свързване между модулите и тесните връзки между класовете в модула.
Smart clients територията е много обширна. Тя обхваща всички аспекти при разработването на декстоп приложения, предимствата на уеб технологиите, адресира въпросите на свързаността и липсата на такава. Умните клиенти са сравнително нова материя и литературата посветена на тях е малко. Дипломната работа прави крачка в систематизирането на аспектите, проблемите и решенията свързани с умните клиенти. Систематизираната информация е представена в текст, таблици и фигури. Дипломната работа се опита да разгледа възможно най-много проблеми и разнообразни варианти за решение им.
Умните клиенти са хибрид между положителните черти на десктоп и уеб приложенията. Microsoft предоставя удобна платформа за разработването им. В зависимост от бизнес целите, Мicrosoft базираните умни клиенти се разработват за десктоп, офис пакет приложения или устройства с малки размери.
Умните клиенти се предпочитат пред уеб приложенията, когато трябва да се предостави офлайн функционалност или интеграция със специализиран софтуер и хардуер. Те не са добро решение, когато целевите потребители са разнородна публика вън от организацията.
Централен аспект на умните клиенти се явяват данните и кеширането. За да бъде успешна имплементацията, проектирането трябва да им обърне сериозно внимание. Трябва да се реализира централизиран подход, чрез изграждането на кешираща инфраструктура. Тя трябва да поддържа техники за съхранение на данните, стратегии за загуба на давност и стратегии за изчистване на кеша. Данните са сравнително постоянни във времето или краткотрайни. Подходящо за краткотрайните данни е оптимистично


123
Заключение противодействащо кеширане за кратък период, а за данните само за четене, предварително дълготрайно кеширане.
Основните подходи при разработване на офлайн умни клиенти са два: базиран на данни и ориентиран към услуги. Подходът базиран на данни използва релационна база данни за поддържането на офлайн функционалността, синхронизирането, заключването и изглаждането на. Разработчикът е отговорен за дефиниране на бизнес правилата. При подхода ориентиран към услуги обаче, разработчикът трябва да се погрижи за много повече аспекти – реализиране на асинхронната комуникация, минимизиране на сложните мрежови взаимодействия, кеширане, отчитане на връзката и промяна на поведението на приложението в зависимост от нея. Подходът базиран на данни, дава бързо като имплементация решение, а подходът базиран на услуги по-гъвкаво решение на цената на допълнителен труд.
CAB и SCSF са удачен избор за разработване на умни клиенти. CAB предоставя ясен подход за изграждане на скелет на приложението, общ за всичко модули, подход за разработване на модули, услуги, локализиращи модулите и готова инфраструктура, за поддържането на такъв модел. SCSF автоматизира еднотипните дейности като по този начин ускорява времето за разработка. Клиентът получава приложението, което е поръчал, в по-кратки срокове и най-вече навреме. Благодарение на сигурността базирани на роли, и профилните каталози, поддържани от CAB и ClickOnce технологията, може да реализират множество разнообразни сценарии за разгръщане. Дипломната работа представи имплементация на примерен умен клиент базиран на Microsoft технологиите.
Пазарът на умни клиенти е ниша, която се експлоатира не от една фирма.
Компанията iAnywhere също предлага на пазара решения насочени към разработването на умни клиенти. Тя също адресира подхода базиран на данни и този на ориентиран към услуги, дава възможност за имплементиране на офлайн функционалност. Множество фирми, като dbMotion, Amazon и др., са се възползвали от предимствата давани от умните клиентите. Удовлетвореността на техните потребители расте, поради удобствата, които те им предоставят като работа в офлайн режим или при слаба свързаност, бързо имплементиране на нови изисквания и гъвкавост на решенията.


124
Непостоянно свързани умни клиенти
9. Използвана литература
1.
Microsoft Corporation. (2006). Selecting a Backing Store. In Enterprise Library
Documentation.
2.
Hill, D. (2 Февруари 2004 r.). What is a Smart Client anyway? Изтеглено на 19
Септември 2007 r. от David Hill’s WebLog: http://blogs.msdn.com/dphill/articles/66300.aspx
3. iAnywhere Solutions. (11 Март 2006 r.). Smart Client Architectures for the Mobile
Developer. Изтеглено на 8 Март 2007 r. от iAnywhere: www.iAnywhere.com
4.
Lasker, S. (16 Декември 2006 r.). Choosing Between SQL Server 2005 Compact
Edition and SQL Server 2005 Express Edition. Изтеглено на 27 Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/sql/editions/compact/sscecomparison.mspx
5.
Microsoft. (11 Юни 2006 r.). .NET Compact Framework 2.0 Service Pack 1
Redistributable. Изтеглено на 19 Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/downloads/details.aspx?familyid=0C1B0A88-59E2-
4EBA-A70E-4CD851C5FCC4&displaylang=en
6.
Microsoft. (20 Ноември 2006 r.). .NET Framework 2.0 Software Development Kit
(SDK). Изтеглено на 19 Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/downloads/details.aspx?familyid=FE6F2099-B7B4-4F47-
A244-C96D69C35DEC&displaylang=en
7.
Microsoft Corporation. (8 Март 2005 r.). Smart Clients in Business. Изтеглено на 26
Септември 2007 r. от Smart Clients in Business White Paper: http://www.microsoft.com/net/smartclient_businessvalue.mspx
8.
Microsoft. (5 Април 2007 r.). Enterprise Library 3.0 – April 2007. Изтеглено на 19
Септември 2007 r. от Enterprise Library: http://www.microsoft.com/downloads/details.aspx?familyid=62ef5f79-daf2-43af-
9897-d926f03b9e60&displaylang=en
9.
Microsoft. (22 Януари 2006 r.). Microsoft .NET Framework Version 2.0. Изтеглено на 19 Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-
4B0D-8EDD-AAB15C5E04F5&displaylang=en
10.
Microsoft. (н.д.). Microsoft Visual Studio 2005. Изтеглено на 19 Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/bulgaria/vstudio2005/default.mspx
11.
Microsoft Patterns & Practices. (2004). Smart Client Architecture and Design Guide.
Microsoft Press.


125
Използвана литература
12.
Microsoft. (12 Май 2005 r.). Smart Client – Composite UI Application Block.
Изтеглено на 19 Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/downloads/details.aspx?familyid=7b9ba1a7-dd6d-4144-
8ac6-df88223aee19&displaylang=en
13.
Microsoft SQL Server. (2005). Изтеглено на 21 Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/sql/default.mspx
14.
Microsoft. (23 Февруари 2007 r.). Web Service Software Factory. Изтеглено на 19
Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/downloads/details.aspx?familyid=db996113-6e92-4894-
9b7e-0debb614d72f%20&displaylang=en
15.
Microsoft. (2007). Windows Mobile 6. Изтеглено на 20 Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/windowsmobile/6/default.mspx
16.
Microsoft. (1 Май 2007 r.). Windows Mobile 6 Professional and Standard Software
Development Kits Refresh. Изтеглено на 20 Септември 2007 r. от http://www.microsoft.com/downloads/details.aspx?familyid=06111a3a-a651-4745-
88ef-3d48091a390b&displaylang=en
17.
Microsoft. (н.д.). Windows Vista Features. Изтеглено на 26 Септември 2007 r. от www.Microsoft.com: http://www.microsoft.com/windows/products/windowsvista/features/default.mspx
18.
MSDN. (2005). Click Once Deployment. Изтеглено на 19 Септември 2007 r. от http://msdn2.microsoft.com/en-us/library/t71a733d(vs.80).aspx
19.
MSDN. (Юни 2006 r.). Mobile Client Software Factory – July 2006. Изтеглено на
20 Септември 2007 r. от http://msdn2.microsoft.com/en-us/library/aa480471.aspx
20.
MSDN. (2005). Smart Client – Composite UI Application Block. Изтеглено на 19
Септември 2007 r. от http://msdn2.microsoft.com/en-us/library/aa480450.aspx
21.
MSDN. (Май 2007 r.). Smart Client Software Factory. Изтеглено на 19 Септември
2007 r. от MSDN: http://msdn2.microsoft.com/en-us/library/aa480482.aspx
22.
MSDN. (н.д.). Visual Studio Tools for Office. Изтеглено на 19 Септември 2007 r. от Visual Studio Tools: http://msdn2.microsoft.com/en-us/office/aa905533.aspx
23.
MSDN. (Декември 2006 r.). Web Service Software Factory. Изтеглено на 19
Септември 2007 r. от http://msdn2.microsoft.com/en-us/library/aa480534.aspx
24.
Noyes, B. (2006). Smart Client Deployment with ClickOnce - A Developers Guide to
Deploying Windows Forms Applications. Addison-Wesley Professional .
25.
Pant, S. (26 Март 2007 r.). Smart Client: Whats new in Orcas? Изтеглено на 26
Септември 2007 r. от Saurabh Pant's Web Log: http://blogs.msdn.com/saurabh/archive/2007/03/26/smart-client-whats-new-in- orcas.aspx


126
Непостоянно свързани умни клиенти
26.
Patterns & Practices: Web Service Software Factory - Home. (2007). Изтеглено на
19 Септември 2007 r. от CodePlex: http://www.codeplex.com/servicefactory
27.
Visual Studio 2008 Downloads. (н.д.). Изтеглено на 26 Септември 2007 r. от
MSDN: http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx
28.
Windows Vista Developer Center. (н.д.). Изтеглено на 26 Септември 2007 r. от
MSDN: http://msdn2.microsoft.com/en-us/windowsvista/default.aspx


127
Приложение
10. Приложение
Приложение А: Клас диаграми на аутентификационната услуга
Бизнес слой: Business Logic и Business Entity проекти
Бизнес слоят е прост. В проекта на бизнес логиката се съдържа един обект, който се грижи за аутентифицирането на потребителя, извличането на лист със потребители, създаване и обновяване на потребителя. Проектът на бизнес обектите съдържа един User обект. Клас диаграмата за бизнес слоя е показана на фигура 27.
Фигура 27: Клас диаграма на бизнес слоя на аутентификационната услуга


128
Непостоянно свързани умни клиенти
Слой за достъп до ресурси: Data Access
На фигура 28 и фигура 29 могат да се видят всичките класове в
DataAccess проекта. Фигура 28 показва класовете имплементиращи шаблона фабрика.
Фигура 28: Клас диаграма на класовете фабрики използвани в аутентификационната услуга
Фигура 29 показва класът Repository за User обекта.
Фигура 29: Клас диаграма на класовете Repository използвани в аутентификационната услуга


129
Приложение Б: Клас диаграми на услугата за данни
Приложение Б: Клас диаграми на услугата за данни
Слой на услугата: Data Contracts проект
Data Contracts съдържа класовете определящи контрактите за данни на услугата за данни. Те са показани на фигура 30.


130
Непостоянно свързани умни клиенти
Фигура 30: Клас диаграма на Data Contract проекта, част от услугата за данни
Слой на услугата: Service Contracts проект
Фигура 31 показва клас диаграма на контрактите за входните и изходните съобщения и интерфейса на услугата за данни IDataService.
Фигура 31: Клас диаграма на Service Contracts проекта на услугата за данни


131
Слой на услугата: Service Implementation проект
Имплементацията на услугата се състои от клас имплементиращ
IDataService интерфейса и класове транслатори. За всеки от бизнес обекти има транслаторен клас, който го трансформира в съответния контракт за данни.
Всеки транслатор има два метода за трансфомиране на обекта в контракт за данни, и за транслиране на данните от контракт в обект. Фигура 32 показва класовете със съответните им методи.
Фигура 32: Клас диаграма на Service Implementation проекта на услугата за данни


132
Непостоянно свързани умни клиенти
Бизнес слой: Business Logic и Business Entity проекти
За всеки от контрактите за данните е дефиниран Manager клас. Той се използва от услугата за попълване на контрактите за данни. Manager класът изпълнява бизнес логиката свързана с бизнес обектите. На фигура 33 са показани бизнес класовете и Manager класовете, които ги използват.
Фигура 33: Клас диаграма на бизнес слоя на услугата за данни


133
Слой за достъп до ресурси: Data Access
На фигура 34 и фигура 35 могат да се видят всичките класове в
DataAccess проекта. Фигура 34 показва класовете имплементиращи шаблонът фабрика.
Фигура 34: Клас диаграма на класовете фабрики на услугата за данни
Фигура 35 показва Repository класовете за услугата на данни. Всеки един от бизнес класовете има асоцииран Repository клас .
Фигура 35: Клас диаграма на класовете Repository на услугата за данни


134
Непостоянно свързани умни клиенти
Приложение В: Task Viewer диаграми
Изгледи и представители на Infrastructure.Module
На фигура 36 е представен изгледът и асоциирания представител за аутентикационния излгед в Infrastructure.Module.
Фигура 36: Изгледи и представители на Infrastructure.Module
Изгледи и представители на Task Management модула
На фигура 37 са представени излгедите и представителите в
TaskManagement модула.
Фигура 37:Изгледи и представители на Task Management проекта


Сподели с приятели:
1   2




©obuch.info 2024
отнасят до администрацията

    Начална страница