My knowledge base

четверг, 26 июля 2012 г.

Счётчики производительности MS SQL

Некоторые приложения начинают тупить (в т.ч. глюки в интерфейсе) из-за того, что с базой данных что-то не так. Как понять что с БД что-то не то? В Microsof SQL и Windows уже есть отличные счётчики по измерению различных параметров. Надо толmrj создатьь из набор и включить наблюдение. Конечно, надо уметь интерпретировать полученные результаты, но зачастую это несложно: узкое место обнаруживается в "железе" либо в дисковой подсистеме, либо в ОЗУ.  Внизу пример счётчиков и пример файла с оценкой производительности.

Счётчики производительности MS SQL:

\SQLServer:BufferManager\Buffercachehitratio
(процент запросов на получение страницы, которые
Выполняются без обращения к жесткому диску).
\SQLServer:BufferManager\Pagereads/sec
(среднее число страниц в секунду, которое SQL-сервер
Читает с дисковой системы).
\SQLServer:SQLStatistics\BatchRequests/sec
(среднее число пакетных запросов в секунду).
\SQLServer:SQLStatistics\SQLRe-Compilations/sec
(среднее число рекомпиляций в секунду).
\Process(sqlservr)\%ProcessorTime
(утилизация процессоров, создаваемая процессом SQL-сервер).
\Process(sqlagent)\%ProcessorTime
(утилизация процессоров, создаваемая процессом SQL-агент).
\SQLServer:Locks(_Total)\AverageWaitTime(ms)
(среднее время ожидания выполнения запросов блокировки).
\SQLServer:Locks(_Total)\LockWaitTime(ms)
(общее время ожидания выполнения запросов блокировки).

ОС надо тоже смотреть:

Memory:Available Bytes
Memory: Pages/sec
Paging File(_Total)\% Usage
Processor(_Total)\% Processor Time
Cache\Data Map Hits %
PhysicalDisk(_Total) % Disk Read Time
PhysicalDisk(_Total) % Disk Write Time

А вот и пример:
МоёМесто.ruПример отчёта оценки производительности MS SQL (580 Kb)

пятница, 13 июля 2012 г.

Проблема Windows для разделения прав пользователей

Вот представьте себе такую задачу. Вам нужно считать конфигурацию операционной системы, скажем для контроля настроек. Поскольку это сбор, т.е. чтение информации, вы скорее всего захотите сделать это без прав администратора, чтобы не напрягать владельца ОС (чтобы ничего не сломалось). Получится ли считать всю информацию о настройках Windows без прав администратора? Неа, не получиться. На Unix\Linux получиться - там есть механизм разделения полномочий RBAC. Для на счёт Windows поддержка Microsoft отвечает: "by design, что вы хотите от системы, спроектированной 20 лет назад". Тогда ведь о безопасности особо не пеклись.

Lsa*InformationPolicy APIs were never designed (almost 20 years ago)
for remoting, and were designed to require administrative rights.  These APIs manage the policy that the security subsystem enforces and it’s easy to effectively make someone an admin via policy, without regards to group membership.”, т.е. с точки зрения архитектуры системы аудита подразумевается локальное использование и права администратора.

«Some parts of security policy can be delegated on certain releases,
e.g. with auditpol.exe you can set the DACL on audit policy and delegate it to others; or you can assign SeSecurityPrivilege.», т.е. можно использовать возможность делегирования полномочий через auditpol.exe (DACL на политики аудитора) или назначение привилегии SeSecurityPrivilege.

Ссылка на документацию по LSA: Managing Policy Information
  (“The LSA
provides functions that administrators can use to query and set global policy
information for the local computer and the domain”) и Security Management
  (“The LSA
Policy API, the Password Filter API, the Safer API, and the Service Security
Attachments API are intended for use by developers of applications that enable
administrators to manage and secure their systems”). Т.е код, который
использует LSA функции, должен выполняться в контексте учетной записи
администратора.

Ссылка на документацию по LSA: Managing Policy Information
  (“The LSA provides functions that administrators can use to query and set global policy information for the local computer and the domain”) и Security Management   (“The LSA Policy API, the Password Filter API, the Safer API, and the Service Security Attachments API are intended for use by developers of applications that enable administrators to manage and secure their systems”). Т.е код, который использует LSA функции, должен выполняться в контексте учетной записи администратора.


Единственное, что остается писать в Microsoft Connect просьбу когда-нибудь вспомнить о безопасности и принципе наименьших привилегий

Подробнее, что нельзя получить без прав админа:

четверг, 12 июля 2012 г.

Шифрование дисков общих ноутбуков

Вот есть ноутбуки для выездов: парочка на несколько человек. А ведь информацию на них надо защищать от утери, кражи и прочих неприятностей.  Первая мысль о TrueCrypt, но там нет поддержки токена, т.е. нет нормальной двухфакторной авторизации. Можно файлик ключевой на флешки закинуть, но это не круто. Да и с шифрованием системного диска проблемы есть. Единственным решением, где можно шифровать системный диск и использовать токен оказался Secret Disk от Aladdin. Там ещё можно купить корпоративное решение, чтобы у каждого пользователя был свой токен, а админ разрешает использовать этот токен для указанных ноутбуков. Но и здесь не всё гладко: Secret Disk только Windows поддерживает. Поэтому если используется несколько систем, то, наверное, лучше использовать TrueCrypt, но не хранить на системном диске ничего ценного.  

среда, 11 июля 2012 г.

Немного про архитектуру SAP


Выжимка из книжки про SAP
Архитектура
Система SAP. Обычно используется трехуровневая архитектура системы SAP: презентация, приложение, база данных. Только трехзвенная технология позволяет распределить уровень приложения на несколько инстанций, которые могут выполняться на нескольких серверах.
Уровень презентации: SAP GUI – выполняется на ОС клиента.
Уровень приложения: сервисы по обработке данных, чтение-запись в БД.
Уровень базы данных: хранение данных в таблицах СУБД. База данных может быть установлена на одном сервере или быть распределенной.
Совокупность трех уровней образуют систему SAP, которая является минимальной единицей способной выполнять бизнес-функции. В одной организации может быть одна или несколько систем SAP.  Разделение на системы может быть либо на основе бизнес-функций, либо для целей тестирования и консолидации.
Подробности организации уровней системы SAP
Уровень презентаций. Это SAP GUI.
Уровень приложения может состоять из нескольких инстанций. Инстанция – группа процессов, использующих общую память, которые управляются процессом диспетчера и обращаются к одной базе данных. Использование нескольких инстанций нужно для оптимизации производительности. Возможны следующие службы:
a.       служба диалога (D), (система:  >= 2; инстанция: >= 2)
b.      служба сообщений (M), (система: 1; инстанция: 0 или 1)
c.       служба шлюза (G), (система:  >= 1; инстанция: 1)
d.      служба управления блокировками (E), (система:  1; инстанция:  0 или 1)
e.      служба фоновой обработки (B), (система:  >= 1; инстанция: >= 0)
f.        служба вывода (S), (система:  >= 1; инстанция: >= 0)
g.       служба обновления (V), (система:  >= 1; инстанция: >= 0)
h.      служба обновления V2 (V2 – для менее важных обновлений).
В рамках одной инстанции SAP работает как минимум 2 процесса диалога. Инстанция, на которой  работает процесс сообщений, называется центральной инстанцией системы SAP R/3, а остальные диалоговыми. На каждой инстанции работают процессы планировщики , координирующие работу рабочих процессов. Все запросы уровня презентации принимает планировщик и распределяет между рабочими процессами инстанции.  Также на каждой инстанции работают службы обновления и вывода. Служба сообщений выполняется на одном сервере и служит для коммуникации между другими инстанциями. В каждой инстанции есть служба шлюза для коммуникации между разными системами SAP, RFC (Remote Function Call), соединения с внешними системами.
Служба блокировок обычно одна для системы SAP.
Принципы наименования.
Имя базы данных определяет имя всей системы SAP и должно состоять из трёх символов (можно использовать буквы и цифры). Первая буква должна быть заглавной.
 В зависимости от  выполняемых служб изменяется наименование инстанции <SID>_DVEBMSG<номер инстанции>_<имя хоста>, где  <SID> - это уникальное имя системы из 3-х букв.  <номер инстанции> - это последние 2 цифры порта TCP/IP, используемого для соединения.  
Транзакция SAP R/3.
Транзакция SAP включает в себя более широкое понятие, чем транзакция СУБД.  Единицей транзакции является LUW (Logical Units of Work), которая обеспечивает ACID (Атомарность, непротиворечивость, изолированность, долговечность). Обеспечивается за счёт сервиса блокировок.
СУБД
Административные данные и данные приложения хранятся в таблицах СУБД. Несколько таблиц (видны только SAP)могут формироваться в одну таблицу СУБД (называется пулом таблиц). Есть аналогичная группировка таблиц SAP: таблицы кластера, образующие кластер таблиц. Возможно использовать СУБД: SAP DB, DB2, Informix, Oracle.
ОС
Файлы SAP хранятся в каталогу  \usr\sap. Ниже идут каталоги с названием системы, затем каталог с именем инстанции и каталог SYS. В SYS находятся профили инстанции, журналы системы  и выполняемые программы. В папке /usr/sap/<SID>/<instance_name>/log находятся журналы инстанции.
Пользователи
Для UNIX создаются пользователи <sid>adm и <типСУБД><sid>. Для Windows: <sid>adm. Процессы выполняются под пользователем SAPService<SID>. В СУБД пользователь SAPR3, который является владельцем всех таблиц.
Управление системой SAP
Запуск системы.
При запуске ОС запускается программа saposcol (os collector). Сначала запускается СУБД, затем сервер сообщений и блокировок. А уже потом остальные процессы инстанций. В Windows запустить (и управлять) систему SAP можно через специальную оснастку MMC. В UNIX  -  через пакетный файл startsap. При запуске системы создаются журналы startdb.log и startsap_имяхоста_имяинстанции.log. Управление запуском осуществляется в соответствии с настройками  в профилях: default.pfl (системный), start_инстанцияномеринстанции_имяхоста (стартовый), <sid>_инстанцияномер_имяхост (профиль инстанции).  Приоритет: 1. профиль инстанции,  2.системный, 3. системные умолчания.
Запуск клиента
Пиктограмма – это: sapgui /H/имяхоста/S/sapdp<номеринстанции>.  SAPLOGON сохраняет настройки подключения в saplogon.ini, sapmsg.ini, saproute.ini.
Для мониторинга состояния системы надо выбрать команду System->Status.  После выбора инстанции можно перейти к обзору настроек через меню Goto.
      SAProuter – шлюз уровня приложения. Настройки – в saprouttab (текстовый файл). Соединение задается с помощью строки вида: /H/<хост>/<ipaddress>/S/<служба/номерпорта>/W/пароль
sapgui  <строка подключения SAProuter><строка подключения к инстанции>. Служба и порт указываются опционально. Порт по умолчанию: 3299.
Инструменты поддержки
OSS (подключение через SAP GUI) и SAP Service Marketplace. SAP Solution Manager – приложение mySAP для управления и обслуживания.
Принципы инсталляции
Для минимальной инсталляции требуется СУБД и центральная инстанция, которые могут располагаться на одном сервере.
При установке требуется указать SID, номер инстанции, имя хоста и др.
Лицензионный ключ хранится в СУБД. Получит ключ можно через SAP Marketplace. Управление лицензиями – через команду saplicense.
Для начала работы надо скопировать клиент 000 или 001.
При настройке SAP GUI надо указать сервер приложения (имя или ip) и номер системы. Опционально: saprouter или SNC.
Система управления переносами
Система управления переносами (TMSTransport Management System) реализует центральное административное представление настроек и переносов в SAP.
Обычно используется 3 системы SAP: Система интеграции (разработка), Система консолидации (тестирование в среде аналогичной производственной) и Производственная система.
Для централизованного управления свойствами переноса системы должны принадлежать одному домену переноса и управляться контроллером транспортного домена (TDC).
Можно смоделировать перенос, используя виртуальные системы.
Системы SAP с общим каталогом переноса объединятся в транспортную группу. Их может быть несколько в одном домене переноса.
Уровень переноса (между разработкой и консолидацией),  путь поставки – из консолидации в другую систему.
На уровне ОС для управления переносами используется программа tp.
Изменения в объектах должны регистрироваться в SAP для тех. поддержки.
Запрос на изменение поступает от пользователя и, если клиент настроен на автоматическую запись модификаций, то создаются задача и запрос пользовательской настройки. Можно привязывать задачу к запросу. У всех запросов есть ID. Можно управлять через организатор переносов.
Если изменение касается SAP object, т.е. касается всей системы SAP, то создается запрос к инструментальным средствам (репозитарий объектов).
На время разработки объект блокируется для пользователей, не являющихся владельцами задачи и запроса на изменение.
Клиенты
Клиент – это независимо учитываемая бизнес-единица компании (HR, MM, финансы). Содержит зависимые пользовательские настройки, т.е. свои собственные данные приложения  
Данные клиента хранятся в специальных таблицах СУБД с полем MANDT. После входа в систему можно получить доступ только к указанному клиенту.
Стандартные клиенты: 000  - для целей администрирования, 001 – тестирование, 066 – для удаленной поддержки службами SAP.
Перед началом работы делается копия клиента 000, которая настраивается и копируется в пределах одной или нескольких систем SAP.  Используются службы переноса.
Рекомендуется  создавать по три клиента (стандарт – 000, тест – xxx, рабочий - xxx) в каждой 3-х уровневой системе (разработки, тестирования, производства).
При переносе можно выбрать переносимые данные: все, users, данные приложения и т.д.
Есть локальное, удаленное копирование (идентичные настройки) клиента и перенос клиента (без данных, только настройки; данные можно потом импортировать, можно использовать утилиту tp).
Пользователи
Пользователь – технический идентификатор, с помощью которого выполняется некоторое действие.  Свойства учётной записи сохраняются в главной записи пользователя (user master record).
Пользователем может быть  как человек, так и технический пользователь для фоновых процессов.
Полномочия – наиболее важная часть свойств пользователя. Присваиваются как профили (не путать с профилями запуска системы).
Пользователи всегда зависят от клиента.
Типы пользователей: Dialog (может работать произвольным образом), Communication (для бездиалоговой коммуникации между системами, напр., RFC ), System(для бездиалоговой коммуникации в системе или для фоновой обработке), Service(диалоговый пользователь, не имеет окончания срока пароля – применять с осторожностью), Reference (используется в качестве ссылки на полномочия, напр., одинаковые полномочия для пользователей Интернет).
Группа пользователей – позволяет координировать полномочия и свойства пользователей.
Для задания свойств по умолчанию можно использовать вкладку Defaults.
Защита логина и пароля.  Первые 3 символа имени пользователя не равны идентификатору пользователя. Пароль не может совпадать с PASS или SAP*. Пользователи могут менять свои только раз  в день.
Стандартные пользователи со стандартными паролями: SAP* и DDIC (клиенты 000 и 001), EARLYWATCH (066). НАДО МЕНЯТЬ ПАРОЛЬ ПРИ ПЕРВОМ ВХОДЕ.
Проверка полномочий происходит каждый раз, когда вызывается транзакция: сначала полномочия для транзакции, а после запуска действия проверяются полномочия для действия в объекте полномочий.
Роль – описание возможностей пользователей. Роли объединяются в группы в профилях, которые создаются автоматически. Обычно администратор присваивает предопределенную роль пользователю.
Каждое полномочие основано на объекте полномочий: модуль, содержащий имя, поля полномочий. Все действия, которые явно не разрешены – запрещены.
Полномочия можно сгруппировать в профили полномочий, а несколько профилей полномочий – в один составной профиль.
Можно создать новые профили путем слияния других профилей.
Роль содержит: имя, описание, операции роли, профили полномочий, пользователи с этой ролью, индивидуальные данные.
Role maintenance – управление ролямиВ меню настройки при выборе для роли разрешенных операций автоматически генерируется дерево этих операций, которыми можно управлять.
Вся деятельность пользователя регистрируется в журнале аудита безопасности.
Центральное управление пользователями (CUA) позволяет управлять пользователями на разных системах с помощью Application Link Enabling/
LDAP Connector позволяет обмениваться данными со службой каталогов.

Asset Management vs Configuration Management


                      Надо отличать процессы Asset Management  и Configuration Management:

a.       Процесс Asset Management связан с определением ценных объектов IT инфраструктуры и их владельцев, определения степени их финансовой ценности, отслеживания жизненного цикла, местоположения и аудита активов.  Единицей управления является актив.
Процесс Configuration Management связан с идентификацией компонентов систем, их атрибутов и их взаимосвязей. Единицей управления является конфигурационная единица – КЕ (Configuration Item - CI).
b.      В процессе Configuration Management отслеживаются все уникальные и управляемые элементы ИТ инфраструктуры, в то время как в процессе Asset Management  отслеживаются  только значимые конфигурационные элементы (активы).    

Процессы Asset Management и Configuration Management взаимосвязаны:

a.       Эффективный процесс Asset Management  использует информацию от Configuration Management и использует CMDB как инструмент.  Без CMDB Asset Management считает просто хранилищем информации об активах без отслеживания их взаимодействия
b.      CMDB позволяет сгруппировать CI. Группировка CI  может быть активом, к которому можно добавить дополнительные атрибуты.

Процессы Asset Management и Configuration Management  и  IT Security

a.       Asset  Management позволяет выделять и отслеживать жизненный цикл активов, которые участвуют в процессе GRC
b.      Configuration Management позволяет выявить управляемые элементы инфраструктуры и выявить их взаимосвязь, зафиксировать (snapshot) текущее состояние и отслеживать изменения для целей управления рисками и управления активами.
c.       CMDB  является хранилищем, в т.ч. федеративным,  инструментом для хранения информации об объектах  и их взаимосвязях. Совместно используется Configuration, Asset и Change Management.
Тезисы
Asset management is a subset of configuration management.  In configuration management all CIs are tracked.  In asset management, only CIs that exceed a certain cost value threshold are tracked.

All CIs in the CMDB that are also considered to be an asset will be assigned additional attributes to aid in managing the CI from financial and property management perspectives.

Configuration management is the process of:
•             identifying configuration items (components of systems and subsystems)
•             managing information about the configuration items (attributes and relationships) in a configuration management database (CMDB)
•             controlling the CMDB by ensuring the accuracy of configuration item (CI) attributes and relationships, and by updating the CMBD to reflect changes to CIs
•             providing status monitoring of the CMDB to ensure that CIs are tracked in accordance with their life cycle stage (planned/ordered, received, tested, operational, retired)
•             verifying CIs by auditing the CMDB against actual configurations and the change management history

Asset management is a process that focuses on accounting.  The main goals of asset management are:
•             identifying asset custody
•             managing the financial life cycle of an asset, including acquisition costs, depreciation and retirement/disposal
•             verifying the physical location and condition of an asset through audits


If a customer is tracking assets, without currently tracking the costs associated to those assets, CMDB Solution 7.0 may be all they need at the current time. This would be whether or not they are using just the resource types that are shipped with the product or their own custom types. If however, they are tracking costs or are tracking software licenses, they need to wait for Asset Management Solution 7 before migrating. There are 'Asset Administrator', 'Asset Worker', 'CMDB Administrator' and 'CMDB Worker'

Asset Mgmt adds functionality on top of the CMDB - contracts, s/w license mgmt, total cost of ownership, outage/availability windows, links with Change Mgmt, etc. https://communities.bmc.com/communities/message/208912

The CMDB is only an instrument to hold the data for Asset Management.
So, think of Asset Management as the interface where you will do most of your manual CI creation as well as Life Cycle Management of CI's
Not all Assets are CI's and not all CI's are Assets.
An expensive oak desk for your CIO might be an asset, but it isn't a CI.  A Logical Business Service which underpins a Service Offering in your Service Catalog is a CI (you most certainly had better be managing it via Change and Incident) but it has no intrinsic value so is not an Asset.
In CMDB environments, assets are managed at the relationship level, also known as the configuration item (CI) level. This, we believe, does not provide the needed amount of detail, giving IT professionals only limited insight into the systems they oversee. ITAM solutions, on the other hand, manage IT systems at the asset level. This approach provides greater insight into an asset’s properties and history
The difference between CMDB and simple asset management is that the CMDB also refers to relations between assets, and relations between assets and their users.
The CMDB keeps the history of the asset and the relationships between assets and owners.
This snapshot can then be used as a fixed picture of the original state of your network, so you will be able to track the changes in relation to this baseline.
The discovery database represents a non-real time view of the asset fields and configuration information which can be collected over a network.
The asset repository extends this data into areas which are not electronically collectible, such as contract, financial, asset tag, procurement, location, allocation to user or business unit and so on. Repository is not a control view – more of a kind of dumping ground for the latest asset information. Some discovery tools try to emulate this but typically are not very successful or complete in their treatment of the problem.
Asset repository offers asset information but also light depreciation tracking capabilities to the finance department.

CMDB is in effect an evolution of the asset repository which is ITIL integrated. The key difference is that alongside the data in an asset repository change, problem, incident and often release information / objects also exist in the database and are managed constantly by service desk, change and configuration relationship administrators and processes.

Most companies start with discovery, then license repository, then progress to asset repository medium term, followed by CMDB longer term.





The CMDB, by both its nature and its definition, focuses on resource versions and relationships.  An asset repository, on the other hand, is focused on resource ownership and
availability.  The concept of a CMDB is to provide the ability to map key intangible assets, like services, to tangible resources, like hardware and software. Asset Management
focuses on ownership and availability. Configuration Management focuses on assembly of resources, and Change Management focuses on managing risks and governance.
Asset Management is linked to a financial strategy, and Configuration Management is linked to a risk management strategy.



bmc cmdb howto.pdf
Benefits of the nCircle Configuration Compliance Manager and HP Universal CMDB integration. Through this integration, nCircle Configuration  Compliance Manager acts as the security policy. Compliance assessment engine for assets in the HP
Universal CMDB (such as servers, desktops, laptops, routers, switches, and other IP-addressable assets), giving users of HP Business Availability Center solutions a continuous view into the compliance status and risk score of specific assets and associated changes. The integration of nCircle Configuration
Compliance Manager with HP Universal CMDB provides a number of significant benefits, including:
• Automatic identification and analysis of the security
risk or compliance impact of changes to the IT
operating environment
• Ability to apply pre-built or custom policies to
particular assets or groups of assets
• Inclusion of security risk score and compliance status
in the HP Universal CMDB
• Decrease in the time to resolution for availability
issues caused by security risks or compliance
deviations

х.з.
The Risk Control analytical engine normalizes the information into a CMDB, creates a model of the network, and incorporates Skybox vulnerability content with intelligence about the likelihood and severity of potential attacks. A Skybox IT risk assessment is done from the attacker’s point of view – identifying possible access paths and the security gaps that can be used to reach critical assets.
CMDB, allowing companies to leverage their existing IT infrastructure and investments. One key advantage is that new entities are automatically added to risk and compliance assessments. Asset ownership and automatic detection of entities via risk and compliance assessments solves manual assignment of the compliance assessment to the correct asset owner as well as continuous compliance of new assets entered into the IT environment.
Conclusion is, that an IT Asset and a CI can point to the exact same IT Object, they only enlight different aspects of it. In this case, the Asset usually comes to life before the CI and lifes longer than the CI. This because
    a) you need money to buy the server; and only after installation you can offer services on it and
    b) the moment no more services run on the server it may still cost money; at least for disposal…
Of course it is possible that you manage IT Objects as assets only because you have no (or not yet) urge to also control them for service management) or you handle IT Objects as CIs only (because your are not interested to manage the financial / value aspect…) .
So, the answer to the question: “What is the difference between IT-Asset and a CI” is:  “That depends on what do you want to do with the IT Object”.

CMDB%20_HK_Mar07-CMDB_Workshop_Don_Page.pdf
The primary difference  between a CMDB and a standard asset database is the relationships between CIs. By using a CMDB,
you can look up a server, identify its owner, and know that taking it offline will cause your organization’s email system to go down. While valuable, to be used in this manner, a CMDB needs to remain accurate.

Педагогический дизайн

Педагогический дизайн (он же Instructional Design) - это такой подход к учебному процессу и учебным материалам, который нацелен на максимальную эффективность. Т.е. создавая, учебные материалы надо, как ни странно, надо задуматься понятности изложения материала, его привлекательности для студента, а главное использовать обратную связь от обучающихся.
Например, в начале 20 века стали больше внимания уделять наглядным материалам, водили студентов по музеям. Потом друг за другом  стали появляться радио, телевидение, компьютер. И  каждая технология привносила свои улучшения в процесс обучения (помните Mazzy?)
Наиболее распространен подход  ADDIE с 5 фазами:
 1) analysis, 2) design, 3) development, 4) implementation, and 5) evaluation (отсюда и аббревиатура). 
В последнее время появилась возможность представлять учебные материалы как интерактивные курсы для дистанционного обучения.  Есть даже такая штука как Sharable Content Object Reference Model (SCORM) — сборник спецификаций и стандартов, разработанный для систем дистанционного обучения. Эта штука позволяет писать учебные материалы и интерактивные материалы (например, обучение виртуальной работе с  интерфейсом приложения) в общепринятом формате и потом размещать их на обучающем портале, которые SCORM понимают. Например, порталом обучения и тестирования может быть http://www.mirapolis.ru, а лабораторные работы можно создать в Adobe Captivate

Вот краткое описание принципов педагогического дизайна:
МоёМесто.ruПедагогический дизайн (13 Kb)