Модели и методы проектирования модульной системы обработки данных
Резюме. В работе проведен анализ формализованных моделей и методов для проектирования модульной
системы обработки данных (МСОД) . Сделан анализ предметной области , определены задачи для
проектирования системы обработки данных. Эти задачи, как правило, относятся к задачам дискретного
программирования, которые являются сложными, и не во всех случаях их можно решить. В работе дан краткий
обзор методов решения дискретного программирования (ДП) [1].
Ключевые слова: модульная система обработки данных (МСОД), дискретное программирование, методы
проектирования.
412
Tebeyev A.A., Akhmetov S.S., Kozbakova A.Kh., Nabiyeva G.S.,Kalizhanova A.U.
Models and methods of designing modular systems of data processing
Sammary. In this paper analysis of formal models and methods for the design of a modular data processing
system (MDPS). The analysis of the subject area, set objectives for the design of a data processing system. These
problems tend to include discrete programming tasks, which are complex and can not be solved in all cases. In this
paper we give a brief review of methods for solving discrete programming (DP) [1].
Key words: modular data processing system (MDPS), discrete programming, design methods.
УДК 004.738.5
Тобаев Е.Т. магистрант, Рахматуллаев Р.Д.
Казахский национальный технический университет имени К.И.Сатпаева
г. Алматы, Республика Казахстан
l2myv@mail.ru
ASP.NET MVC ПЛАТФОРМА ДЛЯ РАЗРАБОТКИ ВЕБ-ПРИЛОЖЕНИЙ
Аннотация. Статья посвящена новой платформе для веб-разработки от Microsoft ASP.NET MVC.
Рассматривается история развития данной технологий, а также обзор основных его преимуществ и свойств в
веб-разработке.
Ключевые слова: веб-разработка, веб-технологий, модель-представление-контроллер, платформа, интернет.
Современные интернет технологий бурно развиваются, создавая все больше и больше
инструментов для ее реализации. И одним из них является ASP.NET MVC. Это платформа для веб-
разработки от Microsoft, которая сочетает в себе эффективность и аккуратность архитектуры
“модель-представление-контроллер” (model-view-соntroller — MVC), новейшие идеи и приемы
гибкой разработки, а также все лучшее из существующей платформы ASP.NET. Это полная
альтернатива традиционной технике ASP.NET WebForms, предлагающая существенные
преимущества для всех, кроме самых тривиальных проектов веб-разработки.
Чтобы понять отличительные аспекты и цели проектирования ASP.NET MVC, стоит хотя бы
кратко знать, как шло развитие веб-разработки до сих пор. Совершенствование всех платформ веб-
разработки Microsoft, которое мы наблюдали в течение последних лет, сопровождалось постоянным
ростом мощности и (к сожалению), сложности. Как показано в табл. 1, каждая новая платформа
устраняла специфические недостатки своей предшественницы.
Таблица 1
Хронология технологий веб-разработки Microsoft
Период времени
Технологии
Достоинства
Недостатки
Юрский период
Common Gateway Interface
(CGI) - стандартное средство
подключения веб-сервера к
произвольной исполняемой
программе, которая возвращает
динамическое содержимое.
Спецификация поддерживается
NCSA (National Center for
Supercomputing Applications —
Национальный центром
приложений для
суперкомпьютеров).
Простота
Гибкость
Единственный выбор на
то время
Выполняется вне веб-
сервера, поэтому
является ресурсоемкой
(порождает по одному
отдельному процессу
операционной системы
на каждый запрос)
Является
низкоуровневой
Бронзовый век Microsoft
Internet
Database
Connector (IDC)
Выполняется внутри
веб-сервера
Является лишь
оболочкой для запросов
SQL и шаблонов для
форма-тирования
результирующего набора
413
Продолжение табл 1
Период времени
Технологии
Достоинства
Недостатки
1996 г
Active Server Pages (ASP)
Общее назначение
Интерпретируется во
время выполнения
Приводит к появлению
“спагетти-кода"
2002/2003 гг. ASP.NET
1.0/1.1
Компилируемый
пользовательский
интерфейс с поддержкой
состояния
Обширная
инфраструктура
Стимулирует объектно-
ориентированное
программирование
Требует большой
ширины пропускания
Порождает корявую
HTML- разметку
Не является тестируемой
ASP.NET стал большим коммерческим успехом, но остальной мир веб-разработки также
развивался, и хотя Microsoft сдувал пыль с Web Forms, ее основные конструкции начали выглядеть
весьма устаревшими. В октябре 2007 года на первой конференции по ALT.NET в Остине, штат Техас,
вице-президент Microsoft Скотт Гатри объявил и продемонстрировал новую платформу по разработке
MVC, построенную на базовой платформе ASP.NET, явно задуманную как прямой ответ на
эволюцию технологий, таких как Rails и как реакцию на критику Web Forms. В следующих разделах
описывается, как эта новая платформа преодолела ограничения Web Forms и снова возвеличила
ASP.NET. Важно различать архитектурный паттерн MVC и ASP.NET MVC Framework. MVC паттерн
не является новым, его корни уходят к 1978 году и проекту Smalltalk в Xerox PARC, но он завоевала
огромную популярность сегодня в качестве паттерна для веб приложений по следующим причинам:
Взаимодействие пользователя с MVC приложением следует естественному циклу: пользователь
совершает действие, в ответ на это приложение меняет свою модель данных и предоставляет
пользователю обновленный вид. А затем цикл повторяется. Это очень удобно для веб-приложений,
предоставляемых в виде серии HTTP запросов и ответов. Необходимость веб приложению объединять
несколько технологий (например, базы данных, HTML и исполняемый код), как правило, разбивается на
множество уровней или слоев. Моделей, которые вытекают из этих комбинаций, естественны для
концепции MVC. ASP.NET MVC Framework реализует MVC паттерн и, тем самым, обеспечивает
значительно улучшенное разделение концепций. На самом деле ASP.NET MVC реализует современный
вариант MVC паттерна, который особенно хорошо подходит для веб приложений. Применяя и адаптируя
MVC паттерн, ASP.NET MVC Framework сильно конкурирует с Ruby on Rails и аналогичными
платформами, и переносит MVC паттерн в основное русло мира .NET. Суммируя опыт и лучшую
практику разработчиков, использующих другие платформы, можно сказать, что ASP.NET MVC может
предложить даже больше, чем Rails. Внутренние компоненты настольного ПК являются независимыми
частями, которые взаимодействуют только через стандартные, публично документированные
интерфейсы. Вы можете легко вынуть видеокарту или жесткий диск и заменить его другим от другого
производителя и будете уверены, что он впишется в слот и будет работать. MVC Framework также
построен как ряд независимых компонентов, удовлетворяющих .NET интерфейс или построенных на
абстрактном базовом классе, так что вы можете легко заменить компоненты, такие как система
маршрутизации, движок для просмотра и так далее другими. ASP.NET MVC дизайнеры построили его
таким образом, чтобы дать вам три варианта выбора для каждого компонента MVC Framework:
Использовать реализацию по умолчанию компонента в его нынешнем виде (чего должно быть
достаточно для большинства приложений).
Вывести подкласс реализации по умолчанию для настройки ее поведения.
Заменить компонент полностью при помощи новой реализации интерфейса или абстрактного
базового класса.
Это похоже на модель еще из ASP.NET 2.0, но давайте пойдем еще дальше – прямо в сердце
MVC Framework.
ASP.NET MVC признает важность получения чистой, соответствующей стандартам разметки.
Его встроенные методы HTML помощника предоставляют соответствующие стандартам выходные
данные, но есть и более значительные философские изменений по сравнению с Web Forms. Вместо
того чтобы плодить огромные участки HTML, котором нам сложно управлять, MVC Framework
рекомендует вам выработать простой, элегантный стиль разметки с помощью CSS. Конечно, если вы
414
хотите использовать некоторые готовые виджеты для сложных элементов пользовательского
интерфейса, такие как выбор даты или каскадное меню, то вам стоит знать, что подход ASP.NET
MVC к разметке упрощает использование лучших в своем роде UI библиотек, таких как JQuery UI
или библиотеки Yahoo YUI. Разработчики JavaScript будут рады узнать, что ASP.NET MVC так
хорошо сработался с популярной библиотеки JQuery, что Microsoft сделал JQuery встроенной частью
шаблона проектов ASP.NET MVC и даже позволяет напрямую ссылаться на .js файл jQuery на
собственных CDN серверах Microsoft. Страницы, сгенерированные ASP.NET MVC, не содержат
никаких данных View State, поэтому они могут быть в сотни килобайт меньше, чем обычные
страницы, созданные при помощи ASP.NET Web Forms. Несмотря на современную широкополосную
связь и быстрые подключения, эта экономия пропускной способности до сих пор чрезвычайно
притягательна для конечных пользователей. Как Ruby on Rails, ASP.NET MVC работает в гармонии с
HTTP. Вы полностью контролируете запросы, проходящие между браузером и сервером, поэтому вы
можете подогнать настройки под себя, на сколько вам это нравится. AJAX сделан просто, и нет
никакого автоматического обратного вмешательства в состояния на стороне клиента. Любой
разработчик, который в первую очередь фокусируется на веб программировании, почти наверняка
посчитает это освобождением и будет наслаждаться рабочим процессом. Архитектура MVC дает вам
отличную возможность создавать ваше приложение таким, чтобы его можно было легко
сопровождать и тестировать, потому что вы, естественно, захотите разделить логические блоки
приложения по независимым частям программного обеспечения. Тем не менее, создатели ASP.NET
MVC на этом не остановились. Для поддержки модульного тестирования они приняли компоненто-
ориентированный дизайн фреймворка и убедились, что каждая отдельная часть построена так, чтобы
отвечать требованиям модульного тестирования. Они добавили мастера (визарды) Visual Studio для
создания начальных проектов модульного тестирования от вашего имени, которые интегрированы с
инструментами модульного тестирования с открытым исходным кодом, такими как NUnit и XUnit, а
также собственным MSTest Microsoft. Даже если вы никогда не писали модульных тестов, вам будет
легко в этом разобраться. Тестируемость – это не только вопрос модульного тестирования. ASP.NET
MVC приложения также хорошо работают с инструментами автоматического тестирования. Вы
можете написать тестовые скрипты, которые имитируют взаимодействие с пользователем, без
необходимости гадать, какие структуры HTML элементов, CSS классы или ID будет генерировать
фреймворк, и вам не придется беспокоиться о структуре, если она вдруг неожиданно изменится.
Стиль ссылок изменился, поскольку технология веб приложений улучшилась. Такие ссылки, как эта:
/App_v2/User/Page.aspx?action=show%20prop&prop_id=82742
можно встретить довольно редко. Теперь они заменены более простым и чистым форматом:
/to-rent/chicago/2303-silver-street
Есть несколько веских причин для заботы о структуре URL. Во-первых, поисковые системы
придают значительный вес ключевым словам, находящимся в URL. Поиск "аренда в Чикаго" (rent in
Chicago) имеет гораздо больше шансов с простым URL. Во-вторых, многим пользователям Интернета
теперь хватит навыков и знаний, чтобы понять URL, и оценить возможности навигации, набрав его в
адресной строке своего браузера. В-третьих, когда кто-то понимает структуру URL, он, скорее всего,
будет ссылаться именно на него, поделится этой ссылкой с другом или даже продиктует ее вслух по
телефону. В-четвертых, такая ссылка не предоставляет технические подробности, папки, имена файлов и
структуру приложения на весь общественный Интернет, так что вы можете изменить внутреннюю
реализацию, не нарушая ссылки. В более ранних фреймворках было сложно реализовать чистые ссылки,
но ASP.NET MVC использует возможность System.Web.Routing, которая по умолчанию создает чистые
URL-адреса. Теперь вы можете контролировать схему ссылок и ее связь и отношение к приложению, то
есть вы свободны в создании шаблона URL-адресов, которые являются значимыми и полезными для
пользователей, без необходимости соответствовать предопределенному шаблону. И, конечно, это
означает, что вы можете легко определить современную URL схему в стиле REST, если захотите.
Существующая платформа Microsoft ASP.NET предоставляет зрелый, хорошо зарекомендовавший себя
набор компонентов и средства для разработки эффективных и действенных веб приложений.
Во-первых, и что наиболее очевидно, поскольку ASP.NET MVC основан на. NET платформе, у вас
есть возможность писать код на любом .NET языке и иметь доступ к тем же API функциям, не только к
MVC, но и к обширной .NET библиотеке классов и огромной экосистеме сторонних .NET библиотек. Во-
415
вторых, готовые возможности платформы ASP.NET, такие как мастер-страницы, аутентификация, роли,
профили и интернационализация, могут уменьшить количество кода, который нужно писать и
поддерживать для любых веб приложений, и эти функции так же эффективны при использовании в MVC
Framework, как и в классических проектах Web Forms. Вы можете заново использовать некоторые
встроенные серверные элементы управления Web Forms, а также свои собственные элементы управления
из предыдущих проектов ASP.NET в приложениях ASP.NET MVC (если они не зависят от некоторых
конкретных возможностей Web Forms, таких как View State). С момента своего создания в 2002 году
.NET платформа Microsoft неумолимо развивалась, поддерживая и даже определяя аспекты современного
программирования. ASP.NET MVC 4 был создан для .NET 4.5, поэтому его API в полной мере принял
преимущества самых современных языков и технологий, в том числе ключевое слово await, методы
расширений, лямбда-выражения, анонимные и динамические типы и LINQ (Language Integrated Query).
Многие из методов API MVC Framework и паттерны кодирования следуют более чистым, более
выразительном композициям, чем это было возможно на более ранних платформах. В отличие от
предыдущих платформ веб-разработки от Microsoft, вы можете загрузить исходный код для ASP.NET
MVC и даже изменить и скомпилировать собственную версию. Это имеет неоценимое значение, когда
ваша отладка касается системы компонентов, и вы хотите зайти в код (и даже прочитать комментарии
программистов-создателей). Это также полезно, если вы создаете «продвинутые» компоненты и хотите
посмотреть, какие возможности существуют для их развития или как действительно работают
встроенные компоненты.
ЛИТЕРАТУРА
1. Сандерсон С. ASP.NET MVC Framework с примерами на С# для профессионалов. :Пер. с англ – М. :
«И.Д. Вильямс». 2010 – 560 с.
2. Джесс Чедвик, Тодд Снайдер, Хришикеш Панда. ASP.NET MVC 4: разработка реальных веб-
приложений с помощью ASP.NET MVC — М.: «Вильямс», 2013. — 432 с.
REFERENCES:
1. Sanderson S. ASP.NET MVC Framework with examples on С# for pro. :Translated by – М. : «И.Д. Вильямс».
2010 – 560 p.
2. Jess Chadvik, Todd Snider, Hrishikesh Panda. Programming ASP.NET MVC 4: Developing Real-World Web
Applications with ASP.NET MVC. — М.: «Вильямс», 2013. — 432 p.
Тобаев Е.Т., Рахматуллаев Р.Д.
Веб-қосымшаларды өңдеуге арналған ASP.NET MVC платформасы
Түйіндеме. Бұл мақала Microsoft ASP.NET MVC веб-өңдеулеріне арналған жаңа платформаға арналған.
Нақты технологияның даму тарихы, сонымен қатар, веб-өңдеулердің негізгі қасиеттері мен ерекшеліктеріне
шолу қарастырылады.
Түйін сөздер: веб-өңдеу, веб-технологиясы, модель-представление-контроллер, платформа, интернет.
Tobaev Y.T., R.D. Rakhmatullaev
ASP.NET MVC framework for developing web applications
Summary. The article focuses on a new platform for web development on the Microsoft ASP.NET MVC. As well
as an overview of its main advantages and properties in web development, and the history of this technology.
Key words: web developing, web technology, model-view-соntroller, framework, internet.
ƏОЖ 004.738.52
Толымбек Қ. магистрант, Қыдырбек Қ. магистрант,
Қуаныш А. магистрант, Байматаева Ш.М.
Қ.И. Сəтбаев атындағы Қазақ ұлттық техникалық университеті,
Алматы қ., Қазақстан Республикасы
kaysar.tolymbek@mail.ru
ДЕРЕКТЕР БАЗАСЫНЫҢ КӨП ДЕҢГЕЙЛІ АРХИТЕКТУРАСЫНА
НЕГІЗДЕЛГЕН WEB-ҚОСЫМША
Аңдатпа. Бұл мақалада Интернетте ақпараттық жүйелерді жасауда қолданылатын клиент –серверлік
жүйелердің əрекеттесу тəсілдерін зерттеуқарастырылған.
Түйін сөздер: Web-қосымша, мəлімметтер, ақпараттық жүйе, мəлімет кестелері.
416
Қазіргі кезде интернет желісінің кеңінен қолдануы, қолданушылардың ақпаратты ағымдағы
уақыт масштабында алуына мүмкіндік береді. Мұндай ақпарат көмегімен жұмыс істеу үшін ол
реттелген болуы керек. Ол үшін деректер базасын (ДБ) құру мен сұраныстарды өңдеудің тəсілдерін
зерттеу өзекті болып табылады. Интернет желілерінде ақпараттық жүйелерді құруда қолданылатын
web-қосымшалар мəліметтер базасын жариялайтын көп деңгейлі қосымшалар ретінде қолданылады.
Көп деңгейлі архитектураны енгізу мəліметтер базасы сервері мен байланыс линияларына жүктемені
азайтуға мүмкіндік береді жəне клиент серверлік технологиялар негізінде құрылған мəліметтер
базаларының желілік қосымшаларынан ерекшеленеді. Көп деңгейлі архитектурада мəліметтер базасы
сервері мен клиенттер қосымшаларынан басқа қосымшалар сервері болады. Қосымшалар сервері
мəлімететр брокері деп те аталады. Көп деңгейлі архитектураның тағы бір артықшылығы
мəлімететрге қол жеткізу механизмі қосымшалар серверінде орналасады. Бұл клиенттерде сəйкес
драйверлерді орнату мен икемдеуді қажет етпейді. Осыған байланысты клиенттік машиналар
"жіңішке" деп аталады.
Мұндай архитектурада жіңішке клиент ретінде web-серверді кеңейту модулі қолданылады.
Қосымшалар сервері əртүрлі аппаратттық программалық платформаларда жұмыс істейтін web-
серверлер мен мəліметтер базалары серверлерімен əрекеттесуді қамтамасыз етеді. Мұндай
архитектура қолданыстағы жергілікті желілер негізінде құрылатын интранет желілер үшін негіз
болып табылады.
Web-сервердің қосымша деңгейін енгізу ақпаратты жергідікті желілердегі мəліметтер
базаларынан жариялауға, басқа интранет желілерден ақпарат алуға мүмкіндік береді.
Кейбір ақпараттық жүйелердің архитектурадарында web-сервер құрылымдық түрде қосымшалар
серверімен бірігуі мүмкін. Бұл жағдайда кеңейту модулінің құрамына кіретін программалық құралдар
қосымшалар сервері ретінде жұмыс істейді.
Қосымшалар сервері клиенттер мен мəлімететр базасы серверінің əрекетін ұйымдастыратын
аралық деңгей болып табылады (1 сурет):
Мұндай архитектура келесі қосымша артықшылықтарды береді:
Алыс қол жеткізу мен басқару концепциясын іске асыру. Алыс қол жеткізу концепциясы
желіге кез келген компьютерден қосылу мүмкіншілігін береді. Алыс басқару ретінде жергілікті
желіге қосылып оның ресурстарын басқару операцияларын алыс компьюетрден басқару түсініледі.
Желі клиенттерінің Интернетке қол жеткізулерін қамтамасыз ету.
Қазіргі кездеweb-ті қолдану мүмкіншілігін кеңейту үшін таратылған жүйелер концепциясын
қолдайтын келесі технологияларды атауға болады: CORBA, DCOM жəне SOA.
TCP/IP
TCP/IP
S ql -сұраныс Sql -сұраныс
URL
HTML
TCP/IP
1 сурет - Көп деңгейлі web-қосымшаның архитектурасы
Интернетті
қолданушының
компьютері
Web –түйін компьютері
Web –
сервер
Web ‐
шолушы
Сервер
МБ сервері
Мəліметт
417
Мұндай архитектура келесі қосымша артықшылықтарды береді:
Алыс қол жеткізу мен басқару концепциясын іске асыру. Алыс қол жеткізу концепциясы
желіге кез келген компьютерден қосылу мүмкіншілігін береді. Алыс басқару ретінде жергілікті
желіге қосылып оның ресурстарын басқару операцияларын алыс компьюетрден басқару түсініледі.
Желі клиенттерінің Интернетке қол жеткізулерін қамтамасыз ету.
Қазіргі кездеweb-ті қолдану мүмкіншілігін кеңейту үшін таратылған жүйелер концепциясын
қолдайтын келесі технологияларды атауға болады: CORBA, DCOM жəне SOA.
CORBA (Common Object Request Broker Architecture) (объектті сұраныстар брокернің
архитектурасы ) таратылған объекттерді құрудың ең тиімді технологияларының бірі болып табылады.
Бұл технология инфрақұрылымнан, желілік протоколдардан, операциялық жүйелер мен
программалау тілдерінен тəуелсіз таратылған жүйелерді құруды ұсынады.
DCOM (Distributed Common Object Model) (Таратылған объекттер моделі) Microsoft фирмасымен
жасалған таратылған жүйелерді құру технологиясы болып табылады. DCOM таратылған объектті
жүйелердің мəселелерінің тек қана дербес шешімі болып табылады. Оны Microsoft-бағытталған
орталарда қолданған ыңғайлы.
SOA(Simple Object Access ) (сервис бағытталған архитектура) сервистердің желі бойынша
интерфейстер арқылы əрекеттесуін қамтамасыз ететін компонентті модель.
Сокеттер - желіні TCP/IP протоколы бойынша қолдануға мүмкіндік береді.
MTS ( Microsoft Transaction Server–Microsoft транзакциялар сервері) - DCOM-ғанегізделген
жəне кейбір қосымша мүмкіндіктері бар.
Бұл жұмыста Delphi қолданып қосымшалар серверіне қосылуға арналған клиенттік қосымша құру
қарастырылады. Егер клиенттер саны аз болса мəліметтерді қосымшалар серверінде орналастырып
оларға жергілікті қол жеткізуге болады. Келесі суретте клиенттік форма мысалы көрсетілген.
2 сурет - Клиенттік форма
Мұнда қосымшалар серверінде орналасқан мəліметтерге қол жеткізуге, оларды жаңартуға,
өзгертулерді сақтауға арналған батырмалар орналасқан. Қосымша жұмысын аяқтағаннан кейін келесі
хабарлама шығады:
3 cурет - Қосымшаның жұмысын аяқтау
Егер мəліметтер базасына сұраныс жасайтын басқа клиенттер болмаса, қосымшаны орындауды
жабуға болады.
ƏДЕБИЕТТЕР
1. Құрметхан Т., Байматаева Ш.М. Web-технологиялар негізінде ақпараттық жүйелерді құру тəсілдерін
зерттеу// «Қозыбаев оқулары-2013 : Қазақстан əлемдік мəдени-өркениеттік үрдістерде» халықаралық ғылыми-
практикалық конференция материалдары, Солтүстік Қазақстан мелекеттік университеті, 15 қараша, 2013 ж.
418
2. Құрметхан Т., Байматаева Ш.М. Web–қосымшаларда қолданылатын деректер құрылымдарын зерттеу
// Материалы межд. научно-практ. конф. "Применение информационно-коммуникационных технологий в
образовании и науке", Алматы, КазНУ им. Аль-Фараби.С. 227-229.
3. Система управления БД и знаний: Справочное издание /А.Н.Наумов, А.М.Ведров, В.К.Иванов и др. —
М.:Финансы и статистика, 2002. -348с.
4. Базы данных: интеллектуальная обработка информации В.В.Корнеев, А.Ф.Гареев, С.В.Васютин. —
М.:Нолидж, 2000. -352с.:ил.
5.
http://www.musuk.info/blogpost/xslt
.
6. Тұрсынбек Ж., Байматаева Ш.М. Web-технологиялар негізінде қосымшаларды жобалаудың тəсілдерін
зерттеу//«Ақпараттық жəне телекоммуникациялық технологиялар: білім, ғылым, тəжірибе» атты халықаралық
ғылыми-тəжірибелік конференциясының материалдары, Алматы, Қазақстан, 5-6 желтоқсан, 2012 ж.
Достарыңызбен бөлісу: |