Тема: Отворена система за управление на потребителите
Цел: Да се доразвие съществуващата вече система за управление на потребителите като се направи анализ на нуждите от подобен вид системи и съвременните изискванията поставени при изграждане на клиент-сървър приложения. Системата да служи като база за изграждане на други системи изискващи управление на потребители, на техните ресурси и на предоставяните им услуги. Да се предостави възможност на трети страни да разработват системи базирани на настоящата разработка.
Стартиране на софтуерен бизнес - пътят от програмата до продукта
Отворена система за управление на потребителите
1. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Дипломна работа
Тема: Отворена система за управление на
потребителите
Дипломант: Научен ръководител:
Невен Боянов Боянов доц. д-р Валентин Бакоев
сп.: „Математика и информатика”
Велико Търново
2013
19 февруари 2013 Отворена система за управление на потребителите 1
2. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Цели на разработката
● Доразвиване софтуера
● Анализ на клиент-сървър решенията
● Създаване база за изграждане на приложения
● Предоставяне на разработката за ползване
19 февруари 2013 Отворена система за управление на потребителите 2
3. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Основни задачи
● Изследване на теоретичните постановки
● Преглед на съществуващи решения
● Описание на компонентите на системата
● Проектиране на нови компоненти
● Разработка на нови компоненти
● Преглед на практически и комерсиални
продукти
19 февруари 2013 Отворена система за управление на потребителите 3
4. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Структура
● Увод
● Теоретични постановки и изследвания
● Проектиране
● Разработка
● Примерни продукти
● Заключение
● Използвана литература
● Приложения
19 февруари 2013 Отворена система за управление на потребителите 4
5. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Система за управление на
потребителите – ОСУП
● Защо?
● Нужда от контрол режима на достъп
● Нужда от управление на ресурсите
● Като фундамент за надграждане
● Взаимодействие с външни системи
19 февруари 2013 Отворена система за управление на потребителите 5
6. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Уеб-базирани клиент-сървър
приложения
● Датират от 1970
● Силно свързани системи
● Слабо свързани системи
● Управление на достъпа
● Управление на ресурсите на системата
● Интернет
19 февруари 2013 Отворена система за управление на потребителите 6
7. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Преглед на съществуващи
решения
● Отворени системи и системи с отворен код
– С общо предназначение
– Специализирани (CMS, и др.)
● Затворени системи
● OAuth системи (facebook, twitter, и др.)
● Други специализирани решения
19 февруари 2013 Отворена система за управление на потребителите 7
8. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Проектиране и разработка
● ОСУП = Отворена система за управление
на потребителите
UMS = User Management System
● История: ОСУП (UMS) започва 2001
● Лиценз: свободен софтуер с отворен код
● Три основни версии: UMS1, UMS2, UMS3
● Платформа, AMP: Apache, MySQL, PHP
● Други: HTML, JavaScript, CSS
19 февруари 2013 Отворена система за управление на потребителите 8
9. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Основни принципи и
концепции
● База данни, основен градивен елемент
● Проблеми при изграждането
– Усложняване на структурата
– Усложняване на заявките
– Намаляване на производителността
– Трудна поддръжка на кода
– Неуниверсален код
19 февруари 2013 Отворена система за управление на потребителите 9
10. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Вертикална параметризация
● Примерни данни за илюстрация
● Промяна в структурата води до промяна в
данните
● Предимства
– по-опростени и лесни за разбиране таблици и полета
– по-лесни за конструиране SQL заявки
– по-добре структуриран резултат от изпълнението на заявките
– по-оптимално дефиниране на ключове и индекси в таблиците
– по-лесно разширяване на структурата на базата от външни модули
19 февруари 2013 Отворена система за управление на потребителите 10
11. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Изходен код
● Основни проблеми
– Дълга история
– Съвместимости
– Усложняване на структурата
– Усложняване на зависимостите
– Затруднена поддръжка
19 февруари 2013 Отворена система за управление на потребителите 11
12. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Отделяне на проблемите
● Прото-обекти
● Изолиране на грижите
● Предоставяне необходимите ресурси
„наготово“ на процедурно ниво
● Лека инициализация
● Предварителна инициализация и
процедурно инжектиране на зависимостите
19 февруари 2013 Отворена система за управление на потребителите 12
13. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Процедурно инжектиране на
зависимостите
● Основни принципи
● Предварителна инициализация, лека
инициализация
● Инжектиране на инициализирани прото-
обектите вместо инициализация на място или
при нужда
19 февруари 2013 Отворена система за управление на потребителите 13
14. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Управление на привилегиите
● Схема PSU (Public/Shared/User) за привилегии
– Публични (Public)
– Споделени (Shared)
– Потребителски (User)
● Четене, запис и др.
19 февруари 2013 Отворена система за управление на потребителите 14
15. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Интерфейси за достъп
● Потребителски интерфейси
– Шаблони
– HTML
– JavaScript & CSS
19 февруари 2013 Отворена система за управление на потребителите 15
16. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Машини интерфейси
● XML/RPC
● SOAP
● Тестови
19 февруари 2013 Отворена система за управление на потребителите 16
17. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
REST/RPC
● REST
– Използване на протокола HTTP
● Кодиране на данните
– JSON
19 февруари 2013 Отворена система за управление на потребителите 17
18. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Слоеве в архитектурата на
системата
● База данни и структура на базата данни
● Библиотека за работа с база данни
● Бизнес логика
● Инструментална библиотека
● Сървърна библиотека и програмен интерфейс
19 февруари 2013 Отворена система за управление на потребителите 18
19. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Приложение клиент
● Клиентска библиотека за връзка с програмния
интерфейс
● Логика на клиентското приложение
● Потребителски интерфейс
● Други клиентски библиотеки
19 февруари 2013 Отворена система за управление на потребителите 19
20. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Разработка на системата
● Структура на базата ●
profiles
profile_parameters
данни
●
●
profile_parameter_forms
– Таблици, 12 на бр. ● profile_parameter_form_sections
– Релации ● profile_parameter_sections
●
profile_parameter_types
●
profile_public_privileges
● profile_shared_privileges
●
profile_user_privileges
●
users
●
user_notes
●
user_sessions
19 февруари 2013 Отворена система за управление на потребителите 20
21. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
19 февруари 2013 Отворена система за управление на потребителите 21
22. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Основни единици
● Потребители ● Релации
● Сесии – Потребители и сесии
– Потребители и профили
● Профили
– Параметри и типове
– Типове, секции и форми
19 февруари 2013 Отворена система за управление на потребителите 22
23. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Процедури
● Създаване на запис
● Четене на запис
● Изтриване на запис
– Поле active=0
● Поддръжка
19 февруари 2013 Отворена система за управление на потребителите 23
24. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Примерни данни
● Практическо приложение на вертикалната
параметризация
● Модул за работа с базата данни
– Основни функции
19 февруари 2013 Отворена система за управление на потребителите 24
25. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Бизнес логика на системата
● Удостоверяване и вписване
– Потребителско име и парола
– Сесия и токън
– Връзка с външни системи, OAuth (fb, t, etc.)
● Профили
– Типове и параметри
– Секции и форми
19 февруари 2013 Отворена система за управление на потребителите 25
26. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Инструментална библиотека
● Помощни функции и средства
● Средства за разширяване и вграждане в други
приложения
19 февруари 2013 Отворена система за управление на потребителите 26
27. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Програмен интерфейс – API
● Users/Profiles ● Authentication
– user.list – authentication.signin
– user.update – authentication.verify
– userprofile.list – authentication.signout
– userprofile.update
– userprofiles.create ● System
– usersessions.list
– system.about
– profileparameters.list
– restrpc.info
– profileparameters.update
– restrpc.methods
– users.lookup
– restrpc.method
19 февруари 2013
–
Отворена система за управление на потребителите 27
28. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Разширени интерфейси
● Commerce
– commerceservice.request
– commerceservice.activate
● Други
– sociable.*
– custom.*
19 февруари 2013 Отворена система за управление на потребителите 28
29. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Приложение клиент
● Стандартна имплементация PHP
● Клиентска библиотека
– Връзка със сървъра
● Логика на клиентското приложение
● Потребителски интерфейс
– Графичен интерфейс
● Други имплементации
– Java, J2ME, C/C++, C#
– JavaScript, jQuery & jQueryMobile
19 февруари 2013 Отворена система за управление на потребителите 29
30. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Зависимости от външен код
● Common2
● Phlex2
● Опционални
– Commerce2
– Sociable
19 февруари 2013 Отворена система за управление на потребителите 30
31. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Достъп до изходния код
● UMS1
– http://sourceforge.net/projects/ums/
● UMS2
– http://svn.appletworks.net/appletworks/ums2
● UMS3
– https://bitbucket.org/appletworks/ums3
● Допълнителни и външни модули – достъпни в
Интернет
19 февруари 2013 Отворена система за управление на потребителите 31
32. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Примерни разработки
● Картотека на студентите
– Потребители=студенти
– Профили: лични данни, снимки и др.
– Права за достъп до ресурсите
– Допълнителни модули: учебни програми, изпити,
оценки и др.
19 февруари 2013 Отворена система за управление на потребителите 32
33. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Комерсиални разработки
● Interlecta, от 2007
● Управление на
ресурсите и услугите
● Платформи: Android,
BlackBerry, J2ME,
Symbian, Windows,
Linux, Mobile-web;
● Награди
Общо потребители
близо 420 000
19 февруари 2013 Отворена система за управление на потребителите 33
34. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Други разработки
● FonMatch ● AppletWorks
●
Lobut Network – Geos1
● BGJournal – ListMailer
● BCBINZ ● TransClick
● RantNetwork
Общо регистрирани ● Comcel
потребители близо
500 000 души от цял
● GlobalCrossing
свят
19 февруари 2013 Отворена система за управление на потребителите 34
35. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Заключение
● Управлението на потребителите е сложна задача
● Свободен софтуер с отворен код
● Комерсиални реализации
● Бъдещи планове
– Нови функции, нужда появила се в практиката
– Нов модул мултимедия: изображения, аудио, видео и др.
– Преминаване към напълно обектно-ориентиран код
– Разширяване на документацията на кода
– Документация за интегриране на продукта в други системи
19 февруари 2013 Отворена система за управление на потребителите 35
36. Великотърновски университет “Св. св. Кирил и Методий” - Факултет “Математика и Информатика”
Благодаря за вниманието
Допълнителна информация
Автор: Невен Боянов
Уебсайт: http://www.boyanov.org/
Имейл: neven@boyanov.org
19 февруари 2013 Отворена система за управление на потребителите 36