Статьи

PHP и я, часть 1

Мы уже говорили о многих странных вещах в SitePoint (ну, по крайней мере, я думаю, что некоторые из них странные), но это может сработать. В этой серии статей я хочу поговорить с вами о PHP — и IBM I. Это верно, IBM i, ранее известная как System i, а до этого — AS / 400. Давайте начнем с того, что развеем миф о том, что я динозавр; на самом деле это очень замечательная машина, и есть много возможностей для смелых программистов PHP, которые решаются на это.

Правда о я

Прежде чем вы встанете передо мной из-за того, что я динозавр, а не реальный выбор в мире высоких технологий Windows 8 сегодня, позвольте мне предупредить вас, что я ближе всего (как взрослый) вступил в драку в баре было над i. В свою защиту, я только что сошел с четырехчасового рейса, было уже поздно, и я пытался поймать результаты НФЛ за день. Тем не менее, вы можете пойти сюда слегка.

Да, IBM i существует с конца 70-х или начала 80-х, в зависимости от того, как вы на это смотрите. Но это не старомодная машина, а ядро ​​для Windows и Unix датируется примерно одинаковым периодом времени.

Если пословица, сравнивающая Unix с покупкой автомобиля, который вы должны собрать самостоятельно, и Windows с автомобилем, который необходимо отремонтировать, прежде чем вы сможете его водить, верна, то это также верно, что я похож на получение автомобиля из автосалона пол полностью собран и готов к работе.

Отличительной чертой i является уровень интеграции. Все аспекты машины интегрированы: язык, база данных, операционная система. Это очень быстрая машина (до чипов Power-7 в настоящее время), она очень масштабируема (от блейд-серверов до мегасистем) и имеет очень продвинутую операционную систему, которая отделяет аппаратное обеспечение от программного обеспечения (что делает его очень простым и прозрачным для переключения от 32-разрядного оборудования до 64-разрядного без каких-либо изменений в программах — это произошло в конце 90-х; все программы i являются 64-разрядными) и имеет непревзойденную структуру безопасности. Ни одна система IBM i не была успешно взломана.

OMG — это система с небес! Так почему же не у всех? Я — явный победитель, если вы посмотрите на любое исследование, которое фокусируется на общей стоимости владения за несколько лет, но мы являемся квартальным обществом. Цена приобретения i дороже, чем сервер Windows. Более того, IBM никогда не считала целесообразным предоставлять собственный интерфейс с графическим интерфейсом для i. Те, кто использует зеленые экраны, не хотят переключаться на графический интерфейс или конфигурацию браузера, потому что намного проще вводить данные и команды напрямую, но сегодняшняя реальность такова, что вам нужен красивый графический интерфейс.

Я и GUI

Итак, мы доказали, что я люблю меня, но какое это имеет отношение к вам? В течение прошлых 40 лет программисты RPG на i производили зеленые экраны с невероятной скоростью. И теперь, внезапно, все хотят, чтобы они производили экраны на основе браузера. Проблема в том, что нет никакого собственного способа сделать это на i (это не то же самое, что сказать, что на i нет способа сделать это, но скорее это не то, что программисты RPG естественно имеют в своих руках. вокруг).

Мы могли бы заменить RPG на i чем-то, что основано на браузере. Может быть, Java. Или .Net. Проблема заключается в том, что для бизнес-логики, которая включает в себя много логики, а также структуры calc и case, нет ничего лучше, чем RPG (если вы не используете COBOL, к которому большинство людей имеют сильную аллергию). В результате RPG здесь, чтобы остаться, и основные программы, требуемые системами ERP, которые работают на i, продолжат использовать RPG.

В мире i существует несколько вариантов создания экранов, а затем сопряжения их с логикой RPG. И каждый преподаватель в мире i старается побудить программистов RPG изучить один из нескольких вариантов, в том числе PHP.

Проблема, с которой сталкивается большинство людей RPG, заключается в том, что за последние 10 лет они несколько раз сокращали количество сотрудников, и у большинства из них нет времени делать то, что им нужно, с RPG, а тем более изучать что-то новое. Это означает, что мир i может использовать людей, которые имеют знания PHP, но ничего не знают о RPG.

РПГ и прочее

Для тех из вас, кто ничего не знает о RPG (и я полагаю, что это большинство из вас), RPG начинал как простой составитель отчетов. Но ничто не остается простым навсегда.

Первоначально люди, играющие в RPG, обычно писали большие программы с единой программой, содержащей экранную сборку, логику управления и бизнес-логику. Но с введением RPG ILE около 10 лет назад ситуация начала меняться. ILE сделал RPG намного более эффективным в том, как он называл подпрограммы, и теперь многие люди настаивают на модели MVC, когда RPG обрабатывает модель и контроллер, а что-то еще, например PHP, делает представление.

Большинство компаний будет использовать MVC за исключением одной проблемы; их обычные программисты RPG могут быть в состоянии сделать «Hello World» на PHP, но они не готовы разрабатывать сложные экраны или иметь дело с сетевыми последствиями этих экранов (сессии, куки, REST и т. д.). Это открывает реальную возможность для программистов PHP, которые могут делать такие вещи и которые хотят работать в рамках i.

Начиная

Таким образом, с потенциальным потоком доходов, ожидающим своего открытия, вопрос в том, как вы, программист PHP, делаете именно это?

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

Во-вторых, вам нужно немного познакомиться с RPG. Нет, вам не нужно знать, как его кодировать, но вы должны знать, как с этим справиться. То есть, как работает RPG ILE и как вы можете использовать его, чтобы позволить вам делать экраны (страницы) для приложений RPG в PHP. Часто людям, с которыми вы будете иметь дело, нужно помочь понять, как PHP может вписаться в их планы и что им нужно сделать, чтобы RPG был дружественным к PHP.

В-третьих, настройка бизнес-страниц отличается от страниц для веб-сайтов, поэтому одна из вещей, которые вы должны сделать, это ознакомиться с различиями и способами их настройки для максимальной эффективности.

Вывод

Это все, что они позволят мне написать для этой части. Но следите за обновлениями, дорогой читатель, так как на следующей неделе я расскажу о том, на что похожа разработка i для смелых программистов PHP, которые рискуют войти в эту сферу!

Изображение через Fotolia