Автореферат за темою магістерської роботи

Магістр ДонНТУ Морозов Дмитро Сергійович

Тема випускної роботи: Система моделювання технологічної схеми виробництва та організації роботи з документами

Науковий керівник: доцент кафедри комп’ютерної інженерії, кандидат технічних наук Теплинський Сергій Васильович



Вступ

Щоб розпочати опис своєї машістерської роботи, мені б хотілося поринути до суті проблеми, якої ця робота торкається.

Припустимо, ви є співробітником інженерно-технічного центру, що обслуговує підприємства певної галузі даного регіона. До ваших зобов'язань входить аналіз, побудова, відладка, впровадження та обслуговування деяких механізмів, деталей, рішень. Ви професійний інженер та працюєте в корпоративній мережі за комп'ютером, не дуже замислюючись над структурою програмного забезпечення та принципом його роботи. Головне для вас — це знати, як це програмне забезпечення працює та як витягти з нього максимум користі для розв'язання своєї інженерної задачі.

Та одного дня до вашого відділу надходить замова від Донецького металургійного заводу, "Азовсталі" — не має значення звідкіля — з проханням надати їм інноваційне інженерне рішення для окремого цеху або усього заводу в цілому, скажімо, для зниження енерговитрат або підвищення продуктивності окремої лінії виробництва. Отже, вашему колективу потрібно в стислі строки проаналізувати креслення даного підприємства, цеху або іншої логічної одиниці виробницства, скласти нову модель функціонування, скласти креслення нової логічної одиниці, впровадити це документацією та віддати замовнику. Останньому для досягнення своєї мети потрібно лише застосувати підготовлену вашим колективом документацію на своєму підприємстві. Здавалося б, опустивши всі технічні деталі та тонкощі, усе просто. Але насправді для будь-якого спеціаліста інженерно-технічного центру ця проста послідовність перетворюється в "щось".

Для запобігання таких ситуацій та підвищення продуктивності праці робітника та колективу в цілому, я у співробітництві з ІТЦ Сіменс Украйна розробляю систему моделювання схем виробницства та спільної роботи з документами.

Основними цілями проекту є:

  • Легкий пошук документації.
  • Простий движок для складання схем виробництва та автоматичне прийняття оптимізуючих рішень.
  • Спільна робота в мережі.

Очевидно, що система, яка розробляється в межах магістерської роботи, є ERP-системою, що ризначена для автоматизації обліку і управління. [1] Пошук існуючих рішень не вселяє оптимізму: з одного боку, на ринку існує щонайменше 5 вендорів професійних ERP-систем: SAP, Oracle Applications, The Sage Group, Microsoft Dynamics, SSA Global Technologies. [2] Однак ІТЦ не потребує у такому великому спектрі програм, що входять до пакетів пропозицій цих корпорацій, причому таке ПЗ має досить широку область застосування. З іншого боку, пакети-одинаки, що підходять за рядом критеріїв для проекту: Microsoft Office, Microsoft SharePoint, Microsoft Visio та аналоги інших виробників не підходять для цілосного застосування у рамках проектної розробки ті зустрічає складності для роз'яснення тонкощів роботи програм для перечіного інженера.

Таким чином, актуальність даної теми в наявності — саме таку систему потребує ІТЦ Сіменс Україна. Щодо новизни рішення виразно сказати неможливо: дорогих загальнопланових ERP-систем досить багато, але вони покривають занадто широкий спектр питань, вирішення яких в даному проекті не потрібні; функціоналу більш дешевих (а іноді і безкоштовних) пакетів, навіть декулькох разом, не вистачає для вирішення вузькоспеціалізованих питань.

Далі я розкрию декілька важливих моментів своєї роботи.

Структура проекту

Структура проекту приведена в анімації 1.


Структура проекту

Анімація 1. Структура проекту. 7 кадрів, кожний 1 секунда, 25 кБ


Проект складається з головного модуля, написанного на ASP.NET 4 (це уніфікований модуль розробки для Web, що містить сервіси, необхідні для побудови Web додатків корпоративного класу з мінімальним написанням коду [3]), що включає реалізацію безпеки додатку, навігації майстер-сторінки тощо (про це більш детально я розповім нижче); а також трьох додатків, що реалізують свою частину функціоналу, необхідного до нужд проекту. Головний модуль (або "хаб" трьох додатків-сателітів) через ADO.NET запитує дані з БД Microsoft SQL Server. ADO.NET — це технологія, що забезпечує послідовний доступ до джерел даних, таких як Microsoft SQL Server [4]. Далі я розповім про кожний компонент системи більш детально.


«Хаб» додатків

Даний модуль є основним в проекті. Він реалізує центральні функції, які необхідні для коректної, комфортної так ьезпечнох роботи інших додатків. "Хаб" є свого роду ядром, до якого через спеціальні функції та інтерфейси підключаються інші методи та служби.

Найважливішою функцією, що реалізується ядром, є безпека. Безпека — найважливіша частина Web-додатку, і вона братися до уваги з першої стадії процесу розробки. По суті, безпека — це все, що стосуется захисту... І для її забезпечення використовуються декілька механізмів, включаючи ідентифікацію користувачів, видачу та відбирання прав доступу до важливих ресурсів, а також захист інформації, що зберігається на сервері та передається дротами.

Система безпеки ASP.NET включає класи для аутентифікації та авторизації користувачів, а також для звернення до аутентифікованих користувачів... Більш того, каркас .NET Framework представляє собою набір базових класів для забезпечення конфіденційності та цілосності даних через шифрування та цифрові підписи.

З появою версії ASP.NET 2.0 інфраструктура безпеки була значно розширена за рахунок високорівневої моделі керування користувачами та ролями, що було втілено як програмно, так і вбудованними засобами адміністрування. [5]

Також непоганим засобом підвищення безпеки додатка вважається використування стражів — моделі конвеєра в організації інфрастуктури безпеки.

В цілому для більшої частини Web-додатків основні задачі для реалізації захисту завжди одні й ті жі.

  • Аутентифікація.
  • Авторизація.
  • Конфіденційність.
  • Цілісність.

Гадаю, не треба ще раз говорити про мотивації побудови захищених додатків корпоративного рівня, що мають справу з авторизацією персонала і доступу до баз даних. Тому я лише доповню вищеозначенні рівні безпеки, що забезпечують конвіденційність даних додатку:

  • Шифрування всього трафіку додатку за допомогою SSL (SSL — це протокол безпеки, що використовується Web-браузерами для безпочного підключення до Web-серверів [6]).
  • Шифрування записів у базах даних.
  • Перемішування символів у строці адреси браузера.

Для впровадження додаткові виду єдиної закінченої структури в головному модулі використовуються майстер-сторінки, які представляють з себе гнучкий та масштабуючий засіб для додатків будь-якої складності.

Для спрощення навігації сторінками додатку в "хабі" застосовується мапа сайту, яка дозволяє користувачеві переходити з однієї сторінки додатку до іншої.


Додаток для конструювання схем

Дану частину функціонала я справедливо виніс до окремого додатку через його складність і числа функцій. У баченні ІТЦ цей додаток повинен надати співробітникам центру можливість складання схем цехів, підприємств та інших структурних одиниць, використовуючи лише заданий набір прімитивів.

Першою справою переді мною стала задача вибору технології, за допомогою якої я базуватиму свій движок для малювання. Прочитавши [7], моєю першою думкою було використовувати плагін Microsoft Silverlight. В підтримку цього варіанту існує чимало істотних доводів:

  1. Дозволяє використовувати мультимедійний контент і високу інтерактивність.
  2. Silverlight побудований на .NET Framework, що тягне за собою всі плюси використування цього каркасу.
  3. Silverlight ідеально вписується в інфраструктуру ASP.NET.[8]

Единим недоліком такого рішення була відсутність можливості доступу до інтерфейсів ADO.NET, які дозволяються працювати з базами даних через рівні з'єднання або запитів. На щастя, на момент початку проектування даного додатку Microsoft озвучила плани щодо Silverlight 4, однією з нових функцій якого стало використання WCF RIA Services, який спрощує традиційні багаторівневі додатки [9]. Маючи на озброєнні цю технологію, можна за допомогою WCF "подружити" ADO.NET і Silverlight. Також одним з нововведень цієї версії стала підтримка технології drag-n-drop, обробка клацання правою кнопкою миші, прямі сокетні з'єднання і робота поза браузером [10]. Тому я почав проектування додатку для складання схем саме на Silverlight 4.

Функції, передбаченні в додатку для конструювання схем:

  • Створення схем перетаскуванням на полотно примітивів, малюванням стрілок будь-якої форми, кольору та товщини.
  • Редагування схем через операції з буфером обміну над елементами.
  • Групування елементів схеми.
  • Перетаскування елементів та груп елементів у межах полотна.
  • Встановлення розміру вихідного контейнера в пікселях та міліметрах з перерахунком на реальні фізичні розміри.
  • Зміна масштабу окремих елементів та всієї схеми в цілому.
  • Повноекранні режими редагування та попереднього перегляду.
  • Експорт схеми до графічних форматів та XML-структури.
  • Друк схеми.
  • Підтримка логіки “Undo” — “Redo” (як вказано у [11]).

Додаток для сумісної обробки документів

Даний додаток є невід'ємною частиною проекту і спрямований на роботу з документацією за діяльністю групи, що складається не більше, ніж 5 осіб.

Через те, що цей додаток активно використовує ADO.NET у свій роботі, було прийнято рішення написати його цілком на ASP.NET заради непотрібного використування WCF і відсутності мультимедійно-інтерактивної взаємодії.

Ключеву роль в забезпеченні конфіденційності в цьому додатку грають ролі, що були уведені в хабі додатків, які обмежують доступ до директорій та документам в залежності від того, скільки і які права видається вашій ролі сервером. Нприклад, інженер відділу А не може отримати доступ до документів відділу В, а директор департаменту має доступ до всіх документів.

Додаток складається з декількох частин:

  • Панель навігації директоріями поточного проекту.
  • Списку файлів даної директорії з розбивкою на сторінки при великої кількості документів з можливістю відмітки від одного до всіх документів. Цей список представлен у вигляді таблиці зі стовцями: назва файлу, автор, дата і час останної модифікації, статус документа (створен, в процесі обробки, в процесі доробки, фінальна версія), поточна версія документа.

Функціонал, що надається даним додатком, включає до себе:

  • Завантаження документів до поточного каталогу проекту (при наявності відповідних прав).
  • Редагування, копіювання, видалення, переміщення файлів.
  • Експорт списку файлів до Microsoft Excel.
  • Пошук файлів проекту за багатьма категоріями пошуку.

Також розглядається можливість інтеграції додатку з Microsoft SharePoint.


Слайд шоу

Даний додаток носить характер доповнення до двох основних — складанню схем та обробки документів. Тут буде можливість перегляду фотогалареї заводу, цеха або підприємства в цілому для візуальної оцінки певних параметрів. Не дивлячись на те, що додаток оперує з мультимедійним контентом, було прийнято рішення о написанні його коду на ASP.NET. На даний момент додаток може пролистувати фотографії з вибраної директорії (в залежності від прав доступу до директорій) з показом прев'ю наступних та попередніх фото галареї знизу. Функціонал додатку також дозволяє зберігати зображення на локальний диск користувача і додавати нові зображення до галереї.

Також з'явилися ідеї щодо наповнення сторінок додатку іншими мультимедійним контентом: аудіо- та відеозаписами, вебкастами, подкастами інженерів для обміну ідеями та сумісного прийняття рішень, а також додавання текстових та аудіозаміток до медіаматеріалів з коментарями та доповненнями.


Проект бази даних

Невід'ємною частиною веб-додатку, необхідного ІТЦ Сіменс Украйна, є централізований репозиторій зберігання записів про облікові записи співробітників центру, дані їх профілів, ролей, а ткож таблиць записів, що відповідають певним проектам, що розробляються і проектуються у стінах ІТЦ. Це саме те місце, звідки мой додаток буде отримувати дані через механізми ADO.NET. Сама база даних написана спеціалістами ІТЦ за допомоги Microsoft SQL Server і була предоставлена мені на початку мого під'єднання до проекту.

Спершу база даних містила тільки облікові записи співробітників та її структура не мала на увазі використання динамічних таблиць зберігання даних о проектах кожного підприємства. Плином часу і в залежності від кількості замовлень підприємств та їх проектів, база буде розростатися, тому було прийнято рішення про розміщення бази даних на сервері з окремим жорстким диском на 2 ТБ з можливістю гарячого розширення ємності масиву.


Висновок

Отже, на момент написання автореферата (травень 2010 року) робота над магістерською дисертацією ще не завершена. Відповідно до строків, що були установлені ІТЦ Сіменс Украйна, мій проект повинен буди завершений 1го липня 2010 року, після чого він перейде до фази закритого тестування (липень 2010 року). Далі почнеться період підготовки ПЗ для сервера, на якому буде розташований веб-додаток разом з базою даних, після чого у середині серпня 2010 року відбудеться розгортання додатку на сервері та запуск відкритого тестування продукту, яке триватиме до 1го вересня 2010 року. В цей час почнеться моя трьотижнева практика в ІТЦ Сіменс Украйна, впродовж якої я буду виправляти і доповнювати функціонал написаного мною в рамках магістерської роботи програмного забезпечення.


Література

  1. Enterprise resource planning [Електроний ресурс] - Режим доступу: http://en.wikipedia.org/wiki/Enterprise_resource_planning
  2. List of ERP vendors [Електроний ресурс] - Режим доступу: http://en.wikipedia.org/wiki/List_of_ERP_vendors
  3. ASP.NET Overview [Електроний ресурс] - Режим доступу: http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx
  4. Overview of ADO.NET [Електроний ресурс] - Режим доступу: http://msdn.microsoft.com/en-us/library/h43ks021(VS.71).aspx
  5. Мак-Дональд, Мэтью, Шпушта, Марио. Microsoft ASP.NET 3.5 с примерами на C# 2008 и Silverlight 2 для профессионалов, 3-е изд.: Пер. с англ. - М.: ООО "И.Д.Вильямс", 2009. - 1408 с.: ил. - Парал. тит. англ.
  6. Фергюсон, Нильс, Шнайер, Брюс. Практическая криптография.: Пер. с анг. - М.: Издательский дом "Вильямс", 2005. - 424 с.: ил. - Парал. тит. англ. [c. 394]
  7. Может ли Silverlight быть основой для построения Enterprise Web UI? [Електроний ресурс] / Яков Галкин - Режим доступу: http://www.gotdotnet.ru/blogs/fulcrumweb/6629/
  8. Silverlight Architecture [Електроний ресурс] - Режим доступу: http://msdn.microsoft.com/en-us/library/bb404713(VS.95).aspx
  9. WCF RIA Services [Електроний ресурс] - Режим доступу: http://www.silverlight.net/getstarted/riaservices/
  10. Microsoft Silverlight [Електроний ресурс] - Режим доступу: http://en.wikipedia.org/wiki/Silverlight#Silverlight_4
  11. New CodePlex project: a simple Undo/Redo framework [Електроний ресурс] / Kirill Osenkov - Режим доступу: http://blogs.msdn.com/b/kirillosenkov/archive/2009/06/29/new-codeplex-project-a-simple-undo-redo-framework.aspx