WikiDer > NetKernel

NetKernel
NetKernel
Оригинальный автор (ы)Лаборатории HP[1]
Разработчики)1060 исследований
Стабильный выпуск
6.2.1 / 27 января 2018; 2 года назад (2018-01-27)[2]
Написано вЯва
ТипФреймворк приложения
ЛицензияОбщественная лицензия 1060[3]
Интернет сайтwww.1060 исследования.com/товары/

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

Это позволяет разработчикам четко отделить код от архитектуры. Его можно использовать как сервер приложений, встроенные в контейнер Java или используемые как облачные вычисления Платформа.

В качестве платформы это реализация ресурсо-ориентированные вычисления (ROC) абстракция. РПЦ - это логичный вычислительная модель, которая находится поверх, но полностью изолирована от физический область кода и объектов. В ROC информация и услуги идентифицируются логическими адресами, которые разрешаются физическим конечным точкам на время запроса, а затем освобождаются. Логическая косвенная адресация приводит к гибким системам, которые можно изменять во время работы системы. В NetKernel граница между логическим и физическим уровнями определяется уровнем операционной системы. микроядро которые могут выполнять различные прозрачные оптимизации.

Идея использования ресурсов для моделирования абстрактной информации проистекает из ОТДЫХ архитектурный стиль и Всемирная паутина. Идея использования единой модели адресации проистекает из Unix Операционная система. NetKernel можно рассматривать как объединение Интернета и Unix, реализованное как программное обеспечение. Операционная система работает на монолитный микроядро в пределах одного компьютера.

NetKernel был разработан 1060 Research и предлагается под двойным программное обеспечение с открытым исходным кодом[3] и коммерческое программное обеспечение.

История

NetKernel был запущен в Hewlett-Packard Labs в 1999 году. Он был задуман доктором Рассом Перри, доктором Ройстоном Селлманом и доктором Питером Роджерсом как операционная среда XML общего назначения, которая могла бы удовлетворить потребности растущего интереса к диалектам XML для внутреннего использования. -отраслевой обмен сообщениями XML.[1]

Роджерс рассматривал Интернет как реализацию общей абстракции, которую он экстраполировал как ROC, но в то время как Интернет ограничен публикацией информации; он приступил к разработке решения, которое могло бы выполнять вычисления с использованием аналогичных принципов. Работая в тесном сотрудничестве с соучредителем Тони Баттерфилдом, они открыли метод написания программного обеспечения, которое могло бы выполняться в рамках логической модели, отделенной от физического мира кода и объектов. Осознав потенциал этого подхода, они вышли из HP Labs.

Роджерс и Баттерфилд начали свою компанию под названием «1060 Research Limited» в Чиппинг-Содбери, небольшом рыночном городке на окраине региона Котсолдс в Англии в 2002 году, и в течение нескольких лет разработали платформу, которая стала NetKernel.

В начале 2018 года 1060 Research объявила о назначении нового генерального директора Чарльза Рэдклиффа.[4]. В феврале 2018 года Рэдклифф объявил сообществу NetKernel, что команда работает над новой патформой на базе 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. Это означает, что любой язык, который может вызывать API Java, может использоваться для программирования NetKernel.

По состоянию на апрель 2013 г., набор поддерживаемых языков включает:

  • Ява
  • Рубин
  • Scala
  • Clojure
  • JavaScript
  • Python 2
  • Groovy
  • Бобовая скорлупа
  • PHP
  • DPML
  • Языки, связанные с XML, такие как XQuery
  • Сама спецификация URI обладает достаточным разнообразием, чтобы выразить функциональный язык программирования.

Схема активного URI

В активный Схема URI была предложена Hewlett Packard как средство для кодирования функциональная программа внутри URI.

active: {имя-функции} [+ {имя-параметра} @ {URI-значения-параметра}] *

Например, следующий URI вызывает генератор случайных чисел

активный: случайный

и ниже используется XSLT услуги по преобразованию XML документ с таблицей стилей XSLT:

активный: xslt + оператор @ файл: /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 / ... | vfile: / SRC / публикации / ...

Кроме того, протокол HTTP поддерживает такие методы, как GET, PUT, HEAD и т. Д., Которые отображаются в глаголы NetKernel.

Языки сценариев

Необходим механизм для отправки запросов URI, захвата возвращаемых представлений и связи с клиентами.

Языки сценариев выполняются их механизмом выполнения, который сам по себе является службой. Например, Groovy языковая среда выполнения запустит программу, содержащуюся в файле файл: /program.gy со следующим:

активен: groovy + оператор @ файл: /program.gy

Смотрите также

Рекомендации

  1. ^ а б "О себе: История". 1060 исследований.
  2. ^ "Загрузить стандартную версию NetKernel".
  3. ^ а б «Общественная лицензия 1060 v1.2». 1060 исследований.
  4. ^ . FinExtra https://www.finextra.com/newsarticle/31641/bristol-startup-netkernel-hires-deutsche-bank-innovation-lead-as-ceo. Отсутствует или пусто | название = (помощь)
  5. ^ https://www.forbes.com/sites/charlesradclyffe/2018/08/30/three-critical-lessons-i-learned-from-my-6-months-as-a-deep-tech-ceo/#310f15da5f88. Отсутствует или пусто | название = (помощь)

внешняя ссылка