2. Курс „Информатика“ 2018/20192
Съдържание на лекцията
Определение за архитектура
Разделянето на обработката на данни и архитектура - централизирана
обработка, клиент-сървър обработка и разпределена обработка
Централизирана обработка и централизирана архитектура на информационна
система
Клиент-сървър модел на обработка на данни и архитектура на информационната
система
Два типа архитектура на информационна система при разпределена обработка
на данни – клиент-сървър и облачна архитектура
3. Курс „Информатика“ 2018/20193
Информационните системи в УНСС
Информационна система „Студент“
Информационна система „Студентски
общежития“
Информационна система
„Кандидатстудентски прием“
Информационна система в счетоводството, информационна система за
библиотеката и мн. други.
4. Курс „Информатика“ 2018/20194
Многообразие и общи компоненти
Всички системи имат архитектура, която е подчинена
на основната им цел, на проблема, който се решава с
тях и начинът, по който се обработват данните.
Независимо от огромното многообразие на
информационните системи, в тях могат да се намерят
общи архитектурни компоненти.
5. Архитектура - фундаменталната организация на
една система, нейните компоненти, отношенията
между тях и обкръжаващата среда, както и
принципите на управление и развитие.
Описанията на
архитектурата,
представени в
графичен,
словесен или
смесен вид, се
наричат
модели
на архитектурата.
7. Курс „Информатика“ 2018/20197
Архитектура на информационна система,
според разделянето на обработката на данни
Централизирана обработка – централизирана
архитектура на информационна система
Клиент-сървър обработка – клиент-сървър
архитектура на система
Разпределена обработка – клиент-сървър архитектура
и облачна архитектура
8. Курс „Информатика“ 2018/20198
Централизирана обработка
Първите
информационни системи
са били ръчни
Обработката се извършвала в
изчислителен център, където са
носили необработената
информацията. В по-нов етап са
я изпращали дотам чрез
терминална връзка.
Въвеждане на данните,
обработка и връщане на
готовите документи
обратно на потребителя
При централизираната обработка данните обработват на едно място от
голяма машина, като се въвеждат в нея от първични носители, а
резултатът от обработката се предоставя на потребителя във вид на
печатна справка или на друг външен носител на информация.
9. Курс „Информатика“ 2018/20199
Централизирана архитектура на
информационна система
При
централизираната
архитектура
приложението е
монолитно, входните
(първичните) данни
са разпръснати
между много
първични документи.
10. Курс „Информатика“ 2018/201910
Пример за централизирана обработка
До 1990 година почти всички работни заплати на
служителите в различните фирми в България се
изчисляват, като данните се събират на хартиени
документи и се носят в Изчислителен център.
В Изчислителния център има заредена обща програма
за изчисление на работните заплати.
Данните от първичните документи се въвеждат в
компютъра от специално назначени оператори.
В организацията се връща ведомост за работната
заплата на служителите – на хартия или на магнитен
носител.
11. Курс „Информатика“ 2018/201911
Поява на клиент-сървър обработка на данни
• През годините бизнес организациите
използват различни информационни
системи. В началото е счетоводството,
после се автоматизира воденето на
ведомостите за работни заплати.
• Информационните системи не се
създават едновременно, използват се
различни технологии.
• Обменът на данни между тях се
затруднява.
• Организациите трудно синхронизират
всички системи и не е възможно
непрекъснато да ги подменят с нови,
тъй като се изискват значителни
инвестиции.
Това, което може да се направи е да се уеднаквят и
стандартизират комуникационните им възможности, като
се използват общи мрежови ресурси.
12. Курс „Информатика“ 2018/201912
Клиент-сървър модел на обработка на данни
При клиент-сървър модел на обработка на данни се
осъществява разделяне на обработката в едно
приложение между два различни компонента: клиент
и сървър, които осъществяват комуникация помежду
си чрез размяна на съобщения.
Съобщенията представляват механизми за
предоставяне на отговор при заявка за услуга.
Приложението вече няма монолитна архитектура, а
се състои от части, които изпълняват различни
функции – клиентска и сървърна.
13. Курс „Информатика“ 2018/201913
Пример за клиент-сървър обработка
Информационна система „Студентски общежития“
Използват се входно-изходни устройства с различен софтуер - настолни компютри,
лаптопи, мобилни телефони, табла с четци за електронните книжки.
Студентът прави заявка към сървъра и да получава информация за класирането в
общежитията.
14. Курс „Информатика“ 2018/201914
Разпределени системи
С ерата на интернет започна да се появява нужда от нов
модел на обработка, който да позволява
удовлетворяването на едновременните заявки на
потребители от всички краища на света за един същи
ресурс.
Този нов тип обработка на данни – едновременен достъп до
едни и същи информационни ресурси в един и същи момент от
различни потребители, се извършва от разпределените системи.
15. Курс „Информатика“ 2018/201915
Разпределена обработка
При разпределените
системи данните са
разпръснати между много
бази данни. Клиентът
изпраща заявка, но
данните за отговора трябва
да се извлекат от много
бази данни, като към тези
бази в същото време се
обръщат и други клиентски
приложения, които също
могат да добавят,
актуализират или изтриват
данни.
16. Курс „Информатика“ 2018/201916
Примери за приложения с разпределена
обработка
www.emag.bg – по време на „Черен петък“ преди Коледа
– много потребители се конкурират за намалени стоки,
като в същото време техните количества непрекъснато се
актуализират, без да се спира сайта. Също така се добавят
нови стоки към промоцията, отново без да прекъсва
работата на сайта.
Електронния магазин Амазон - Много потребители се
опитват в един и същ момент да си купят нашумяла книга.
18. Курс „Информатика“ 2018/201918
Клиент-сървър система
Клиент-сървър означава връзка между процеси
изпълнявани на различни машини.
Клиент-сървър системата осигурява строго разделяне
на функциите, базирана на услугите.
Сървърът е доставчик на услуги. Клиентът е
консуматор на услуги.
Сървърът може да обслужва много клиенти и в да
осигурява техния достъп до споделени ресурси.
Клиентът винаги инициира диалога чрез заявки за
услуги.
Сървърът очаква заявка от клиента, обработва я и
връща отговор.
19. Клиент
Подава заявки
Изчаква отговор
Свързва се до малък брой сървъри
едновременно
Взаимодейства с крайните потребители
чрез графичен интерфейс
Активна част от клиент-сървър
връзката, обикновено инициира
комуникацията.
Сървър
Чака заявки от клиенти
При получаване на заявки ги обработва
и след това отговаря
Получава заявки от голям брой клиенти
едновременно
Не контактува директно с крайния
потребител
Пасивност, изчаква заявки от клиента.
Характеристики на клиента и сървъра
20. Курс „Информатика“ 2018/201920
Функции на информационната система
и слоеве в архитектурата
Потребителски интерфейс
Бизнес логика
Съхранение и извличане на данни
Функции реализиращи
взаимодействието на
информационната система с
потребителя – въвеждане на
данни и извеждане на
информация.
Функции по обработка
на информацията в
съответствие със
специфичните правила,
характерни за
съответната приложна
област
Функции по съхранение
и извличане на данни от
бази данни или от
отделни файлове
Според броя на слоевете архитектурата на информационната система е
еднослойна, двуслойна, трислойна, N-слойна (многослойна).
23. Курс „Информатика“ 2018/201923
Еднослойна архитектура
Архитектура, при която трите вида функции –
презентационни, бизнес логика и съхранение на
данни, са силно свързани и приложението
задължително се изпълнява върху един компютър.
Примери - домашните системи за съхранение и
търсене на снимки; работещите на големи машини
(суперкомпютри) приложения.
24. Курс „Информатика“ 2018/201924
Двуслойна архитектура
Двуслойната архитектура (two-tier) се характеризира с
обособяване на два слоя:
Клиентски слой – който обхваща потребителския
интерфейс и бизнес логиката.
Сървърен слой – който реализира всички функции по
работа с базите данни.
Пример: Информационна справочна система (за текстове
или снимки) във фирма с неголям, ограничен брой
служители. Двата слоя са:
Клиентският: приложението на клиентския компютър
използва данните и ги представя в подходящ формат на
служителите.
Сървърният: базата предоставя данни, като обработва SQL
заявките, изисквани от клиентското приложение.
25. Курс „Информатика“ 2018/201925
Трислойна архитектура
Трислойната архитектура се характеризира с
обособяване на потребителския интерфейс, бизнес
логиката и управлението на данните в
самостоятелни слоеве.
В трислойната архитектура се разграничават:
Слой на потребителския интерфейс (user interface tier),
наричан също слой на представянето (presentation tier).
Слой на бизнес логиката (business logic tier), наричан също
слой на приложението (application tier).
Слой на управление на данните (data management tier) .
26. Курс „Информатика“ 2018/201926
Архитектура при уеб приложения
Специфика на основните функции на информационната система при
уеб приложения
•позволяват на потребителя на уеб сайта да взаимодейства със системата;
• да изисква определени обработки;
•да контролира достъпа до данните;
• самият той да става източник на данни.
Функциите по
въвеждане на
информацията
• отнасят се до дейностите за манипулиране с данни;
• до бизнес логиката, посредством която се обработват транзакциите в системата;
• обработката на данни предполага програмиране на специфични операции, които
манипулират входните данни и подготвят изходна информация в зависимост от тях
Функциите по
обработка на
данни
• доставят на потребителя резултата от обработката;
• осигуряват точни, добре оформени и навременни данни.
Функциите по
извеждането
информацията
•осигуряват пълнотата и актуалността на обработваната информация;
•данните могат да бъдат добавяни, променяни, изтривани и
систематизирани;
•съхранената информация е основното съдържание на уеб страниците.
Функциите по
съхранението
на данните
27. Курс „Информатика“ 2018/201927
Особености на архитектурата на уеб
приложенията
u
Включва уеб сървър - Microsoft Internet Information Service (IIS),
Apache и пр.
v
Потребителският интерфейс на клиентската работна станция се
реализира чрез стандартен браузер -Microsoft Internet Explorer,
Mozilla FireFox и пр.
w
Функционалните ограничения на браузерите налагат разделянето
на слоя на потребителския интерфейс на два подслоя:
Подслой на визуализацията на потребителския интерфейс (GUI -
graphic user interface visualization) реализиран от браузера
Подслой на управлението на потребителския интерфейс (GUI
management), реализиран на уеб сървъра
28. Курс „Информатика“ 2018/201928
Трислойна архитектура при уеб
приложения
При по-прости уеб приложения, управлението на
потребителския интерфейс не се разграничава строго
от бизнес-логиката и се извършва от уеб сървъра.
30. Курс „Информатика“ 2018/201930
Пример – електронен магазин
Абстрактната многослойна
уеб архитектура, приложена
към едно типично интернет
приложение – електронен
магазин.
32. Курс „Информатика“ 2018/201932
Характеристики на разпределена система
Множество автономни компоненти
Компонентите не се споделят от всички
потребители
Ресурсите могат да не бъдат достъпни в
даден момент
Софтуерът работи чрез изпълнението на
едновременни процеси на различни
процесори
33. Курс „Информатика“ 2018/201933
Разпределена обработка – два типа
архитектура
Архитектура
на информационна система
при разпределена обработка
Клиент-сървър Облачна архитектура
34. Курс „Информатика“ 2018/201934
Разпределена клиент-сървър система
При разпределените клиент-сървър системи,
потребителските заявки са много сложни за
изпълнение - изискват извличане на данни от много
сървъри, коопериране на работата между тях.
Заявките изискват намиране на точният сървър или
съвкупност от сървъри сред множеството сървърни
системи.
Сървърите може да не се намират на едно и също
място и да не се контролират от една компания.
35. Курс „Информатика“ 2018/201935
Клиент-сървър архитектура при разпределена
обработка на данни
За да се посрещнат големите изисквания на
разпределените клиент-сървър системи, те се
изграждат чрез междинен слой, който представлява
сложен софтуерен компонент.
36. Междинен интеграционен
софтуер
в интернет приложенията
се използва като термин
за описание на отделни
софтуерни продукти, които
служат за връзка между две
приложения и предават
данни между тях.
Използва се в контекста на
разпределените системи
като софтуер, който
предоставя услуги извън
тези, предвидени от
операционната система, за
да се даде възможност на
различните компоненти на
разпределената система да
комуникират помежду си и
за управление на данни.
Примери за междинен
интеграционен софтуер
38. Курс „Информатика“ 2018/201938
Какво е облак
Облакът е тип разпределена система състояща се от
свързани, глобално разпръснати, виртуализирани
компютри, които се представят динамично като един
общ компютърен ресурс.
Облачните системи са начин на организация и работа
на компютърните системи, при който компютърни и
софтуерни ресурси като процесорно време, памет,
дисково място, програми, данни и т.н., могат да бъдат
динамично променяни и предлагани на потребителя
като услуга чрез Интернет.
Доставяната услуга се базира на споразумение
установено между доставчика на услугата и
потребителя.
39. Курс „Информатика“ 2018/201939
Характеристики на облачните системи
Самообслужване при поискване – Потребителят може при необходимост едностранно
да заяви и наеме част от ресурсите на облака (процесорно време, място за съхранение
на данни и др.), като това става без намесата на друг човек – оператор или
администратор.
Широк достъп до мрежата – Възможностите, които предоставя облака са на
разположение в мрежата и се достъпват чрез стандартни механизми, като мобилни
телефони, таблети, лаптопи и работни станции.
Обединяване на ресурсите – компютърните ресурси на доставчика се обединяват, за да
обслужват множество клиенти, като се използва модел на отдаване под наем на повече
от един клиент. Използват се разнородни физически и виртуални ресурси, които
динамично се назначават на клиента според неговите изисквания.
Бърза еластичност – Ресурсите могат еластично да се заемат или освободят, в някои
случай автоматично, за да се мащабират в зависимост от размера необходими на
клиента. За клиента ресурсите обикновено изглеждат безкрайни и могат да бъдат
използвани по всяко време.
Измерена услуга – Облачните системи автоматично контролират и оптимизират
употребата на ресурси, чрез предоставяне и измерване подходящо за вида услуга.
Употребата на ресурси може да бъде наблюдавана, контролирана и докладвана, което
осигурява прозрачност както за доставчика, така и за клиента на услугата.
40. Курс „Информатика“ 2018/201940
Пример за информационна система базирана в
облак
„Корпоративна облачна среда за отбраната“ – приложение
предназначено за Министерството на отбраната на България, чрез
което ще може да се следи местоположението на бойните самолети,
кораби, въоръжението (танкове, ракетни установки) и пр.
Приложението включва компоненти на отбраната, търговски и
корпоративни дружества, федерални организации и партньори на
Министреството на отбраната в различните мисии, които изпълнява
България.
Достъпът до приложението ще бъде защитен.
Търговските партньори на министерството могат да използват
различни абонаментни планове за достъп.
http://cio.bg/5600_sigurnostta_na_oblachnite_tehnologii__predizvikat
elstvo_pred_it_prilozheniyata_za_otbranata
42. Курс „Информатика“ 2018/201942
Обработка на данните в облачни системи и в клиент-
сървър системи
Облачни системи
• На клиентския компютър се извършва
минимална дейност, тежката работа
се осъществява отдалечено, в
огромен споделен център за данни
(shared data center).
• Облачните системи са по-мощни чрез
събирането в едно на голям брой
машини със средна скорост, размер
памет и дисково пространство.
• Начинът на изграждане на
приложенията и базите данни е
различен, използват се нови
технологии за сериализацията на
данни и програми.
Клиент-сървър системи
• Клиентският компютър може да
осъществява голяма част от
обработката.
• Компютърните системи от
последните години станаха много
бързи чрез използване на паралелни
процесори, които превърнаха
настолните компютри в изчислителни
машини с големи способности
• Разпределените клиент-сървър
системи използват междинен
интеграционен слой.
43. Курс „Информатика“ 2018/201943
Компоненти на системата
преди облака
Клиентско приложение
Мрежа
Облак
Може да е браузер, или някаква програма, която използва
същите протоколи като браузера и задачата й е да изпраща
заявки към облачно базираните услуги и да получава отговори
от тях. Тези въпроси и отговори се осъществяват обикновено
през уеб страница.
Мрежата премества данните и физически представлява
сложен комплекс от рутери, DNS сървъри и сървъри за
обслужване различни протоколи.
Облачният център контролира маршрутизацията на данните от
клиентския компютър до входната точка в облака и след като ги
анализира, ги препраща от тази входна точка до конкретния
сървър на облака. Този сървър, в комуникация с останалите
сървъри, изгражда отговора, който в крайна сметка се получава на
клиентския компютър. Така че приложението е клиент на
конкретен сървър от облака, той обаче от своя страна е клиент за
други сървъри и услуги.
44. Курс „Информатика“ 2018/201944
Структура на облака
Облакът е сложна и динамична структура от хардуер и
софтуер, в който се използват най-новите
информационни и комуникационни технологии.
От физическа гледна точка, облакът е съвкупност от
сървъри.
Освен физическа структура, облакът има и логическа
структура - съвкупността от програми организирани в
слоеве и подслоеве.
Ще разгледаме логическата структура на
информационна система в облак.
45. Курс „Информатика“ 2018/201945
Логическа архитектура
Информационната система, заредена в облак няма
постоянна логическа архитектура, данните
непрекъснато се делят на различни съвкупности.
Специализирани програми (load balancer) прехвърлят
данните за обработка между различни сървъри,
компютърни клъстери, мрежови възли, централни
процесори, дискове и пр.
Могат да се дефинират отделни логически слоеве.
46. Курс „Информатика“ 2018/201946
Първи слой
Най-често като първи слой (1 на илюстрацията) на
облака се посочва слоят от приложения стартиращи
услуги.
Тези услуги представляват специализирани програми,
изпълняващи функции за подпомагане на други
програми.
При облачно базираните информационни системи,
приложенията на входа на облака получават
клиентските заявки и се грижат за връщане на отговор
възможно най-бързо, като комуникират по-нататък с
останалите части на системата.
47. Курс „Информатика“ 2018/201947
Втори слой
Вторият слой (2) представлява мащабируема памет съдържаща
парчета (shards) от базата данни. Парче от базата данни се
получава при хоризонталното разделяне на данните в базата на
отделни на независими съвкупности - част от редовете от една
таблица се отделят и се съхраняват с оглед на някакви следващи
обработки.
Защо е необходимо базата данни да се разделя на парчета? При
приложенията базирани на облак, голяма част от операциите
(шестдесет до седемдесет процента според някои изчисления)
са за четене и писане в базата данни. Ако базата данни е само
една се обезсмисля зареждането на приложението в облак.
Разделянето на базата данни на парчета, води до създаването
на много по-малки бази данни, които не споделят помежду си
данни и могат да се разпространяват на няколко сървъра. Тези
малки бази данни са бързи и лесни за управление.
48. Курс „Информатика“ 2018/201948
Вътрешни слоеве
Самата база данни (БД) и други файлове, използвани
от първия и втория слой.
Приложения за последваща обработка офлайн и
анализ на големи обеми от данни.
Пример за такива приложения са: програмите за
актуализиране на сайтове и информационни системи
в облака, програмите обобщаващи заявките и
извличащи закономерности. Представител на този тип
софтуер е например ApacheHadoop (с отворен код),
чрез който се извършва анализ на огромни обеми от
данни при разпределени системи.
50. Курс „Информатика“ 2018/201950
Обобщение
Архитектурата задава общите характеристики на
информационните системи, които характеристики оказват
влияние, както върху всички следващи етапи на
изграждане на системата, така и на начина на нейното
функциониране.
Няма архитектура, която да е „най-добра” за
всички случаи. Всяка система трябва да се анализира и
да се избере най-подходящата за нея архитектура, според
изискванията към системата – брой потребители,
обем на данните, сложност на бизнес логиката,
защита, цена, необходимост от отдалечен достъп до
системата и пр. Критериите са толкова, колкото ги зададе
потребителят и могат да бъдат от най-различен характер.
При вземане на решение за архитектурата на
системата, трябва да се отчитат и перспективите за
нейното бъдещо развитие.