Хотя Чжан Вэй уже завершил Формирование Ядра на шестом уровне, он чувствовал, что сокровища BAPI еще далеко не исчерпаны!
В процессе своих поисков Чжан Вэй наткнулся на одну таблицу, созданную специально для хранения информации о бизнес-объектах. Ему это показалось крайне любопытным: «SWOTDV: Определение операций типов объектов»!
Когда Чжан Вэй заглянул в эту таблицу, общий объем данных оказался совсем небольшим – всего «22222» записи! Чжан Вэй страшно заинтересовался этим числом. С чего бы вдруг ровно пять двоек?
Впрочем, Чжан Вэй рассудил, что за такой необычной цифрой наверняка скрывается что-то невероятное – это было чистое чутье программиста, уж слишком примечательным оказался этот номер!
Войдя внутрь, Чжан Вэй увидел экран за экраном незнакомых данных.
Разумеется, это его не испугало и было вполне ожидаемо. Без знакомого проводника вокруг всегда одни чужаки!
К счастью, он подготовился: те самые десять приманок, что использовались ранее, снова пошли в дело!
Опираясь на результаты своих прошлых изысканий, Чжан Вэй выбрал весьма специфический тип объекта – «LFA1», имя объекта поставщика. Хе-хе, эта штука ему хорошо знакома, так что пускай она и идет впереди на разведку!
Как только условия поиска сузились до LFA1, Чжан Вэй увидел знакомые данные! Всего нашлось 28 записей – именно то, что он уже встречал в BAPI, например: создание, редактирование, просмотр… и прочие!
При виде знакомых данных ощущение чуждости мгновенно испарилось, уступив место глубокому чувству близости. Это как прийти на вечеринку, где никого не знаешь, – интерес сразу пропадает. Но если окажется, что среди гостей есть твой знакомый, который к тому же весело болтает с остальными, то ты с огромной вероятностью сможешь влиться в компанию!
Именно это сейчас и чувствовал Чжан Вэй: часть данных была ему знакома, часть – нет, но это не имело значения! На основе известного всегда можно логически вывести неизвестное.
Оказывается, эти 28 записей велись на основе той самой логики объектно-ориентированного программирования, о которой говорилось ранее! А значит, и все «22222» записи в таблице подчинялись тому же принципу!
Чжан Вэй счел это вполне ожидаемым, ведь он уже сталкивался с подобным. Теперь, по крайней мере, перед ним лежал общий объем в «22222» строки – число странное и причудливое. Не будь оно столь поразительным, Чжан Вэй вряд ли стал бы заходить сюда и копаться.
Затем, листая дальше, Чжан Вэй наткнулся на поле, назначение которого никак не мог понять – «FirstRelease: первый релиз». Внутри содержались такие данные, как 21A, 46C, 700… и так далее. Слово «release» было Чжан Вэю отлично знакомо, он и сам часто его использовал: каждый раз при переносе новых программ из среды разработки в продуктивную систему выполнялось это действие – деблокирование, то есть релиз запроса! Чжан Вэй задумался: неужели это как-то связано?
Первый релиз? Какое любопытное название! Чжан Вэй вбил эти данные в поисковик Baidu.
В то же мгновение до Чжан Вэя дошло – это же номера версий!
Получается, эти данные – продукты разных эпох и версий системы?
Чжан Вэй решил, что просто необходимо собрать статистику!
Подсчет показал, что в таблице содержится 33 номера версий – еще одно примечательное число. Сначала пять двоек, теперь вот две тройки, Чжан Вэй даже усмехнулся.
Затем Чжан Вэй проанализировал каждую версию в отдельности. В некоторых было всего по нескольку записей, в других – тысячи. Выходит, нынешнее обилие BAPI в SAP накапливалось вот так постепенно? На протяжении 33 версий!
Обалдеть! Чжан Вэй поверить не мог своим глазам. Самой ранней версией в системе значилась 21A, затем шли 3XX, 4XX… и так вплоть до 7XX!
Компания SAP была основана в семидесятых годах! По максимальным оценкам, к настоящему моменту прошло уже почти 50 лет! Но даже если судить скромнее, эта версия 21A родилась где-то в восьмидесятых, а значит, ей уже лет 30–40! При самом консервативном подсчете – никак не меньше 20–30 лет!
Чжан Вэй почувствовал, как по коже пробежали мурашки, а в душе родилось глубочайшее благоговение.
Черт побери, до чего же круто! Просто взрыв мозга! Какая-то программа умудрилась преодолеть сорок лет истории и предстать прямо перед ним, перед Чжан Вэем!
Чжан Вэй отыскал один BAPI из версии 21A. Надо же, он относился к отлично знакомой ему бизнес-области, можно сказать, к древней классике – «BAPI_VENDOR_DISPLAY»! Просмотр данных поставщика!
Чжан Вэй запустил эту функцию через транзакцию SE37. И замер в изумлении – она сработала! Выдала результат без единой ошибки!
В этот миг у Чжан Вэя на глаза навернулись слезы. Ему подумалось, что, когда программист создавал этот код в SAP, сам Чжан Вэй, возможно, еще даже не родился!
Чжан Вэю нестерпимо захотелось отвесить глубокий поклон тому далекому коллеге, о котором он даже не знал, жив ли тот еще.
В эту секунду они заговорили – их диалог прорвался сквозь бездну времени и пространства! Чжан Вэю на миг показалось, будто сквозь пелену лет ему улыбается седовласый старик.
Это было первое потрясение Чжан Вэя.
Вторым потрясением стало то, насколько же чертовски мощной оказалась сама эта архитектура!
Благодаря заложенному механизму система SAP позволяла коду, написанному еще в восьмидесятых годах, приносить пользу и по сей день!
Этот бесконечный, непрекращающийся сложный процент – насколько же это мощно! И это только сложный процент на оси времени!
А ведь есть еще ось пространства! Эта программа работает не только в компании Чжан Вэя! Ее используют бесчисленные предприятия по всему миру. Чжан Вэй навел справки: одновременно с этой программой работают более 600 тысяч компаний, подобных их фирме, с годовой выручкой как минимум в несколько миллиардов!
Более того, развитие этой программы не остановилось на версии 21A, после нее вышло еще 32 обновления!
Чжан Вэй даже заподозрил, что здесь зафиксированы только крупные релизы, а мелкие патчи просто не учитывались. Настоящих версий наверняка было гораздо больше 33!
В этот момент Чжан Вэй был потрясен до глубины души! Как программисту, ему хотелось лишь одного – преклонить колени перед теми людьми, которые когда-то заложили архитектурный фундамент SAP!
Невероятно круто, потрясающе! Какой грандиозный размах! Какое поразительное упорство!
Заставить механизм работать без изменений на протяжении 40 лет, заставлять его приносить пользу и неуклонно, год за годом накапливать, кристаллизовать опыт – такая стойкость и исполнительность могут сравниться разве что с древней китайской притчей о Юй-гуне, который сдвинул горы!
В этот миг Чжан Вэй вспомнил, как в университете гордился тем, что сумел избавиться от камня в почках с помощью физических прыжков. Перед лицом сорокалетнего упорства SAP это достижение казалось настолько ничтожным и смехотворным, что о нем и заикаться не стоило!
А ведь он еще радовался, хранил этот камень как боевой трофей! Перед лицом столь колоссального, долгосрочного упорства и накопления знаний Чжан Вэй наконец осознал истинный смысл поговорки «над каждым небом есть другое небо, а за каждым умельцем – еще более умелый»!
К тому же Чжан Вэй вспомнил, что поля на четвертом уровне Формирования Ядра подчинялись точно такому же принципу кристаллизации и накопления!
И теперь, на шестом уровне бизнес-объектов, функции BAPI демонстрировали столь же грандиозный размах. Чжан Вэю оставалось лишь беззвучно преклоняться перед дальновидностью системных архитекторов SAP. Накопленные на стыке осей времени и пространства, эти решения способны были справиться с любыми, даже самыми всеобъемлющими задачами!
Если привести простое сравнение: в китайском языке активно используются всего около 3500 иероглифов, а в романе «Сон в красном тереме» было задействовано всего 4462 уникальных знака. То есть с помощью одного и того же набора иероглифов можно написать как великий шедевр «Сон в красном тереме», так и практическое руководство «Уход за свиноматками после опороса»!
А в BAPI сейчас насчитывались десятки тысяч функций. Сколько же возможных комбинаций можно из них составить? Ответ очевиден – невообразимо много, фактически бесконечное количество!
К тому же этот процесс комбинирования начался 40 лет назад, и функции, объединенные в систему еще тогда, работают до сих пор!
И за эти 40 лет кристаллизации опыта – что самое важное – сотрудники SAP и компании, использующие систему по всему миру, совместными усилиями помогали обогащать и развивать эту архитектуру. Какую же колоссальную инерцию накопил этот катящийся снежный ком? Чжан Вэй не смел даже гадать, это было выше его понимания!
Сменялись поколения сотрудников и программистов SAP, приходили и уходили клиенты, но накопленные знания, функции и способности, выстроенные вокруг этой экосистемы, непрерывным потоком оседали внутри продуктов SAP. Эта преемственность никогда не прерывалась, превратившись сегодня в неприступную стену SAP, которую невозможно преодолеть!
Чжан Вэй только что лично запускал ту древнюю функцию. Он был уверен: создавший ее программист либо уже покинул этот мир, либо давно наслаждается заслуженным отдыхом на пенсии. Но написанный им код прошел сквозь время и пространство и продолжает ярко сиять прямо сейчас!
Это чувство походило на то, как классические изречения из «Лунь юя», эпохи Тан или Сун продолжают жить в веках, не теряя красок в лоне китайской культуры, построенной на иероглифах!
Иными словами, пока существует SAP, программа версии 21А, которая живет уже 40 лет, гарантированно просуществует еще как минимум 10, а то и 20 лет – Чжан Вэй был в этом уверен на все сто!
Разве что появится принципиально новый продукт, способный заменить SAP – заменить так, как автомобили сменили повозки, полностью перевернув базовую логику. Иначе эта система никуда не исчезнет. В конце концов, их защитная стена выстроена из самого прочного материала – времени!
Теперь Чжан Вэй наконец понял, почему транзакция SPRO казалась ему бесконечно огромной!
Возможные сочетания всего 3500 базовых иероглифов стремятся к бесконечности – и это не выдумка Чжан Вэя, к такому выводу пришел Лю Цысинь в своем рассказе «Песнь поэзии»!
Что уж говорить о комбинациях десятков тысяч BAPI?
При мысли о «Песни поэзии» Чжан Вэя вдруг осенило! Бесконечность вариантов – это ведь одновременно и полная бессмысленность. Когда комбинаций слишком много, когда неизвестно, какие из них имеют смысл, все это в конечном счете теряет всякую ценность!
А ценность теряется потому, что в условиях бесконечного множества невозможно вычленить то, что действительно важно!
Осознав это, Чжан Вэй тут же взял свои десять заготовленных приманок и проверил каждую на соответствующем BAPI!
Что ж, SAP оставался верным себе: практически каждый BAPI вызывался лишь несколькими конкретными программами. То есть данная функция использовалась всего в нескольких или паре десятков программ, а не плодилась бездумно в бесконечном множестве вариаций, как в логике «Песни поэзии»!
Впрочем, радость Чжан Вэя тут же сменилась тревогой: но как именно они вызываются? При каких условиях?
Это Формирование Ядра в SAP – воистину слой за слоем, ни один не похож на другой, и на каждом тебя ждет новый сюрприз! Только этим Чжан Вэй и мог себя утешить.
Путь впереди еще долгий, он ведь только-только окончил университет, с чего бы вдруг напускать на себя такую старческую серьезность? Ха-ха!
http://tl.rulate.ru/book/196473/21673007
Готово: