Computerworld, США

LAMP становится общепринятым символом Web-платформы, которую разработчики создают из множества программных компонентов
Неофициальный логотип LAMP

В среде информационных технологий, где всегда существовал некий собственный язык, новые термины возникают как результат попытки сократить длинное название или заменить громоздкую фразу. Одним из последних новшеств этого «языка» стал термин LAMP, означающий совокупность бесплатного, в основном свободно распространяемого ПО, которое лежит в основе большинства современных Web-сайтов. LAMP состоит из четырех компонентов: Linux, Apache, MySQL и Perl, PHP и/или Python. (Не исключаются и другие варианты этого комплекта, в которых используются альтернативы Linux и MySQL.)

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

Вот краткое описание элементов, из которых состоит LAMP.

Linux, конечно, — это свободно распространяемая ОС, созданная Линусом Торвальдсом. Из разработанного студентом любительского продукта Linux превратился в семейство высоконадежных систем, которые применяются как в крупных, так и в небольших организациях по всему миру.

Apache — это, несомненно, самый широко используемый Web-сервер на планете. С самого начала, то есть с 1995 года, Apache представлял собой свободно распространяемый проект, осуществляемый под эгидой группы, получившей название Apache Software Foundation. В августе 2006 года, согласно данным опроса, проведенного компанией Netcraft, этот продукт использовался на 62% всех Web-сайтов в Internet. Он, безусловно, остается самым популярным Web-сервером, несмотря на то что в последние несколько месяцев его потеснил на рынке Internet Information Server корпорации Microsoft. Таким образом, Apache фактически является эталонной платформой для всех остальных Web-серверов.

MySQL — это многопоточная, многопользовательская система управления базами данных на базе SQL. Во всем мире было установлено свыше 6 млн. экземпляров этой СУБД. В отличие от других компонентов, MySQL не является свободно распространяемым решением, но с момента своего появления в 1995 году авторские права на него принадлежат единственной коммерческой компании — MySQL AB. Эта шведская фирма предлагает MySQL бесплатно на условиях лицензии GNU General Public License. Однако на эту СУБД можно приобрести более традиционную внутреннюю лицензию, если покупатель намерен использовать базу данных на условиях, не соответствующих условиям GPL.

PHP, Perl и Python — это предпочтительные языки программирования в большинстве LAMP-подобных комплектов. Последние не только имеют названия, начинающиеся с одной и той же буквы, но и представляют собой выразительные, компактные языки скриптов, которые позволяют запускать программу на Web-севере из окна браузера.

Языки скриптов стали использовать с начала 90-х годов, с появлением Web-интерфейсов Common Gateway Interface, упрощающих предоставление Web-страниц с динамическим, обновляемым контентом в дополнение к статическим, неизменяемым страницам.

Программисты отдают в этих случаях предпочтение языкам скриптов, поскольку с их помощью довольно просто манипулировать текстовыми потоками, получаемыми из различных источников.

Термин LAMP впервые ввел Майкл Канц в статье, опубликованной в 1998 году в декабрьском выпуске немецкого компьютерного журнала Computertechnik. Канц попытался показать, что пакет, состоящий из бесплатного программного обеспечения, может быть приемлемой альтернативой дорогостоящим коммерческим пакетам. С того момента издательство O?Reilly & Associates и MySQL занимаются популяризацией этого термина.

Многие рассматривают LAMP как стек, многоуровневую совокупность базовых программных средств. Эти уровни сравнимы с теми, из которых состоят коммерческие стеки, такие как платформа Microsoft .Net. Все вместе они поддерживают серверы приложений.

К числу конкурирующих стеков коммерческого программных средств промежуточного слоя относятся унифицированные среды разработки приложений, такие как .Net, IBM WebSphere, WebObjects корпорации Apple Computer и Java Enterprise Edition, предлагаемый Sun Microsystems. Но как бы ни называли LAMP — стеком или платформой, это, безусловно, взаимосвязанный набор технологий, который разработчики могут применять для создания и установки приложений.

Можно ли использовать LAMP на предприятии? И да и нет. Такие пакеты уже применяются на крупных сайтах, таких как O?Reilly Network. Известные Internet-компании, такие как Amazon.com и Google, располагают сетями и системами LAMP. Тем не менее вряд ли вам захочется использовать LAMP для работы своих базовых финансовых систем, поскольку до недавнего времени MySQL даже не поддерживала понятие транзакции.

Сам по себе LAMP лишь означает, что это программное обеспечение для Web-приложений. Несмотря на это, его можно использовать для создания приложений, которые взаимодействуют с многофункциональным программным обеспечением промежуточного уровня. Скорее всего, придется написать достаточно сложные программы на другом языке.

Тем не менее LAMP, вероятно, будет популярен у тех компаний, для которых вопрос стоимости имеет первостепенное значение и в которых ведется достаточно серьезная внутренняя разработка.


Взаимо?заменяемые компоненты

LAMP становится общепринятым символом Web-платформы, которую разработчики часто создают из множества программных компонентов. Ниже перечислены некоторые из самых распространенных вариантов.

L: Linux, FreeBSD, NetBSD, OpenBSD, Microsoft Windows, Darwin/Mac OS X, Novell NetWare

A: Apache (основной элемент в комплекте, обозначаемом этой аббревиатурой)

M: MySQL, PostgreSQL, Firebird SQL или Oracle

P: PHP, Perl, Python, Ruby или Groovy


Игра в слова

Есть ли еще какая-либо сфера современной жизни (возможно, за исключением военной отрасли), где бы всевозможные сокращения любили больше, чем в мире компьютеров и информационных технологий? Ни одна статья или разговор, связанные с информационными технологиями, не обходятся без множества сокращений, которые иногда употребляют как отдельное слово, а иногда произносят по буквам, тем самым придавая им абсолютно новые значения. Я, например, вспоминаю интервью при приеме на работу, во время которого меня в течение нескольких минут просили объяснить значение десятков популярных сокращений.

В некоторых случаях сначала появлялись сокращения, а затем придумывали «полное название», подгоняя его под выбранные буквы. Например, в период появления домашних компьютеров Commodore International выбрала для своей первой модели название PET, а затем была придумана «официальная» расшифровка этого сокращения — Personal Electronic Transactor. Иногда сокращение появляются сами собой. Вспомните, например, слот для платы PCMCIA, имеющийся практически на каждом ноутбуке. Первоначально это было сокращение от Personal Computer Memory Card International Association, но затем его все чаще стали расшифровывать как People Can?t Memorize Computer Industry Acronyms («Люди не могут запомнить сокращения компьютерной отрасли»). Затем появился стандарт TWAIN для взаимодействия со сканерами, который расшифровывают как Thing Without An Interesting Name («То, что не имеет интересного названия»).