Разработка модуля для портала SharePoint по созданию учетной записи в Active Directory SharePoint User Profile

 Разработка модуля для портала SharePoint по созданию учетной записи в Active Directory SharePoint User Profile

Содержание
Введение............................................................................................................. 1
1 Теоретическая часть...................................................................................... 3
1.1 Особенности технологии написания приложений для SharePoint .... 3
1.2 Особенности технологии разработки приложений ........................... 3
1.3 Принципы работы................................................................................ 5
1.4 Основные понятия ............................................................................... 7
1.5 Application Programming Interface....................................................... 7
1.7 .NET Framework ................................................................................... 9
1.8 Алфавит и синтаксис C# ................................................................... 13
1.9 Active Directory .................................................................................. 16
1.10 ASP.NET............................................................................................ 19
2 Реализация приложения ............................................................................. 21
2.1 Место реализации проекта ................................................................ 21
2.2 Техническое решение проекта .......................................................... 22
2.3 Организационная структура.............................................................. 25
2.4 Функциональные возможности ........................................................ 25
2.5 Требования пользователя .................................................................. 25
2.6 Основные понятия ............................................................................. 26
2.7 Схема работы приложения................................................................ 29
3 Описание работы программы .................................................................... 30
3.1 Программа.......................................................................................... 30
3.2 Пример работы веб-приложения для компании Алси ..................... 33
3.3 Код программы .................................................................................. 35
3.4 Код разметки страницы ..................................................................... 35
4 Безопасность жизнедятельности ............................................................... 37
4.1 Анализ условий труда ....................................................................... 37
4.2 Рабочее помещение ........................................................................... 37
4.3 Расчет системы искусственного освещения помещения................. 39
4.4 Анализ пожарной безопасности ....................................................... 41
4.5 Расчет системы кондиционирования................................................ 43
5 Технико-экономическое обоснование проекта ........................................ 47
5.1 Описание работы и обоснование необходимости ............................ 47
5.2 Определение объема и трудоемкости разработки программного
обеспечения .............................................................................................. 47
5.3 Расчет затрат на разработку информационных технологий ............ 51
5.4 Расчет цены программного продукта ................................................ 56
Заключение ...................................................................................................... 57
Список литературы ......................................................................................... 58
Приложение А ................................................................................................. 59
Приложение В ................................................................................................. 66
Приложение C ................................................................................................. 94
Приложение D ................................................................................................. 95
Приложение E.................................................................................................. 96


1.1 Особенности технологии написания приложений для SharePoint

Microsoft SharePoint – корпоративный веб-портал, система документообо-
рота и автоматизации бизнес-процессов. С помощью SharePoint Вы можете в
наглядном виде представлять в окне Вашего браузера библиотеки документов,
задачи, коллективные обсуждения, список сотрудников или клиентов, заявки от
клиентов и даже показатели из финансовой базы данных.
Чтобы расширить возможности SharePoint для пользователей, требуется
разработка специальных приложений.
Microsoft Office SharePoint Designer – HTML-редактор и программа веб-
дизайна от компании Microsoft, предназначенная для создания сайтов Microsoft
SharePoint и работы над их дизайном.
Microsoft Visual Studio – среда разработки, которая представляет собой
всеобъемлющий набор инструментов, многократно ускоряющий разработку
веб-приложений.

1.2 Особенности технологии разработки приложений

C – компилируемый статически типизированный язык программирования
общего назначения. Поддерживает такие парадигмы программирования как
процедурное программирование, модульность, раздельная компиляция, обра-
ботка исключений, абстракция данных, типы (объекты), виртуальные функции,
объектно-ориентированное программирование, обобщенное программирование,
контейнеры и алгоритмы, сочетает свойства как высокоуровневых, так и низко-
уровневых языков.
Стандарт C на 2003 год состоит из двух основных частей: описание ядра
языка и описание стандартной библиотеки.
Кроме того, существует огромное количество библиотек C, не входящих в
стандарт. В программах на C можно использовать многие библиотеки C.
Стандартизация определила язык программирования C, однако за этим
названием могут скрываться также неполные, ограниченные, достандартные
варианты языка. Первое время язык развивался вне формальных рамок, спон-
танно, по мере встававших перед ним задач. Развитию языка сопутствовало
развитие кросс-компилятора cfront. Новшества в языке отражались в изменении
номера версии кросс-компилятора. Эти номера версий кросс-компилятора рас-
пространялись и на сам язык, но применительно к настоящему времени речь о
версиях языка C++ не ведут.
C добавляет к C объектно-ориентированные возможности. Он вводит
классы, которые обеспечивают три самых важных свойства ООП: инкапсуля-
цию, наследование и полиморфизм.
В стандарте C под классом (class) подразумевается пользовательский тип,
объявленный с использованием одного из ключевых слов class, struct или union,
под структурой (structure) подразумевается класс, определённый через ключе-
вое слово struct, и под объединением (union) подразумевается класс, определён-
ный через ключевое слово union.
C – чрезвычайно мощный язык, содержащий средства создания эффек-
тивных программ практически любого назначения, от низкоуровневых утилит и
драйверов до сложных программных комплексов самого различного назначе-
ния. В частности:
 поддерживаются различные стили и технологии программирования,
включая традиционное директивное программирование, ООП, обобщённое
программирование, метапрограммирование (шаблоны, макросы);
 предсказуемое выполнение программ является важным достоинством
для построения систем реального времени. Весь код, неявно генерируемый
компилятором для реализации языковых возможностей (например, при преоб-
разовании переменной к другому типу), определён в стандарте. Также строго
определены места программы, в которых этот код выполняется. Это даёт воз-
можность замерять или рассчитывать время реакции программы на внешнее
событие;
 автоматический вызов деструкторов объектов при их уничтожении,
причём в порядке, обратном вызову конструкторов. Это упрощает (достаточно
объявить переменную) и делает более надёжным освобождение ресурсов (па-
мять, файлы, семафоры и т. п.), а также позволяет гарантированно выполнять
переходы состояний программы, не обязательно связанные с освобождением
ресурсов (например, запись в журнал);
 пользовательские функции-операторы позволяют кратко и ёмко запи-
сывать выражения над пользовательскими типами в естественной алгебраиче-
ской форме;
 язык поддерживает понятия физической (const) и логической (mutable)
константности. Это делает программу надёжнее, так как позволяет компилято-
ру, например, диагностировать ошибочные попытки изменения значения пере-
менной. Объявление константности даёт программисту, читающему текст про-
граммы дополнительное представление о правильном использовании классов и
функций, а также может являться подсказкой для оптимизации. Перегрузка
функций-членов по признаку константности позволяет определять изнутри
объекта цели вызова метода (константный для чтения, неконстантный для из-
менения). Объявление mutable позволяет сохранять логическую константность
при использовании кэшей и ленивых вычислений;
 используя шаблоны, возможно создавать обобщённые контейнеры и
алгоритмы для разных типов данных, а также специализировать и вычислять на
этапе компиляции;
 возможность имитации расширения языка для поддержки парадигм,
которые не поддерживаются компиляторами напрямую. Например, библиотека
Boost.Bind позволяет связывать аргументы функций;
 возможность создания встроенных предметно-ориентированных язы-
ков программирования. Такой подход использует, например библиотека
Boost.Spirit, позволяющая задавать EBNF-грамматику парсеров прямо в коде C;
 используя шаблоны и множественное наследование можно имитиро-
вать классы-примеси и комбинаторную параметризацию библиотек. Такой под-
ход применён в библиотеке Loki, класс SmartPtr которой позволяет, управляя
всего несколькими параметрами времени компиляции, сгенерировать около 300
видов «умных указателей» для управления ресурсами;
 кроссплатформенность: стандарт языка накладывает минимальные тре-
бования на ЭВМ для запуска скомпилированных программ. Для определения
реальных свойств системы выполнения в стандартной библиотеке присутству-
ют соответствующие возможности (например, std::numeric_limits ). Доступ-
ны компиляторы для большого количества платформ, на языке C разрабатыва-
ют программы для самых различных платформ и систем;
 эффективность. Язык спроектирован так, чтобы дать программисту
максимальный контроль над всеми аспектами структуры и порядка исполнения
программы. Ни одна из языковых возможностей, приводящая к дополнитель-
ным накладным расходам, не является обязательной для использования – при
необходимости язык позволяет обеспечить максимальную эффективность про-
граммы;
 имеется возможность работы на низком уровне с памятью, адресами;
 высокая совместимость с языком C, позволяющая использовать весь
существующий C-код (код на C может быть с минимальными переделками
скомпилирован компилятором C; библиотеки, написанные на C, обычно могут
быть вызваны из C непосредственно без каких-либо дополнительных затрат, в
том числе и на уровне функций обратного вызова, позволяя библиотекам, напи-
санным на C, вызывать код, написанный на С).

1.3 Принципы работы
Приложения для SharePoint – это небольшие и простые в использовании
веб-приложения, обеспечивающие интеграцию популярных веб-стандартов и
технологий, расширяя возможности веб-сайтов SharePoint. Эта статья поможет
вам понять основные концепции создания приложений в SharePoint 2013.
Платформой для приложений является Интернет. Если вы умеете созда-
вать веб-приложения, то сможете создать и приложение для SharePoint. Кроме
того, процесс разработки приложения для SharePoint аналогичен для всех
устройств – мобильных телефонов, планшетных ПК и компьютеров, – что
обеспечивает высокую эффективность работы.
Некоторые из основных преимуществ:
используйте любой язык, например HTML, jаvascript, PHP или .NET,
а также ваши любимые средства веб-разработки, например Visual Studio 2012
или новые средства Средства разработки "Napa" для Office 365;
поместите логику, данные и пользовательский интерфейс приложения
в отдельные компоненты в соответствии со своими потребностями;
например, презентационная логика приложения может иметь язык
HTML, jаvascript может работать на клиенте, который имеет логику Microsoft
.NET и работает на Microsoft Azure, причем данные хранятся в SQL Azure. Или
у вас может быть приложение, написанное на PHP, данные которого хранятся в
MySQL;
подключение к большинству внутренних и общедоступных веб-
поддержка OAuth 2.0 в SharePoint;
с помощью расширенных возможностей API REST и клиентов (JavaS-

cript и .NET) можно получать доступ к данным и службам в SharePoint, напри-
мер поиску, рабочим процессам, социальным службам, таксономии, профилям
пользователей и Службы Business Connectivity Services (BCS), как показано на
рисунке 1.1.
Рисунок 1.1 – Схема работы приложений SharePoint
1.4 Основные понятия

Application Page
Принцип работы этих страниц очень похож .aspx страницы в ASP.net
приложении. По сути это почти одно и тоже. У нас есть страница, которая ле-
жит в неуправляемом пути (14/TEMPLATE/LAYOUTS/…). Code behind страни-
цы имеет доступ к текущему контексту SharePoint, в котором она выполняется,
а, следовательно, может делать все, что позволяет объектная модель.
Сценарий работы – с помощью Visual Studio мы создаем новый проект –
добавляем в него Application Page. В шаблоне aspx страницы вставляем нужную
разметку, либо динамечески ее формируем/изменяем в коде страницы как нам
надо.
CSS3
(англ. Cascading Style Sheets 3 – каскадные таблицы стилей третьего по-
коления) – активно разрабатываемая спецификация CSS. Представляет собой
формальный язык, реализованный с помощью языка разметки. Самая масштаб-
ная редакция по сравнению с CSS1, CSS2 и CSS2.1. Главной особенностью
CSS3 является возможность создавать анимированные элементы без использо-
вания JS, поддержка линейных и радиальных градиентов, теней, сглаживания и
многое другое.
Преимущественно используется как средство описания и оформления
внешнего вида веб-страниц, написанных с помощью языков разметки HTML и
XHTML, но может также применяться к любым XML-документам, например, к
SVG или XUL.
jаvascript
jаvascript – прототипно-ориентированный сценарный язык программиро-
вания. Является диалектом языка ECMAScript.
jаvascript обычно используется как встраиваемый язык для программного
доступа к объектам приложений. Наиболее широкое применение находит в
браузерах как язык сценариев для придания интерактивности веб-страницам.
Основные архитектурные черты: динамическая типизация, слабая типи-
зация, автоматическое управление памятью, прототипное программирование,
функции как объекты первого класса.

Списки
Списки в SharePoint предтавляют из себя элементы хранения данных.
Списки отображаются на отдельных веб-страницах и могут редактироваться
пользователями при помощи веб-интерфейса.
1.5 Application Programming Interface

Интерфейс программирования приложений (иногда интерфейс приклад-
ного программирования) (англ. application programming interface, API (эй-пи-ай)
– набор готовых классов, процедур, функций, структур и констант, предостав-
ляемых приложением (библиотекой, сервисом) для использования во внешних
программных продуктах. Используется программистами для написания всевоз-
можных приложений.

API как средство интеграции приложений
API определяет функциональность, которую предоставляет программа
(модуль, библиотека), при этом API позволяет абстрагироваться от того, как
именно эта функциональность реализована.
Если программу (модуль, библиотеку) рассматривать как чёрный ящик,
то API – это множество «ручек», которые доступны пользователю данного
ящика, которые он может вертеть и дёргать.
Программные компоненты взаимодействуют друг с другом посредством
API. При этом обычно компоненты образуют иерархию – высокоуровневые
компоненты используют API низкоуровневых компонентов, а те, в свою оче-
редь, используют API ещё более низкоуровневых компонентов.
По такому принципу построены протоколы передачи данных по Интер-
нет. Стандартный стек протоколов (сетевая модель OSI) содержит 7 уровней (от
физического уровня передачи бит до уровня протоколов приложений, подоб-
ных протоколам HTTP и IMAP). Каждый уровень пользуется функционально-
стью предыдущего уровня передачи данных и, в свою очередь, предоставляет
нужную функциональность следующему уровню.
Важно заметить, что понятие протокола близко по смыслу к понятию
API. И то и другое является абстракцией функциональности, только в первом
случае речь идёт о передаче данных, а во втором – о взаимодействии приложе-
ний.
API библиотеки функций и классов включает в себя описание сигнатур и
семантики функций.

Сигнатура функции
Сигнатура функции – часть общего объявления функции, позволяющая
средствам трансляции идентифицировать функцию среди других. В различных
языках программирования существуют разные представления о сигнатуре
функции, что также тесно связано с возможностями перегрузки функции в этих
языках.
Иногда различают сигнатуру вызова и сигнатуру реализации функции.
Сигнатура вызова обычно составляется по синтаксической конструкции вызова
функции с учётом сигнатуры области видимости данной функции, имени функ-
ции, последовательности фактических типов аргументов в вызове и типе ре-
зультата. В сигнатуре реализации обычно участвуют некоторые элементы из
синтаксической конструкции объявления функции: спецификатор области ви-
димости функции, её имя и последовательность формальных типов аргументов.
Например, в языке программирования C++ простая функция однозначно
опознаётся компилятором по её имени и последовательности типов её аргумен-
тов, что составляет сигнатуру функции в этом языке. Если функция является
методом некоторого класса, то в сигнатуре будет участвовать и имя класса.

API операционных систем.
Практически все операционные системы (Unix, Windows, Mac OS, и т. д.)
имеют API, с помощью которого программисты могут создавать приложения
для этой операционной системы. Главный API операционных систем – это
множество системных вызовов.
В индустрии программного обеспечения общие стандартные API для
стандартной функциональности имеют важную роль, так как они гарантируют,
что все программы, использующие общий API, будут работать одинаково хо-
рошо или, по крайней мере, типичным привычным образом. В случае API гра-
фических интерфейсов это означает, что программы будут иметь похожий
пользовательский интерфейс, что облегчает процесс освоения новых про-
граммных продуктов.....


Толық нұсқасын 30 секундтан кейін жүктей аласыз!!!


Қарап көріңіз 👇


Пайдалы сілтемелер:
» Туған күнге 99 тілектер жинағы: өз сөзімен, қысқаша, қарапайым туған күнге тілек
» Абай Құнанбаев барлық өлеңдер жинағын жүктеу, оқу
» Дастархан батасы: дастарханға бата беру, ас қайыру