LINUX.ORG.RU
 
no-dashi

Русский ынтырпрайз


0

3

Ах ынтырпрайз, ынтырпрайз. Слово то какое красивое. Вот его и лепят направо и налево. В общем, столкнулся я с одной ынтырпрайзной системой в исполнении русских ынтырпрайзных кодеров. Итак, приступим. Краткое описание системы:

Есть торговая точка, на ней ставятся компоненты: контроллер оборудования (на него заводятся кассы, терминалы оплаты и т.п.), сервер приложений и база данных. Данные со всех торговых точек заливаются в одну большую центральную базу, где потом дообсчитываются. Центральная база - под 3000 таблиц, оракел, все дела. На объекте обсчитывается только количество товара, деньги и всякие мелочи. Ну 50-60 таблиц максимум.

Как поступают нормальные люди? Они делают на объектах маленькую упрощенную донельзя базу, в которой ведутся только нужные операции. Но... Мы ведь работаем с русским ынтырпрайзом, который "в целях унификации" сделал базу торговой точки полностью совпадающей по структуре с центральной. В результате в каждом сраном магазине где торгуют презервативами и шоколадками, необходимо поставить сервер оракла(!). Ынтырпрайз - это вам не хухры-мухры. Хрен с ним, с ораклом - это не так страшно. Страшно то, что сервер только один на объекте, и бэкапы базы делаются на тот же диск в другой каталог...

Сервер приложений. Он конечно самописный. На передовых технологиях, на .NET естественно (ынтырпрайз ведь!). Естественно, что сервер приложений теперь работает под виндой. Как мы разворачиваем сервер для каждого нового магазина? Мы берем сервер уже существующего и клонируем его диски, епта! "Почему???" спросите вы? Потому, что компоненты необходимые для его работы, надо ставить в строго определенном порядке. Если изменить порядок - сервер приложений крашится и глючит. Вот. И потом даже если в правильном порядке всё снова заинсталить - он всё равно уже крашится и глючит. А мы, идиоты, тут о каких-то package manager'ах рассуждаем, репозиториях и зависимостях.

Вот такой вот русский энтерпрайз - жестокий, бессмысленный и беспощадный :-)


[#]  
Tark

Ну дык "менеджерам" же нужно свой кредитный форд фокус и ипотеку на 40 лет оплачивать, вот и занимаются откатингом.

* ()
[#]  
robot12

Знакомо да. :)

***** ()
[#]  

В одной конторе, связанной с МЧС Украины, тоже подобная хрень творится. Тоже оракл, тоже бекапы на тот самый диск, тоже какая-то самописная клиент-серверная приблуда, разработанная каким-то НИИ на основе прогрессивной технологии Delphi 7. На серверной машине (обычный PC-ящик), кроме оракла и приблуды, стоит неро, винамп и микрософт офис.

**** ()
[#]  
Dimez

Уже начал писать мемуары? :)

***** ()
[#]  
vada

Какова постановка задачи, такова и реализация. Чего на кодеров пенять коли рожа постановщика крива?

**** ()
[#]  
>>-----Цитата---->>

жестокий, бессмысленный и беспощадный :-)

<<-----Цитата----<<

Это не жестокость. Всего лишь некомпетентность.

***** ()
[#]  
yoghurt

Чего только люди не делают, лишь бы не использовать 1С.

***** ()
[#]  
winddos

Это ещё ничего.
Самое интересное у тебя начнется, когда окажется, что разработчик растворился в дыму, а исходников никаких нет. :)
А тут аврал, и надо добавить какой то функционал в общую систему...

* ()
[#] Ответ на: комментарий от tailgunner 01.12.2011 13:37:43  
fork_you
>>-----Цитата---->>

Всего лишь некомпетентность.

<<-----Цитата----<<

... присущая почти каждой энтерпрайз-макаке.

()
[#]  
no-dashi

Продолжаем банкет. Метод защиты данных в оракле:

create role GOODUSERS identified by "Our_cekret_pa$$worD";
grant select any table to GOODUSERS;
grant insert any table to GOODUSERS;
grant update any table to GOODUSERS;
grant delete any table to GOODUSERS;
grant execute any procedure to GOODUSERS;

grant GOODUSERS to VASYA;
grant GOODUSERS to PETYA;
grant GOODUSERS to OLYA;

Клиентское приложение при запуске делает

set role GOODUSERS identified by "Our_cekret_pa$$worD";

Our_cekret_pa$$worD, конечно же... Прошит в экзешнике приложения.

***** ()
[#]  
no-dashi

Не-не, это не всё.

Кушаем дальше 300 сейлпоинтов, 300 локалок, 300 цысок.

Маршрутизация статическая.

***** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 13:43:13  
yoghurt

Синтаксис и пунктуация сохранены?

***** ()
[#] Ответ на: комментарий от fork_you 01.12.2011 13:42:36  
>>-----Цитата---->>

Всего лишь некомпетентность.

<<-----Цитата----<<
>>-----Цитата---->>

... присущая почти каждой энтерпрайз-макаке.

<<-----Цитата----<<

Но не надо считать ынтерпрайз-макаку жестокой :)

***** ()
[#] Ответ на: комментарий от yoghurt 01.12.2011 13:46:02  
no-dashi

> Синтаксис и пунктуация сохранены?

Почти. Все имена изменены, чтобы ни одно животное не пострадало.

***** ()
[#]  
exception13

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

собственно учатся у зарубежного индусоынтырпрайза.

*** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 13:48:18  
dk-

а ты им объяснял почему и в чем они неправы?
предлагал правильное решение?
рассказывал почему неплохо бы сделать нормально?

и куда тебя послали?)

# ()
[#]  
zgen
>>-----Цитата---->>

в каждом сраном магазине где торгуют презервативами и шоколадками, необходимо поставить сервер оракла

>>-----Цитата---->>

где торгуют презервативами

>>-----Цитата---->>

презервативами

<<-----Цитата----<<
<<-----Цитата----<<
<<-----Цитата----<<

Продукт первой необходимости, чо. Оракла не жалко.

А клонируют диски и бд в целях унификации. Ынтырпрайз же, ну!

***** ()
[#]  
no-dashi

Не-не, вы от меня так просто не уйдете:

create procedure DO_SOMETHING(what1 in varchar, what2 in varchar) is
begin
    execute immediate 
        'begin ' ||some_code1('''||what1||'''); '||
            'some_code2('''||what2||'''); end;';
end;

Это не я придумал, это я почти цитирую код...

***** ()
[#] Ответ на: комментарий от dk- 01.12.2011 13:53:08  
no-dashi

> а ты им объяснял почему и в чем они неправы?

Да

> предлагал правильное решение?

Да

> рассказывал почему неплохо бы сделать нормально?

Да

> и куда тебя послали?)

Попросили никому больше не расказывать :-)

***** ()
[#]  

блин, а я в последнем своем "ынтырправйзе", заваял клиентов на qt, и ходят напрямую в mysql (pgsql со стороны сервера пока не реализовано), дергая процедуры (таблицы напрямую недоступны). пока все вроде ок, но немного очко жмется - на какие грабли можно наступить?

* ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 13:55:46  
wxw

начал понимать твою аватарку

*** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 13:57:17  
dk-

а говорил, что на "правильно все переделать" можно еще один фокус купить в кредит ?)

# ()
[#]  

Неужто лицензировали оракл на каждый ларек с резинками?

Если нет, может лучший вариант - это уйти оттуда, пока все это не навернулось.

* ()
[#]  
Rzhepish

Ты бы лучше написал, зачем вы/ваша контора купила/эксплуатирует это хренотень.

* ()
[#]  

Надо говорить российский энтерпрайз.

*** ()
[#] Ответ на: комментарий от praseodim 01.12.2011 14:01:39  
no-dashi

> Неужто лицензировали оракл на каждый ларек с резинками?

Да. Там много резинок продается :-)

***** ()
[#]  
iBliss
>>-----Цитата---->>

Вот такой вот русский энтерпрайз

<<-----Цитата----<<

Это просто ентерпрайз. Такое везде вдоль и поперёк. Даже у америкосов. Причина проста, сначала тендер выигрывают "правильные люди", затем, узнав сколько реально стоит разработать такую байду, начинают искать девелоперов в секторе "работаю за еду". Отсюда и результат.

* ()
[#]  
stevejobs

Нафига это всё, если проще постить сразу в центральную базу по шифрованым интернетам?

>>-----Цитата---->>

Если изменить порядок - сервер приложений крашится и глючит.

<<-----Цитата----<<

может, разобраться и пофиксить? В чем там дело?

** ()
[#] Ответ на: комментарий от dib2 01.12.2011 13:58:16  
no-dashi

О, а вот еще кусок вьюхи, которая используется для самого-главного-отчета:

create view A_MAIN_REPORT1_VIEW as
select [...тут много полей...]
from [...тут много таблиц...]
where
    [...тут условия связки таблиц...]
    /* НЕ ЗАБЫТЬ ИЗМЕНИТЬ: подставить тут код нужного филиала!!! */
    and data.company_id = 98400000430004556
***** ()
[#] Ответ на: комментарий от stevejobs 01.12.2011 14:07:59  
no-dashi

> Нафига это всё, если проще постить сразу в центральную базу по шифрованым интернетам?

Нету постоянных интернетов, а простой каждого ларька дороговато обходится.

***** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 14:11:23  
stevejobs

провести постоянный интернет дороже лицензии на оракел + работы кодеров?

** ()
[#] Ответ на: комментарий от stevejobs 01.12.2011 14:13:39  
no-dashi

> провести постоянный интернет дороже лицензии на оракел + работы кодеров?

Да. Ты пробовал провести интернет туда, где расстояние до любого посёлка в любом направлении не менее 50 километров?

P.S.: ну например, мы продаем презервативы лесорубам :-)

***** ()
[#] Ответ на: комментарий от dib2 01.12.2011 14:15:41  
no-dashi

Спокуха. Комментарий добавил я. В оригинале его не было :-)

***** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 13:43:13  
stevejobs
>>-----Цитата---->>

Прошит в экзешнике приложения.

<<-----Цитата----<<

зачот

прикинь, уволишься - сможешь потом невозбранно данные сливать конкурентам за $$$ -)

** ()
[#]  
no-dashi

Продолжаем? Клиент написан на... Ну, чтобы было более-менее сравнимо - клиент к базе написан на FoxPro. Исходников, естественно, нет.

***** ()
[#]  
no-dashi

Пришла зима, мышам стало холодно и они из подвала переселились в теплое место. Самым теплым местом мыши однозначно признали южный мост на материнке сервера. Сервер сгорел. Йес.

***** ()
[#] Ответ на: комментарий от stevejobs 01.12.2011 14:13:39  
exception13

>>провести постоянный интернет дороже лицензии на оракел + работы кодеров?

offline POS жэ

*** ()
[#]  
no-dashi

Сервер с софтрейдом (зеркало).
Один винт глюкнул, рейд развалился на два винта.
Система радостно стала работать на первом.
Через три месяца ВНЕЗАПНО первый винт сдох.
Софтрейд опознал ВТОРОЙ винт как свой, и запустил систему с него.
Увидев ЭТО, оракл охренел и упал. Данные за квартал - как корова языком слизала (да, бэкапы то делались на первый винт - ведь его раздел "буквой D:" был)

***** ()
[#]  
no-dashi

Центральный сервер.

RAID 4+4(зеркало) +1(spare)

В массиве сдох винт. Массив жив. Заказали замену, счет отдали в бухгалтерию.

Через три месяца сдох еще один. Отдали счет в бухгалтерию. Массив жив, но degraded. Девочки, ГДЕ НАШ ПЕРВЫЙ ВИНТ? А нету, счет не подписали! КАК??? А у нас смета по статье запчастей кончилась!

Через шесть месяцев сдох еще один. А массив всё еще жив. Винты, кстати, уже сняли с производства. Так что просто заказали новоё модели. Счёт... Ну вы в общем поняли всё про счёт, да?

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

***** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 14:34:54  
Mystra_x64

>Естественно, был конец квартала, и девочки из бухгалтерии внезапно осознали, что не просто так мы им счета отдавали...

Может им просто любви не хватает.

***** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 14:18:14  
wm34

Знакомая картина ))

* ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 14:34:54  
BigAlex

Эпичненько так. Но то что ты не окажешься крайним, это еще не факт...

* ()
[#] Ответ на: комментарий от BigAlex 01.12.2011 14:41:18  
no-dashi

> Эпичненько так. Но то что ты не окажешься крайним, это еще не факт

Нормально. Не окажусь. Мы счета отдавали официально, и после второго винта служебку написали, с указанием всех возможных последствий :-)

***** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 14:23:13  
iBliss
>>-----Цитата---->>

Пришла зима, мышам стало холодно и они из подвала переселились в теплое место. Самым теплым местом мыши однозначно признали южный мост на материнке сервера. Сервер сгорел. Йес.

<<-----Цитата----<<

Этож энтерпрайз! Проектируй и заказывай китайским хунвейбинам ультразвуковые USB-свистелки или датчики объёма, под эту закупку напилишь бабоса.

* ()
[#]  
dimss

> В результате в каждом сраном магазине где торгуют презервативами и шоколадками, необходимо поставить сервер оракла(!).

Не будем показывать пальцем, но еще несколько лет назад мне доводилось видеть кассовые аппараты (sic!) с MS WIndows Server и SQL Server на борту. Жесть! Но почему-то никто кроме меня тогда не удивился...

В целом "русский ынтырпрайз" развивается по одной логике - в расчете на дешевую рабочую силу, которая будет все это обслуживать. Таково мое личное впечатление. Западный вариант противоположен - вкладываются безумные средства в _разработку_ никому не нужных чудо-изделий.

***** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 14:34:54  

А может у вас там раз все-равно оракл воткнули во все щели и сделать по всем щелям репликацию базы, нехай вместо бекапа везде полные копии будут 8-)

* ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 14:44:58  
BigAlex

Хорошо, когда все сделано правильно. Но за державу все равно обидно, это примерно как в анекдоте про евреев и серебряную ложечку.

* ()
[#]  

Дурак ты, Вася. Либо беги оттуда, либо греби деньги лопатой на идиотах, а не ной в бложике.

* ()
[#]  
no-dashi

В нескольких ларьках сделали ремонт, после чего в них начала протекать крыша. Вода льется на стойку, через отверстие для вентилятора стекает вниз на сервер и сервер того... Отказывает. Протокол совещания по итогам разбора полетов:

Закупить резиновых ковриков и накрыть ими стойки.

Отделу АХО (административно-хозяйственный): оказть содействие отделу ИТ путём предоставления деревянных брусков, которые должны быть подложены на крышу стоек под резиновые коврики с целью обеспечения беспрепятсвенного оттока воздуха из стойки...

***** ()