NetKernel
Оригинальный автор(ы) | Лаборатории HP [1] |
---|---|
Разработчик(и) | 1060 Исследования |
Стабильная версия | 6.2.1
/ 27 января 2018 г [2] |
Написано в | Ява |
Тип | Платформа приложения |
Лицензия | 1060 Публичная лицензия [3] |
Веб-сайт | www |
NetKernel — британская компания-разработчик программного обеспечения и одноименная программная платформа, которая используется для высокопроизводительных вычислений, интеграции корпоративных приложений и энергоэффективных вычислений.
Это позволяет разработчикам четко отделять код от архитектуры. Его можно использовать в качестве сервера приложений , встроенного в контейнер Java или в качестве платформы облачных вычислений .
Как платформа, это реализация абстракции ресурсно-ориентированных вычислений (ROC). ROC — это логическая вычислительная модель, которая находится поверх физической среды кода и объектов, но полностью изолирована от нее. В ROC информация и услуги идентифицируются по логическим адресам, которые разрешаются физическим конечным точкам на время запроса, а затем освобождаются. Логическая косвенная адресация приводит к созданию гибких систем, которые можно изменять во время работы системы. В NetKernel граница между логическим и физическим уровнями проходит через микроядро операционной системы , которое может выполнять различные прозрачные оптимизации.
Идея использования ресурсов для моделирования абстрактной информации зародилась в архитектурном стиле REST и Всемирной паутине . Идея использования единой модели адресации зародилась в операционной системе Unix . NetKernel можно рассматривать как объединение Интернета и Unix, реализованное как программное обеспечение, операционная система, работающая на монолитном микроядре внутри одного компьютера.
NetKernel был разработан 1060 Research и предлагается в рамках двойного программного обеспечения с открытым исходным кодом. [3] и лицензия на коммерческое программное обеспечение.
История
[ редактировать ]NetKernel был запущен в лабораториях Hewlett-Packard в 1999 году. Он был задуман доктором Рассом Перри, доктором Ройстоном Селлманом и доктором Питером Роджерсом как операционная среда XML общего назначения, которая могла бы удовлетворить потребности растущего интереса к диалектам XML для внутреннего использования. -отраслевой обмен XML-сообщениями. [1]
Роджерс рассматривал Интернет как реализацию общей абстракции, которую он экстраполировал как ROC, но тогда как Интернет ограничивается публикацией информации; он приступил к разработке решения, которое могло бы выполнять вычисления, используя аналогичные принципы. Работая в тесном сотрудничестве с соучредителем Тони Баттерфилдом, они открыли метод написания программного обеспечения, которое можно выполнять на основе логической модели, отделенной от физической сферы кода и объектов. Осознав потенциал этого подхода, они покинули HP Labs.
Роджерс и Баттерфилд основали свою компанию как «1060 Research Limited» в Чиппинг-Содбери, небольшом торговом городке на окраине английского региона Котсолдс, в 2002 году, и в течение ряда лет разработали платформу, которая стала NetKernel.
В начале 2018 года 1060 Research объявила, что назначает нового генерального директора Чарльза Рэдклиффа. [4] Рэдклифф объявил сообществу NetKernel в феврале 2018 года, что команда работает над новой платформой на базе NKEE 6, которая будет полностью размещена, программируема и доступна через Интернет — NetKernel Cloud. Рэдклифф подал в отставку через шесть месяцев. [5]
Концепции
[ редактировать ]Ресурс
[ редактировать ]Ресурс — это идентифицируемая информация в компьютерной системе. Ресурсы — абстрактное понятие, и ими нельзя манипулировать напрямую. Когда ресурс запрашивается, предоставляется конкретное неизменяемое представление , которое фиксирует текущее состояние ресурса. Это прямо аналогично тому, как функционирует Всемирная паутина. В Интернете URL-адрес идентифицирует глобально доступный ресурс. Когда браузер отправляет запрос на ресурс, ему в ответ отправляется представление ресурса.
Адреса
[ редактировать ]Ресурс идентифицируется по адресу в адресном пространстве . В NetKernel адреса универсального идентификатора ресурса (URI) используются для идентификации всех ресурсов. В отличие от Интернета, который имеет единое глобальное адресное пространство, NetKernel поддерживает неограниченное количество адресных пространств и поддерживает отношения между адресными пространствами.
NetKernel поддерживает множество схем URI и представляет новые, специально применимые к адресации URI в программной системе.
Запрос
[ редактировать ]Фундаментальная операция в NetKernel — это запрос ресурса или запрос . Запрос состоит из адреса URI ресурса и команды . Поддерживаемые команды включают SOURCE, SINK, NEW, DELETE, EXISTS и META. Каждый запрос отправляется в микроядро , которое преобразует адрес URI в физическую конечную точку, а также назначает и планирует поток для обработки. Когда конечная точка завершает обработку, микроядро возвращает ответ инициирующему клиенту.
Программирование
[ редактировать ]Основная инструкция в NetKernel — это запрос ресурса, заданный URI. Механизмы, определяющие последовательность запросов URI, расположены над микроядром. В текущей реализации на основе Java запросы отправляются с использованием Java API. Это означает, что для программирования NetKernel можно использовать любой язык, который может вызывать API Java.
По состоянию на апрель 2013 г. [update], набор поддерживаемых языков включает:
- Ява
- Руби
- Скала
- Кложур
- JavaScript
- Питон 2
- классный
- Биншелл
- PHP
- ДПМЛ
- Языки, связанные с XML, такие как XQuery.
- Спецификация URI сама по себе достаточно разнообразна, чтобы выразить функциональный язык программирования.
Активная схема URI
[ редактировать ]Схема активного URI была предложена Hewlett-Packard как средство кодирования функциональной программы в URI.
active: {function-name} [+ {parameter-name} @ {parameter-value-URI}]*
Например, следующий URI вызывает генератор случайных чисел.
active:random
а следующий пример использует службу XSLT для преобразования XML- документа с помощью таблицы стилей XSLT:
active:xslt+operator@file:/style.xsl+operand@file:/document.xml
Поскольку значения аргументов сами могут быть адресами URI, набор вызовов функций с древовидной структурой может быть закодирован в одном URI.
Транспорт
[ редактировать ]Транспорты — это механизм, используемый для подачи запросов из-за пределов NetKernel в адресное пространство NetKernel. Транспорты доступны для протокола HTTP, JMS ( служба сообщений Java ) и CRON. Другие транспорты можно легко добавить, поскольку они независимы от остальной части NetKernel.
Роль транспорта состоит в том, чтобы преобразовать внешний запрос, основанный на одном протоколе, в запрос NetKernel с URI и определенным глаголом (SOURCE, SINK и т. д.), а затем отправить возвращенное представление обратно клиенту через поддерживаемый протокол.
Два сопоставления обрабатываются транспортом. Первый — между адресным пространством внешнего поддерживаемого протокола и внутренним адресным пространством NetKernel. А второй — между глаголом или действием, указанным извне, в глагол NetKernel.
Например, в случае транспорта HTTP внешнее адресное пространство является подпространством URL-адреса. Следующее отображение иллюстрирует этот момент.
http://www.mywebsite.com/publications/... | v file:/src/publications/...
Кроме того, протокол HTTP поддерживает такие методы, как GET, PUT, HEAD и т. д., которые сопоставлены с командами NetKernel.
Языки сценариев
[ редактировать ]Необходим механизм для выдачи запросов URI, захвата возвращаемых представлений и взаимодействия с клиентами.
Языки сценариев выполняются своим механизмом выполнения, который сам по себе является службой. Например, среда выполнения языка Groovy запустит программу, содержащуюся в файле file:/program.gy
со следующим:
active:groovy+operator@file:/program.gy
См. также
[ редактировать ]- Представительская государственная передача
- Веб-ресурс
- Джоли
- Список языков разметки пользовательского интерфейса
Ссылки
[ редактировать ]- ^ Перейти обратно: а б «О себе: История» . 1060 Исследования .
- ^ «Загрузка стандартной версии NetKernel» .
- ^ Перейти обратно: а б «Общественная лицензия 1060 v1.2» . 1060 Исследования .
- ^ «Бристольский стартап NetKernel нанимает руководителя инноваций Deutsche Bank на должность генерального директора» . ФинЭкстра. 7 февраля 2018 г.
- ^ «Три важнейших урока, которые я усвоил за 6 месяцев работы генеральным директором Deep Tech» .