Опубликован: 27.12.2011 | Доступ: свободный | Студентов: 1333 / 35 | Оценка: 4.44 / 4.44 | Длительность: 12:31:00
Лекция 5:

Базовые понятия Microsoft LightSwitch 2011 и принципы разработки приложений с его использованием

< Лекция 4 || Лекция 5: 12 || Лекция 6 >
Аннотация: Рассматриваются вопросы, связанные с созданием средств разработки бизнес-приложений на основе баз данных и показана логичность появления продукта LightSwitch 2011 в рамках дополнительных средств разработки для платформы Visual Studio 2010. Описываются ключевые концепции, лежащие в основе LightSwitch, а также приводится описание основных элементов этой платформы и пример создания простейшего приложения.

Цель лекции: описание основных понятий, лежащих в основе нового средства разработки бизнес-приложений на основе баз данных Microsoft LightSwitch 2011.

Современные тенденции развития интернет приложений показывают, что в будущем большинство бизнес-приложений будут виртуальными и доступными через интернет с любого мобильного устройства. Причем это произойдет в достаточно обозримом промежутке времени. И уже сейчас востребованы инструменты для создания такого типа приложений. Новые инструменты должны быть ориентированы на пользователей, хорошо разбирающихся в своей предметной области, но не профессионалов в программировании.

Компания Microsoft достаточно долгое время разрабатывала специальные инструменты, упрощающие создание приложений, основанных на базах данных, например, Visual FoxPro, Visual Basic и др.. Создание платформы .Net также подтверждает ориентированность компании на выпуск простых и удобных инструментов для разработчиков. Развитие платформы .Net от Windows Forms к Windows Presentation Foundation и от ASP.Net к Silverlight показывает, что большое внимание уделяется созданию удобных механизмов доступа и обработки к данных.

Средство разработки Visual Studio включает в себя различные мастера и дизайнеры, обеспечивающие высокую скорость и удобство разработки приложений на основе баз данных (окно источника данных, дизайнер набора данных и т.д.). И хотя развитие данных методов идет эволюционным путем, но в настоящее время достаточно сложно разобраться в указанных технологиях, что, в свою очередь, усложняет разработку эффективных приложений, основанных на данных. Также происходит естественный процесс технологического обновления, что приводит к постоянному устареванию имеющихся у разработчика знаний и необходимости изучения новых подходов. Наиболее существенным в разработке приложений, ориентированных на работу с данным следует считать появление Linq и основанных на нем технологий Linq for SQL, Linq for Data Setи т.д. Это принципиально изменило работу с данными из кода программы.

Также следует упомянуть, что Microsoft давно "мечтает" и обещает разработчикам эффективный и мощный Object-relational mapping (ORM) (Объектно-реляционное отображение). Так, в 2006 году огромные усилия компания затратила на создание концепции и технологии Data Spice, но, по ряду причин, проект не был завершен. Ряд наработок этого проекта используется в других технологиях. В частности, в 2009 году появилось ORM-средство Microsoft Linq for Entity, что также является определенным прорывом и значительно облегчает разработку приложений на основе баз данных.

Естественным в данном контексте выглядит появление нового продукта Microsoft LightSwitch 2011. Приложения LightSwitch используют последнюю версию .Net Framework 4.0 и все доступные на данный момент технологии работы с данными. В рамках LightSwitch эти технологии объединяются в единый абстрактный слой, оптимизированный для быстрого создания приложений, основанных на данных с использованием визуальных редакторов.

LightSwitch минимизирует потребность написания однотипного кода для реализации стандартных операций использования данных. Систематизировав типовые сценарии разработки приложений, Microsoft создала инструмент, который позволяет создавать надежные, удобные и эффективные приложения, сокращая рутинные операции по написанию кода, при этом генерируемый автоматически код имеет высокое качество.

Microsoft LightSwitch 2011 представляет собой новый продукт в семействе Visual Studio 2010, который включает в себя специальные типы проектов. С его помощью разработчики имеют возможность создавать структуру базы данных, удобный мультиплатформенный интерфейс для обработки информации в этой базе, а также бизнес-логику, которая обеспечивает функционирование бизнес-приложения и обеспечивает его целостность.

Полученное таким образом приложение является многоуровневым и развертывается как клиентское приложение на основе Silverlight исполняемое на компьютере пользователя, а также мощную серверную часть, использующую Entity Framework, WCF RIA Services и другие технологии.

Пользовательский интерфейс в таком приложении основан на применении стандартных элементов управления Silverlight.

В целом подобная структура обеспечивает возможность создания достаточно надежных и удобных для пользователя приложений с минимальными издержками со стороны разработчика.

Большая часть интерфейса автоматически генерируется на основе схемы базы данных, а затем изменяется и настраивается в соответствии с потребностями разработчика. Бизнес-правила либо декларативно задаются через окно свойств дизайнера, либо могут быть определены в коде программы для различных событий. Возможность программирования значительно расширяет для разработчика спектр реализации бизнес-логики и обеспечивает необходимый уровень удобства. Разработка может выполняться как на языке Visual Basic .Net, так и на языке С#.

Важной составляющей LightSwitch является возможность создания и использования расширений. C помощью расширении может быть реализована как сложная бизнес-логика, так и дополнительные элементы интерфейса, обладающие требуемым поведением и функциональными особенностями. Все это обеспечивает возможность для независимых разработчиков создавать новые компоненты и распространять их, в том числе и путем их продажи. Для пользователей приложения расширения значительно увеличивают удобство использования приложения и эффективность работы с ним.

Разработка в LightSwitch выполняется в рамках знакомого для большинства программистов подхода, когда сначала разрабатывается модель или схема базы данных, а затем для нее разрабатывается пользовательский интерфейс. Эталоном в данном классе систем разработки является программа Microsoft Access, ориентированную на быстрое создание небольших приложений, связанных с данными. Существуют и другие подобные продукты, но в отличие от них LightSwitch 2011 ориентирован на максимальное использование имеющихся взаимосвязей в данных и на автоматическое создание пользовательского интерфейса, но при этом сохраняется определенный уровень гибкости разработки и любой сгенерированный элемент может быть доработан программистом, чтобы максимально соответствовать требованием пользователя. Доработка осуществляется либо через написание кода или через создание расширений.

Существенным отличием является то, что дизайнер LightSwitch не является WYSWYG – ориентированным, а позволяет удобно представлять иерархию элементов управления с возможностью изменения их свойств, настройки и добавления программного кода. Цель разработчика – определить для различных элементов управления как он должен размещаться, какие у него возможности по редактированию данных, а также установить взаимоотношения элементов в секциях экрана с учетом требования по редактированию информации. При этом нет необходимости точно определять местоположение элемента, его размер и другие свойства его внешнего вида.

Достаточно эффективный и сбалансированный интерфейс будет сгенерирован автоматически. Это освобождает от большого количества рутинной работы. Вместе с тем имеется возможность и тонкой подстройки элементов в специальном режиме редактирования на работающем приложении. При этом элементы заполнены данными и такая подстройка гораздо удобнее стандартных подходов к созданию интерфейсов в средах разработки.

Как уже отмечалось, LightSwitch обеспечивает возможность дописывать код для описания бизнес-логики приложения. Для этого реализован стандартный механизм обработки событий. Программный код может быть доставлен в эти события, также можно создавать отдельные классы и методы и вызывать их из обработанных событий.

Важной особенностью является то, что базовые элементы интерфейса LightSwitch – экраны могут использовать свои параметры и, передавая их, изменять исходные запросы, обеспечивая возможность выбора данных или сортировки на основе выбора пользователя.

Также простой код может использоваться для управления правами доступа на уровне ролей или отдельных пользователей. Это достигается, например, путем изменения пользовательского интерфейса, включения (выключения) отдельных экранов или элементов интерфейса на основе идентификатора пользователя или его роли.

Большинство современных бизнес-приложений ориентировано на использование структурированной информации, наиболее распространенным способом представления, которой стали реляционные базы данных. Ключевыми операциями для работы с этими данными является создание, обновление, удаление, запросы, вывод отчетов. Одной из проблем является то, что реляционная структура базы данных и объектно-ориентированная программная система, хотя и представляют собой описание одной и той же предметной области, но достаточно сложно друг с другом взаимодействуют.

Решают эту проблему по-разному, например, разработкой специальных видов баз данных или ORM систем. В LightSwitch эта проблема решена тем, что большая часть работы по связыванию реляционной и объектной модели осуществляется автоматически, а создание и настройка производится в дизайнере, поддерживающем удобное для разработчика реляционное представление.

После рассмотрения основных принципов построения LightSwitch приложения можно привести пример разработки простейшего ориентированного на данные приложения. В примере рассмотрено создание системы учета успеваемости студентов. В базе данных сохраняется информация о студентах и студенческих группах, изучаемых дисциплинах, кафедрах, преподавателях и оценках, полученных студентами по результатам сессии. На рис. 5.1 приведена структура разрабатываемой базы данных. Приложение должно позволять редактировать любую информацию, а также добавлять оценки.

На рис. 5.1 приведен вид дизайнера базы данных LightSwitch в режиме редактирования таблицы Студенты ( рис. 5.1).

Интерфейс конструктора таблиц LightSwitch

увеличить изображение
Рис. 5.1. Интерфейс конструктора таблиц LightSwitch

В левом верхнем углу отображается таблица группы, которая является главной в связи Группы – Студенты.

В левом нижнем углу отображается таблица оценки, которая является подчиненной в связи Студенты – Оценки. Для перехода к этим таблицам моно выполнить на них двойной щелчок.

На основе таблиц может быть создан еще один элемент интерфейса – экран.

В конструкторе экран выглядит, как показано на рис. 5.2. Видно, что содержимое экрана представлено в виде иерархического списка. Каждый элемент можно выделить и настроить с помощью окна свойств, также можно добавлять и удалять и перемещать элементы, изменять их тип (подробнее работа с дизайнером описана в "Разработка пользовательского интерфейса бизнес-приложения на основе экранов" ).

Интерфейс конструктора экранов LightSwitch

увеличить изображение
Рис. 5.2. Интерфейс конструктора экранов LightSwitch
< Лекция 4 || Лекция 5: 12 || Лекция 6 >