ДЖЕЙД (язык программирования)
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
JADE — это проприетарная объектно-ориентированная платформа разработки и развертывания программного обеспечения от новозеландской компании Jade Software Corporation , впервые выпущенная в 1996 году. [1] [2] Он состоит из языка программирования JADE, интегрированной среды разработки и отладчика , интегрированного сервера приложений и объектной базой данных системы управления .
Созданная как комплексная среда разработки, позволяющая программировать системы на одном языке, от сервера базы данных до клиентов , она также предоставляет API для других языков, включая .NET Framework . [3] Java , C / C++ и веб-сервисы .
Хотя для разработки доступна бесплатная ограниченная лицензия, использование платформы JADE требует оплаты за каждый процесс.
Язык
[ редактировать ]По синтаксису JADE очень похож на Pascal ; его синтаксис основан на языке Modula-2 , который произошел от Паскаля. Хотя он включает в себя инновации, отсутствующие в Паскале или Модуле-2, ему не хватает некоторых функций других современных объектно-ориентированных языков, таких как C# и Java. [4]
JADE может импортировать и запускать программы LINC 4GL и изначально была его основной ролью.
Модель программирования
[ редактировать ]Как и все другие популярные языки программирования, используемые для создания программного обеспечения, управляемого базами данных, JADE полностью объектно-ориентирован . JADE был разработан с учетом всех наиболее важных функций объектно-ориентированного программирования, но не поддерживает перегрузку методов или операторов, и до Jade 2018 не было параметризованных конструкторов. [4]
Классы в JADE хранятся вместе в схемах . Схемы служат той же цели, что и пакеты Java или пространства имен в .NET, но имеют иерархию и наследуют классы от суперсхем. Это становится особенно полезным при программировании с использованием методологии модель-представление-контроллер , поскольку классы модели можно поместить в одну схему, а затем классы контроллера и представления можно построить поверх классов модели в подсхеме.
Структура программы
[ редактировать ]Программы JADE разрабатываются с использованием пользовательского интерфейса, который позволяет программистам визуально создавать классы и определять их свойства и методы. Вместо того, чтобы искать методы в больших файлах, программисты выбирают метод, который они хотят редактировать, и отображается только код для этого конкретного метода. Кроме того, вместо того, чтобы компилировать весь код программы одновременно, в JADE каждый метод компилируется индивидуально, как только метод завершается, что означает, что код можно проверить немедленно.
Весь код приложения JADE хранится в объектно-ориентированной базе данных. Это позволяет осуществлять многопользовательскую разработку, поскольку база данных поддерживает управление параллелизмом, а поскольку каждый фрагмент кода является отдельным объектом в базе данных, часто можно перекодировать систему, пока она работает и находится в сети, пока части кода изменяемая система не используется.
Функции
[ редактировать ]Основная цель JADE заключалась в создании легко интегрированного языка программирования, который позволил бы разработчикам создавать одно приложение, работающее от начала до конца, вместо того, чтобы писать три отдельных приложения для сервера базы данных , сервера приложений и клиента представления , а затем напишите код, позволяющий им общаться друг с другом.
База данных объектов
[ редактировать ]Самое поразительное отличие JADE от других объектно-ориентированных языков программирования заключается в том, что его объектная база данных является собственной частью языка. Например, при создании объекта в JADE его можно создать как временный или постоянный. Создание объекта как временного аналогично созданию объектов в других объектно-ориентированных языках программирования — объект просто создается в памяти, а затем теряется при завершении программы. С другой стороны, когда объект создается как постоянный , после завершения программы объект все равно будет существовать и находиться там при следующем запуске программы. Таким образом, когда объект является постоянным, JADE автоматически работает в фоновом режиме, сохраняя и при необходимости извлекая объект из базы данных. Постоянные объекты можно распределять по нескольким взаимодействующим серверам, при этом JADE автоматически управляет кэшированием объектов и согласованностью кэша.
Существует очень мало различий между манипулированием временными и постоянными объектами, поэтому JADE создает для программиста впечатление , будто все объекты во всей базе данных находятся в локальной памяти. Большую часть времени объектно-ориентированная база данных JADE используется в многопользовательской системе, и поэтому JADE создает для программиста впечатление, будто все объекты в базе данных хранятся в общей памяти, к которой имеют доступ все пользователи, подключенные к системе. , даже с разных компьютеров.
Поскольку весь программный код и данные централизованно хранятся на сервере базы данных, все клиентские узлы можно программировать так, как если бы они работали на сервере базы данных.
База данных JADE по своей сути объектно-ориентирована, совместима с ACID и имеет все стандартные функции, такие как атомарные транзакции, блокировка, откат, восстановление после сбоя и возможность синхронизировать один или несколько вторичных серверов базы данных с основной базой данных для резервного копирования. аварийное восстановление и причины производительности.
Для взаимодействия с реляционными базами данных для целей отчетности, бизнес-аналитики и хранилищ данных JADE с 2010 года предоставляет «Реляционную службу заполнения», которая позволяет автоматически реплицировать объекты из собственной объектно-ориентированной базы данных в одну или несколько реляционных баз данных . Эта функция поддерживает версии Microsoft SQL Server 2000, 2005 и 2008.
Трехуровневая модель
[ редактировать ]Программное обеспечение, управляемое базой данных, часто использует трехуровневую методологию, в которой приложения разделены на три уровня – хранение данных, обработка и представление. На уровнях хранения и обработки данных системы JADE представляют собой набор взаимодействующих серверов, называемых узлами , и на каждом уровне может быть задействовано несколько узлов. Каждый тип узла имеет свое имя, и все они способны манипулировать объектами и выполнять бизнес-логику. Набор узлов можно развернуть на одной или нескольких машинах. Серверы баз данных управляют хранением данных, а также могут выполнять бизнес-логику, а серверы приложений выполняют обработку. В трехуровневой модели клиенты представления предоставляют пользовательский интерфейс. JADE также предоставляет двухуровневый клиент, сочетающий в себе возможности сервера приложений и клиента презентаций. Традиционно эти три уровня создавались путем объединения трех программ и их взаимодействия в одной системе. Такое разделение различных программ имеет множество преимуществ, главное из которых заключается в том, что система становится масштабируемой, то есть повышение мощности системы предполагает простое добавление большего количества узлов.
Проектирование такой системы дает программисту возможность учитывать каждый раз, когда он хочет закодировать определенную функцию. Прежде чем приступить к написанию кода, им необходимо решить, будет ли функция лучше всего работать на сервере базы данных, сервере приложений или клиенте представления, поскольку будет трудно изменить это решение, как только функциональность будет закодирована на одном из уровней.
Это отличается от приложений JADE, поскольку они полностью закодированы как одно приложение. Создавая приложение JADE, программист может думать так, как будто он создает программу, которая будет работать на сервере базы данных – как если бы все хранение, обработка и представление данных происходило на одном компьютере. Когда программа работает на трех уровнях, JADE автоматически знает, что весь код по умолчанию нужно запускать на сервере приложений и отправлять запросы к базе данных на сервер базы данных, а информацию пользовательского интерфейса — на клиент представления. Однако программисту очень легко переключить место, в котором запускается определенный метод, и переместить его на другой уровень, изменив сигнатуру метода. Из-за этого решение о том, где должен выполняться конкретный фрагмент кода, может быть принято на поздних стадиях цикла разработки, а рефакторинг кода для запуска в разных частях системы в конечном итоге оказывается намного проще из-за того, что JADE позволяет выполнять сквозные операции. -завершение разработки программного обеспечения.
Типы клиентов
[ редактировать ]Программисты имеют возможность разрешить трем различным типам клиентов подключаться к системе JADE. Эти три типа клиентов называются:
- НЕФРИТОВЫЕ Формы
- HTML-документы
- Веб-сервисы
В одной и той же схеме разработчик JADE может создать множество совершенно отдельных приложений, которые могут предоставлять разные интерфейсы для доступа к одной и той же базе данных.
НЕФРИТОВЫЕ Формы
[ редактировать ]Приложения JADE Forms, как следует из названия, состоят из форм. Клиентам необходимо подключаться через тонкий клиент JADE Smart или стандартный клиент, чтобы иметь возможность запускать приложения, использующие JADE Forms.
«Умный тонкий клиент» работает путем подключения к серверу приложений, который обычно выполняет всю обработку от имени «умного тонкого клиента», то есть тонкий клиент должен отвечать только за отображение форм и ввод данных. Это означает, что компьютер, на котором работает тонкий клиент, не обязательно должен быть очень мощным, и ему не требуется быстрое сетевое соединение, поскольку он не загружает данные из базы данных — тонкие клиенты JADE часто запускаются через коммутируемое соединение. По этой причине их называют тонкими клиентами, поскольку для работы этих клиентов не предъявляются высокие требования к вычислительной мощности.
Стандартный клиент — это просто интеллектуальный тонкий клиент, объединенный с сервером приложений на одном компьютере. В этом случае узел, на котором работает клиент, выполняет всю обработку, а также представление. Стандартные клиенты предъявляют более высокие требования к вычислительной мощности, чем тонкие клиенты, поскольку им приходится загружать данные из базы данных, а также выполнять собственную обработку.
Преимущества использования JADE Forms включают в себя:
- Из трех типов клиентов JADE Forms обеспечивает самое короткое время разработки приложений JADE.
- Позволяет разработчикам использовать одну и ту же технологию на всех этапах.
- Умные тонкие клиенты можно упаковать так, чтобы их можно было установить и запустить на клиентских компьютерах в несколько кликов.
Недостатки:
- Невозможно охватить всемирную аудиторию, как это возможно во Всемирной паутине.
Однако у JADE Forms есть интересная особенность. На самом деле можно запустить приложение JADE Forms через веб-браузер, изменив его режим на доступный через Интернет . Когда это происходит, JADE автоматически генерирует HTML-код для создания страниц, напоминающих формы и элементы управления , без каких-либо изменений в коде. Это очень быстрый способ для программистов, не владеющих HTML и другими веб-технологиями, доставить программу через Интернет.
HTML-документы
[ редактировать ]JADE поддерживает развертывание приложений в Интернете с помощью функции HTML-документов. Они работают очень похоже на ASP.NET, где разработчики создают шаблоны HTML-страниц и оставляют в шаблоне части для заполнения программой.
Преимущества использования HTML-документов:
- Позволяет приложению охватить мировую аудиторию.
Недостатки:
- Когда приложения JADE используют документы HTML, они больше не используют одну и ту же технологию от начала до конца. Проверка на внешней стороне системы может осуществляться, например, с помощью JavaScript.
- Передача части обработки внешним клиентам уже не так проста и безопасна.
Веб-сервисы
[ редактировать ]Веб-сервисы используются для того, чтобы позволить различным программам взаимодействовать друг с другом из удаленных мест в объектно-ориентированной форме. Веб-сервисы не могут быть доступны напрямую пользователям-человекам. Одним из применений веб-сервисов с JADE является предоставление возможности другим технологиям, таким как .NET или Java, использовать JADE в качестве серверной объектно-ориентированной базы данных. Веб-сервисы также позволяют системам JADE взаимодействовать со службами, предоставляемыми другими системами, отличными от JADE.
Совместимость
[ редактировать ]Помимо веб-сервисов, JADE также способна взаимодействовать с другими программами через языковые API (включая .NET, Java, C/C++), вызовы DLL, объекты ActiveX/COM и сборки .NET. Это позволяет другим программам получать доступ к объектам и выполнять методы и может использоваться для предоставления другого интерфейса приложению JADE. JADE 6.2 предоставил Java API, интеграцию .NET Assembly и возможность запуска интеллектуальных тонких клиентов на устройствах Windows Mobile. JADE 6.3 предоставляет API для языков .NET.
Многоязычные способности
[ редактировать ]JADE изначально поддерживает многоязычные программы. [5] Это делается несколькими способами:
- Строки могут быть помечены как переводимые , что означает, что они будут меняться в зависимости от текущего языка.
- Для каждого языка можно создать множество версий одной и той же формы. Это означает, что интерфейсы на разных языках могут выглядеть совершенно по-разному.
- У разработчика есть методы доступа к текущей локали системы, поэтому он может реализовать свои собственные функции, зависящие от языка.
JADE автоматически переключится на язык, который он обнаружит в системе, если этот язык предоставлен разработчиком. [5]
Портативность
[ редактировать ]В настоящее время приложения JADE можно запускать только в Windows, поддержка Linux прекращена. JADE 6.2 позволяет интеллектуальным тонким клиентам и специализированным стандартным клиентам работать на устройствах Windows Mobile.
Примеры кода
[ редактировать ]В этом разделе приведены несколько коротких примеров кода JADE.
Привет, мир!
[ редактировать ]Это «Привет, мир!» код в JADE:
helloWorld(); begin app.msgBox("Hello, World!", "Hello, World!", MsgBox_OK_Only + MsgBox_Information_Icon); end;
или
helloWorld(); begin write "Hello, World!"; end;
История
[ редактировать ]JADE была первоначально задумана сэром Гилбертом Симпсоном и в настоящее время разрабатывается Jade Software Corporation. [6]
Первой версией JADE была JADE 3, выпущенная в сентябре 1996 года.
Текущая версия — JADE 2022, пришедшая на смену JADE 2020. [7]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Джейд – Кто мы» . Корпорация Джейд Программное обеспечение .
- ^ «Jade Software представляет Jade 7.1» . ЗДнет . Проверено 21 декабря 2019 г.
- ^ «Scoop Independent News – JADE 6.3» . Проверено 21 декабря 2019 г.
- ^ Jump up to: а б Тоади, Тим (3 июня 2009 г.). «JADE: непонятный язык программирования месяца» . Девтопики . Проверено 12 марта 2021 г.
- ^ Jump up to: а б Виттен, Ян Х.; Бертвистл, Грэм М.; Клири, Джон; Хилл, Дэвид Р.; Левинсон, Дэнни; Ломоу, Грег; Нил, Рэдфорд; Петерсон, Мюррей; Унгер, Брайан В.; Уивилл, Брайан (июль 1983 г.). «Jade: распределенная среда прототипирования программного обеспечения» . Обзор операционных систем ACM SIGOPS . 17 (3): 10–23. дои : 10.1145/850742.850744 . ISSN 0163-5980 .
- ^ Корпорация Jade Software
- ^ «Последняя версия» .
Внешние ссылки
[ редактировать ]- Семейство языков программирования Алгол
- Параллельные языки программирования
- Языки программирования на основе классов
- Языки программирования, ориентированные на данные
- Объектно-ориентированные системы управления базами данных
- Объектно-ориентированные языки программирования
- Постоянные языки программирования
- Языки программирования, созданные в 1996 году.
- Программные компании Новой Зеландии