четверг, 17 мая 2012 г.

Настройка синхронизации Share Point, Reporting Services и Analysis Services

Встала задача по настройке ежедневной синхронизации БД Share Point, Reporting Services и Analysis Services.
1. Создаем в SQL Server БД для хранения синхронизированных данных для Reporting Services.
Назовем её My_project_reporting
2. Создаем хранимую процедуру очистки всех таблиц БД.
Исходный код возьмем такой:
ALTER PROCEDURE [dbo].[ClearAll]
AS
BEGIN
DECLARE tables_cursor CURSOR
FOR SELECT name FROM sysobjects WHERE type = 'U'
OPEN tables_cursor
DECLARE @tablename sysname
FETCH NEXT FROM tables_cursor INTO @tablename
WHILE (@@FETCH_STATUS <> -1)
BEGIN
EXEC ('TRUNCATE TABLE [' + @tablename+']')
FETCH NEXT FROM tables_cursor INTO @tablename
END
DEALLOCATE tables_cursor
END
 3. Создаем в Business Intelligence пакет служб SSIS
- Первым его шагом будет выполнение хранимой процедуры очищения таблиц сервер.
- Далее последовательно пробрасываем данные из списков SharePoint в таблицы SQL Server.
4. Создаем необходимый куб\кубы данных и разворачиваем их на сервере. 
5. Далее требуется настройка синхронизации Sharepoint и наших служб отчетности.
Отдадим этот функционал SQL Agent'у.
_____
1. Ищем ветку SQL Server Agent - Задания
2. Создаем новое Задание.
3. На закладке "Основное" задаем имя Задания4. Переходим на закладку "Шаги":
  • Первым шагом выполняем синхронизацию списков SharePoint и SQL Server Database посредством выполнения SSIS пакета передачи данных.
  •  Последующими шагами обновляем БД olap-кубов.
5. В поле "Тип" выбираем "Команда служб SQL Server Analysis Services"
6. В поле "Сервер" указываем сервер служб Analysis Services.
7. В поле "Команда" прописываем, где My_relationBD_for_Olap - имя реляционной БД, куда разворачивается куб.
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
    <ErrorConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">
        <KeyNotFound>ReportAndContinue</KeyNotFound>
        <KeyErrorAction>ConvertToUnknown</KeyErrorAction>
        <KeyErrorLimitAction>StopProcessing</KeyErrorLimitAction>
        <KeyDuplicate>IgnoreError</KeyDuplicate>
        <NullKeyConvertedToUnknown>IgnoreError</NullKeyConvertedToUnknown>
        <NullKeyNotAllowed>ReportAndContinue</NullKeyNotAllowed>
    </ErrorConfiguration>
    <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">
        <Object>
            <DatabaseID>
My_relationBD_for_Olap</DatabaseID>
        </Object>
        <Type>ProcessFull</Type>
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
    </Process>
</Batch>
8. Переходим на закладку "Расписания" и указываем ежедневное обновление. (Мне удобнее в час ночи, т.к. нагрузка на сервер минимальная)
9. Не дожидаясь срабатывая Задания по расписанию запускаем его и смотрим результат.

понедельник, 14 мая 2012 г.

Определение "бизнес-требования"

В прошлую субботу (12.05) вместе с коллегами предавались бизнес-аналитическим увеселениям на лоне природы.
В ходе обсуждения характеристик качества требований у совершенно постороннего человека возник вопрос: а что такое "бизнес-требования"?
Очень долго пытались сформулировать описание для человека ни коем образом к iT не имеющего отношения. В итоге абсолютным большинством пришли  к выводу, что это требования, которые Заказчик заявляет для увеличения своей прибыли.


И столько я не упирался, видимо тут сработал рефлекс собачки Павлова: "лампочка загорается - собачке дают покушать". Для коллег этим условным рефлексом стала фраза: "бизнес-деньги".


Попробуем разобраться что такое бизнес и  из чего он состоит:

Статья с wiki (фрагмент): Предпринимательство, бизнес — самостоятельная, осуществляемая на свой риск деятельность, направленная на систематическое получение прибыли от пользования имуществом, продажи товаров, выполнения работ или оказания услуг лицами, зарегистрированными в этом качестве в установленном законом порядке. ...


И тут принципиально важное слово - "деятельность".
Если вбить "business" в любой он-лайн словарь, то первые три варианта - дело, работа, деятельность...

Итого определение"бизнес требований" укладывается для меня в следующей формулировке?
Бизнес-требования - это требования к изменению (рефакторингу) или созданию новых рабочих процессов внутри организационной структуры, предоставляемые Заказчиком, которые позволяют осуществлять деятельность с лучшими показателями эффективности.

Да, тут ни слова о деньгах.
Ведь не все бизнес-требования нацелены на прямое получение прибыли.
Более того, в сфере iT я вообще редко встречал описание требований напрямую указывающих своей целью увеличение прибыли Заказчика. Но основываясь только на общем определении мы вычеркиваем массу требований и проектов.

P.S. Да, и это тоже "Бритва Оккама"...
http://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B8%D1%82%D0%B2%D0%B0_%D0%9E%D0%BA%D0%BA%D0%B0%D0%BC%D0%B0