Учитесь видеть бизнес-процессы

Процесс — это некая логическая последовательность действий, направленных на получение некоторой продукции и/или услуги. Однако эти действия распределены во времени и пространстве.

Да. Зачем нужны описания. Кто их потребитель? Сертификация систем качества, например.

ABC-анализ. Анализ затрат или себестоимости на основе действий.

ABB-анализ. Бюджетирование на основе действий.

ABM — менеджмент, основанный на действиях.

Кайдзен — непрерывное совершенствование, в отличии от дорогостоящего реинжиниринга.

value stream – поток создания ценности.

По­ток создания ценности — это все действия (как добавляющие, так и не добавляющие ценность), нужные, чтобы провести продукт через следующие основные потоки операций: (1) производс­твенный поток — от сырья до готовой продукции; (2) поток проекта — от концепции до выпус­ка первого изделия.

Минута наивности

Пару месяцев назад, в процессе разработки, я понял, что 80% процентов затрачиваемого мною времени — это бизнес- и системный анализ. Хаотичный, дублирующий друг друга. Я не обладаю памятью, чтобы держать знания такой, зачастую, низкой первоначальной ценности целиком в голове. И куда развиваться программистом? Где фан? В системах класса ERP он есть только на уровне системной архитектуры. И здесь опыт и ответственность в разы больше. Но не у кого учится.

И тут навалилась методология. RUP, ARIS, APQC все в кучу. Сложность работы бизнес-аналитика в том, что бизнес может быть совсем разный. Поэтому его нужно уметь анализировать максимально эффективно. И бизнес означает отрасль, предметную область. И, вроде, да — это все те же производства и продажи, но отнюдь не вписывающиеся в стандартную школьную программу. Есть глобальная задача и есть много мелких. С трудом выдирается этот процесс поначалу из обычного, привычного цикла разработки, пусть разбитого на сотни итераций, но все-таки единого. Когда сам себе и проектировщик и тестер, а есть лишь контролирующая единица сверху. А тут — нет. Тут нужно формализовать так, чтобы быть звеном, не затрачивая при этом свои лишние трудоресурсы. По этому поводу и существуют наработки, решения и пути. Methods, solutions frameworks, standards. Ха, а ведь есть еще и стандарты наши, российские и наш же менталитет, который еще будет сидеть не один год.

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

Что перспективно сейчас в секторе RIA? GWT — возможно. Силами гугла, возможен переход глобальной сети на html5, но в корпоративном секторе непонятка. Silverlight выглядет хорошим решением и за тот год, что я могу быть в таймауте, он может наконец быть обкатан совершенно серьезно. Но еще большая пропасть стоит сейчас в бизнес-анализе, и та разруха которая стоит в некоторых предприятиях, с которыми приходится сталкиваться, позволяет надееться, что в условиях кризиса этому бизнесу просто необходима оптимизация, пусть нереинженинг, нужны исследования качества, и самое главное, что нужна автоматизация.

Много написано и проанализировано, но еще больше предстоит в ближайшие два месяца. Такого уровня заказов я еще не видел. И да, обычных инструментов тут не хватит.

Странная ситуация. Понятно ровно настолько, насколько понятен этот текст. Абстракция, хаос, вырваннный с корнем контекст. И любые попытки начать правильно столь же наивны.

sql и озираясь на sharepoint

Именно такая цитата лежит тут в черновиках от 13 апреля.

И ведь сбывается. Кто бы мог подумать. В этом же черновике есть какие-то заметки о ROW_NUMBER OVER и что это динамическая нумерация строк и про PIVOT GRID — мол, он-то какой он полезный. О том, что сложность запросов, хранимых процедур возросла, и теперь постигнут смысл удобства синтаксиса linQ. О курсорах, о контекстах, о секьюрити, о.. да не важно. Суть в пути.

SharePoint как пройденный этап или как база. Что несет нам будущее? Готов ли ты стать Великим и Могучим как твой отец?

Вчерашний день запомнится. «Я зашел в супермаркет взять минералки».

Работа с данными SharePoint

Можно работать с объектной моделью, тем самым оперируя данными. Из какого-нибудь workflow, например. Или веб-сервисов. Site.OpenWeb() и прочие Lists и Items. Менять свойства, сохранять. Только вот запросы усложненные, не очень приятны — CAML это по-моему мнение то, чем должны пугать, «как сделать простое наиболее сложным путем». Поэтому и использование его ограничивается в измененных представлениях или простеньких activity.

Есть еще такой проект как LinqToSharePoint, собственно это прослойка, которая работает с обьектной моделью, но ведь LinQ это куда приятнее.

    var ctx = new SharePointDataContext(new Uri("http://wss.mycompany.local"));
    ctx.Log = Console.Out;
    var users = ctx.GetList<Users>(ctx);

    var res = from u in users
              orderby u.Birthdate descending
              where u.FirstName.StartsWith("B") && u.Age >= 24 && u.FavoriteFood == FavoriteFood.Pizza
              select new { u.FullName, u.Age, Interest = u.AccountBalance * 0.07 };

    foreach (var u in res)
        Console.WriteLine(u);

Из недостаткой — заброшенная альфа версия.

Есть ещё и такой вариант — http://connectionstrings.com/sharepoint, если какой-нибудь особо сложный список обрабатывать «по-старинке».

Финальный вариант: запросы на прямую в SQL Server. И пускай база немножко запутанная — это все для гибкости. И пускай никто не рекомендует этого делать ни в коем случае — этож всего лишь база данных.

О разработке информационных систем

c форума sql.ru про разработку информационных систем…

…А вообще, я очень хочу, чтобы наша профессия со временем стала такой же инженерной дисциплиной, как, например, строительство – вам нужно здание? Извольте заплатить за проект, а потом за возведение, или покупайте (арендуйте) готовое, но тут уж не выдвигайте требований пристроить к нему еще 30 этажей. Изволили построить времянку, а теперь хотите ее превратить в доменный цех? нет проблем – СНОСИМ временку и строим цех. Через пять лет вам потребуется переделать цех в аэропорт? Это ваши трудности – х*й в голове медицина бессильна. Вы никогда не задумывались почему в IT такой процент проваленных проектов (представьте себе такой процент например в автомобилестроениии)? А потому, что делают их не в рамках инженерного подхода, а вопреки ему…. И заметьте, никто не кричит «Судостроители пи…сы не хотят переделать речной трамвайчик в ледокол». Ээээх мечты…

(c)

Фристайл

Здесь перед вами Mu – aka – cho, Microsoft User ага и очень чоткий. Мутит разработки почетные и днем и ночью, о чем это вы и читаете по дням нечетным, когда по его расчету готовы понимать самые из всех чокнутые. Ну что начнем? – смотри и образы этого безобразия разные и что по сути никто не готов делать  сразу все чтобы на раз и два как будто масло на бутерброд намазали, что по инструкции даже сказано. Что это несмотря ни на что -  весело, если сбить спесь свою, а что – вы курите если, так вообще здесь тогда столько чудищ разных мы развесили, давай приятель, спой свою песенку

sys> Because it's fun and necessary

Когда будешь там ты не сори, и мне с орбит, и не sorryись, так все и есть – доверься им, но не забудь что хотел когда откроешь дверь свою.

SharePoint и MS SQL, SQLDataSource и Oracle

Почему во многих компаниях используется SharePoint? Потому что это — стандарт, мать его. Другими словами — Oracle. Ну, 1С вы понимаете? Это же очень Windows и всем известно.

И вот, Могучему Порталу, чтящему Стандарт, потребовалась другая база данных. Та, конфигурационная и для документов, осталась в SQL Server (их там не одна даже), а вот бизнес-данные, куча хранимых процедур, и прочие, никак не связанные с непосредственно SharePoint, теперь на третьем сервере. Если не делать правильно, т.е. использовать ODO.NET и Oracle Developer Tools (ODT), то выходит это так:

<!--Oracle Connection String-->
<add name="tbi.accountingConnectionString"
 connectionString="Data Source=TBITEST_GDKUERC.GDKUER.SITE.COM;
                   Persist Security Info=True;Password=111;User ID=sa"
 providerName="System.Data.OracleClient"/>

Еще не забывать убирать [] в запросах, убирать AS, называть все в верхнем регистре, добавлять в SqlDataSource

ProviderName="<%$ ConnectionStrings:tbi.accountingConnectionString.ProviderName %>"

— и в общем-то помнить о том, что это стандарт, помнить три раза после еды и один раз перед сном.

Настройка Visual Studio для разработки с SharePoint

Во-первых, это тема vibrant ink. Пошло ещё со времён увлечения руби и текстмейтом в том далеком.

Во-вторых, это Visual Studio Extenstions — WSS Tools, например 12 версия.

В-третьих, это куча вещей по вкусу с codeplex.com (например, «набор каких-то-полезных-штук»).

Список различных внешних софтинок для редактирования структур узлов, библиотек, для работы с БД, отладки клиентской части и кучи остального — находится не тут, не  в этой теме.

И последнее. Главное в Студии — это мощная возможность писать текстовые комментарии, о том как забавен этот WSS.

Единая и Всеобъемлющая Строка Подключения

Все просто. Читать далее »

ASPxGridView и SharePoint

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

Когда понадобился грид – такая табличка большого массива данных, редактируемая особым образом, то встал вопрос как сделать так, чтобы ASPxGridView работал совместно с остальным, представленным на Могучем. Ведь как оказалось это не так то просто. А благодаря «чудесным» возможностям SP по отладке даже понять об возможно не сразу.

В данном конкретном случае, помимо стандартных действий по добавлению компонентов в веб.конфиг и на страницу, правильных строк подключения  и всему прочему описанному на всех страницах первого листа выдачи гугла, понадобилось сообразить выключить директиву pageparsepath для мест где используется этот грид. А если точнее, то наборот — включить её для тех директорий, где используются скрипты.

Так и пришел в той ветке к решению, общаясь сам с собой.