NetKernel - NetKernel
Оригинальный автор (ы) | Лаборатории HP[1] |
---|---|
Разработчики) | 1060 исследований |
Стабильный выпуск | 6.2.1 / 27 января 2018[2] |
Написано в | Ява |
Тип | Фреймворк приложения |
Лицензия | Общественная лицензия 1060[3] |
Интернет сайт | www |
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
Смотрите также
- Изобразительное State Transfer
- Интернет-ресурс
- Джоли
- Список языков разметки пользовательского интерфейса
Рекомендации
- ^ а б "О себе: История". 1060 исследований.
- ^ "Загрузить стандартную версию NetKernel".
- ^ а б «Общественная лицензия 1060 v1.2». 1060 исследований.
- ^ . FinExtra https://www.finextra.com/newsarticle/31641/bristol-startup-netkernel-hires-deutsche-bank-innovation-lead-as-ceo. Отсутствует или пусто
| название =
(помощь) - ^ https://www.forbes.com/sites/charlesradclyffe/2018/08/30/three-critical-lessons-i-learned-from-my-6-months-as-a-deep-tech-ceo/#310f15da5f88. Отсутствует или пусто
| название =
(помощь)