Компания OpenLogic, выпускающая корпоративные решения на основе открытого кода для облаков и ЦОДов, анонсировала недавно отчет за 2011 г. о тенденциях развития открытого ПО (http://www.eweek.com/c/a/Linux-and-Open-Source/OpenLogic-Ranks-Top-OpenSource-Projects-of-2011-365276/). Наиболее важные проекты с открытым исходным кодом разделены в отчете на три категории: веб-серверы и серверы приложений, наборы приложений, базы данных и сверхбольшие объемы данных. При подготовке отчета OpenLogic проанализировала популярные, а также перспективные проекты с открытым кодом, используемые в корпоративных приложениях в качестве ядра. Цель анализа заключалась в том, чтобы определить, расширяется, остается стабильным или снижается уровень использования этих проектов на предприятиях. Применительно к каждом проекту OpenLogic проанализировала восемь показателей, используя общедоступные сведения, сводные данные, полученные с помощью инструментов OpenLogic, а также базу данных по своим клиентам, охватывающую свыше 250 предприятий по всему миру. Согласно отчету, пятью наиболее быстро растущими или добившимися наибольших успехов проектами являются (в порядке убывания) HBase — распределенная, ориентированная на использование столбцов СУБД, созданная на основе Hadoop; Node.js — платформа для написания хорошо масштабирующихся Интернет-приложений на языке JavaScript; nginx — предназначенный для параллельной обработки при низких требованиях к объему оперативной памяти веб-сервер и реверсивный прокси-сервер; Hadoop — среда для распределенной обработки больших наборов данных компьютерными кластерами; Ruby on Rails — хорошо масштабируемая среда для веб-приложений.
HBase
HBase — нереляционная распределенная СУБД с открытым кодом по образцу Google BigTable, написанная на языке Java. Она была разработана в рамках проекта Apache Hadoop фонда Apache Software Foundation и запускается поверх файловой системы Hadoop Distributed Filesystem (HDFS).
Node.js
Node.js — ПО для написания хорошо масштабируемых Интернет-приложений, главным образом веб-серверов. Программы создаются на JavaScript с использованием управляемого событиями асинхронного ввода/вывода, что снижает нагрузку и повышает масштабируемость. Node.js состоит из движка Google V8 JavaScript и нескольких встроенных библиотек.
nginx
nginx (произносится “engine-x”) — веб-сервер и реверсивный прокси-сервер для протоколов HTTP, SMTP, POP3 и IMAP с сильным акцентом на параллелизм, производительность и низкую загрузку ОЗУ. Распространяется по лицензии типа BSD. Работает под управлением Unix, Linux и BS [Правильно: FreeBSD, Linux, Solaris, Mac OS X, AIX, Windows.]
Hadoop
Apache Hadoop — программная среда, поддерживающая распределенные приложения для интенсивной работы с данными. Распространяется по открытой лицензии. Позволяет приложениям работать с тысячами узлов и петабайтами данных. Стимулом к разработке Hadoop послужили документы Google MapReduce и Google File System. Hadoop является высокоприоритетным проектом Apache, разрабатываемым всемирным сообществом программистов. Написана на Java. Yahoo вносит наибольший вклад в развитие проекта и интенсивно использует Hadoop в своем бизнесе.
Ruby on Rails
Ruby on Rails (часто сокращают до Rails или RoR) — полноценная открытая среда веб-приложений для языка Ruby. Будучи полноценной средой программирования, RoR предоставляет веб-разработчикам возможность собирать информацию с веб-серверов, общаться с СУБД и составлять к ней запросы, визуализировать готовые шаблоны. В результате Rails представляет систему маршрутизации, не зависящую от веб-сервера. Не следует путать Ruby on Rails с Ruby. Последний является языком программирования общего назначения, который используется в Ruby on Rails. Ruby насчитывал уже свыше десяти лет, когда впервые появилась Ruby on Rails.
MongoDB
MongoDB — открытая высокопроизводительная документ-ориентированная СУБД типа NoSQL без задания схемы данных, написанная на C++. Она управляет коллекцией документов в формате BSON, из которых можно образовывать сложные иерархии, что не мешает легко составлять запросы и индексы. Это позволяет многим приложениям хранить данные естественным образом в соответствии с типами и структурами самих данных. Команда 10gen приступила к разработке MongoDB в октябре 2007 г. Первый общедоступный релиз появился в феврале 2009 г.
Tomcat
Apache Tomcat (называют также Jakarta Tomcat или просто Tomcat) — веб-сервер и контейнер сервлетов с открытым кодом, разработанный фондом Apache Software Foundation. Tomcat реализует созданные в Oracle спецификации Java Servlet и JavaServer Pages и обеспечивает чистую среду веб-сервера Java HTTP для исполнения кода Java.
MySQL
MySQL — реляционная СУБД. В качестве сервера обеспечивает многопользовательский доступ к ряду баз данных. Названа по имени дочери разработчика Майкла Видениуса — Май (My).
Apache HTTP Server
Apache HTTP Server обычно называют просто Apache. Этот веб-сервер сыграл ключевую роль в распространении Интернета на начальном этапе. В 2009 г. он стал первым веб-сервером, преодолевшим рубеж в 100 млн. веб-сайтов. Apache был первой жизнеспособной альтернативой веб-серверу Netscape (нынешнее название — Oracle iPlanet Web Server) и в дальнейшем смог конкурировать с другими веб-серверами по функциональности и производительности.
Spring Framework
Spring Framework — открытая среда приложений для Java. Первая версия была написана Родом Джонсоном, который в октябре 2002 г. выпустил ее одновременно с выходом своей книги “Эксперт один на один с дизайном и разработкой J2EE” (Expert One-on-One J2EE Design and Development). С июня 2003 г. она распространялась по лицензии Apache 2.0. Релиз 1.0 появился в марте 2004 г. В сентябре 2004 г. и марте 2005 г. последовали новые этапные релизы. Основные функции Spring Framework могут использоваться любым приложением Java, но имеются расширения для создания веб-приложений на базе Java Platform, Enterprise Edition (Java EE).
PostgreSQL (11-12-е места)
PostgreSQL (часто именуемая просто Postgres) — объектно-реляционная СУБД для множества платформ, включая Linux, FreeBSD, Solaris, Microsoft Windows и Mac OS X. Она распространяется по лицензии PostgreSQL License, выдержанной в духе MIT, что делает ее свободным ПО с открытым исходным кодом. PostgreSQL разрабатывается коллективом PostgreSQL Global Development Group, состоящим из множества сообществ добровольцев, работающих в таких компаниях как Red Hat, которые и осуществляют надзор.
Grails (11-12-е места)
Grails — открытая среда веб-приложений, использующая язык программирования Groovy (который, в свою очередь, базируется на платформе Java). Она задумана как высокопроизводительная среда благодаря использованию парадигмы “программирование в соответствии с правилами” (coding by convention). Это выделенная среда разработки, скрывающая от программиста большинство настроек.
Struts
Apache Struts — открытая среда для разработки веб-приложений Java EE. Она использует и расширяет интерфейс Java Servlet API, побуждая программистов применять схему “модель-представление-контроллер” (model-view-controller, MVC). Struts была разработана Крейгом МакКланаханом и в мае 2000 г. передана фонду Apache Foundation.
JBoss
JBoss Application Server (JBoss AS) — открытый сервер приложений на базе Java EE. Поскольку он основан на Java, то является кросс-платформенным, может использоваться с любой операционной системой, поддерживающей Java. JBoss AS был разработан компанией JBoss, которая сейчас является подразделением Red Hat.
GlassFish
GlassFish — открытый сервер приложений. Проект бы запущен компанией Sun Microsystems для платформы Java EE, ныне его спонсирует корпорация Oracle. Версия с технической поддержкой называется Oracle GlassFish Server. GlassFish является бесплатным ПО с двойным лицензированием. Одна лицензия именуется Common Development and Distribution License, другая — GNU General Public License. Эти лицензии не распространяются на библиотеку классов GNU Classpath.
CouchDB
Apache CouchDB (обычно говорят CouchDB) — открытая документ-ориентированная СУБД, написанная преимущественно на языке программирования Erlang. Она входит в группу информационных складов NoSQL и предназначается для локальной репликации и масштабирования по горизонтали на широком спектре устройств. CouchDB поддерживается коммерческими предприятиями Couchbase и Cloudant.