Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

СУБД Visual Clarion




Итоги

Пользовательские функции

Одна из самых интересных возможностей в том, что расширение SQLite предоставляет таблицу для возможности создания своих собственных функций используемых в пределах SQL. Это возможно благодаря тому, что SQLite содержит в одной библиотеке связанной с PHP, как интерфейс, так и сам движок базы. Используя sqlite_create_function() вы можете создавать функции, которые в дальнейшем могут быть применены к результату выборки или использованы внутри какого-нибудь условия WHERE.

<?php

/* определяем разницу между строкой введённой пользователем и строкой

из базы исходя из символов содержащихся в строке */

function char_compare($db_str, $user_str) {

return similar_text($db_str, $user_str);

}

$db = new sqlite_db("db.sqlite");

/* Создаём функцию char_compare() внутри SQLite на основании нашей PHP

функции, char_compare(). 3-ий параметр указывает количество аргументов

необходимое функции */

$db->create_function('char_compare', 'char_compare', 2);

 

/* Выполняем запрос, где char_compare() используется для сравнения

между name и указанной строкой */

$res = $db->array_query("SELECT name, char_compare(name, 'Il2') AS

sim_index FROM foo", SQLITE_ASSOC);

print_r($res);

?>

 

Возможность использования PHP в SQL позволяет вам упростить данный скрипт, делая его доступным большей аудитории разработчиков.

Это позволяет использовать PHP в качестве движка шаблонов, который будет вставлять HTML код в данные из базы. Во многих случаях это может упростить код так сильно, что не возникнет необходимости в использовании дополнительного движка шаблонов. Помимо упрощения кода, это также улучшает выполнение программы и снижает затраты скрипта на память вследствие того, что нет ни каких действий с данными, происходящими в пользовательском пространстве.

В том случае, если данные, с которыми вы работаете, могут содержать двоичный код, вам следует использовать функцию sqlite_udf_decode_binary() для перевода их из внутренней кодировки, в которой они хранятся в SQLite, прежде чем работать с ними. Если вы так поступили, вам понадобится закодировать двоичные данные, используя sqlite_udf_encode_binary() для того, чтобы быть уверенным, что данные не будут повреждены при следующем к ним доступе.

Как и любой инструмент, SQLite имеет свои сильные и слабые стороны. Будучи идеальным решением, для приложений небольших и/или предназначенных главным образом для считывания данных, она не очень хорошо подходит для крупномасштабных приложений, часто выполняющих запись в базу. Это ограничение - следствие того, что архитектура SQLite основана на одном единственном файле, которая не предусматривает распределения данных на многократно создаваемые файлы, а также использует блокировку на запись.

 

Язык программирования Clarion был разработан Брюсом Баррингтоном в 1984 г. Clarion мощный и одновременно простой в освоении универсальный язык программирования со встроенными средствами управления БД, на различных версиях которого можно разрабатывать программы для Microsoft Windows,.Net Framework, DOS, JPI.

Причины популярности Visual Clario

Стремление к универсальности предопределило популярность Clarion у пользователей. Среди других языков Clarion всегда выделяло прежде всего наличие мощного и гибкого генератора исходных текстов программ на основе шаблонов. Кроме того, встроенный в интегрированную среду разработки «словарь» (депозиторий данных) позволяет описать параметры переменных и структур данных, для управления генерацией текста программы.

Интегрированные среды разработки программ для Windows и.Net Framework в настоящее время разрабатывает компанияSoftvelocity. Эти IDE позволяют работать с большим количеством баз данных, в том числе SQL-серверами, работать с интерфейсами ODBC и ADO, обрабатывать документы формата XML и выводить документы формата HTML, XML, PDF и других. Существует версия для DOS.

Для упрощения процесса разработки программ на Clarion for Windows широко используются принципы визуального программирования. Встроенные в среду разработки «шаблоны», тесно связанные с генератором кода, предназначены для построения высококачественного повторно используемого кода и резко сокращают затраты времени на решение рутинных задач. Для простых приложений могут быть созданы программы, включающие минимальное количество «рукописного кода» или даже целиком сгенерированные шаблонами. Разработчик программ в интерактивном режиме указывает параметры вызова шаблонов, и встроенный макрогенератор порождает программный код. При необходимости в шаблонах могут быть описаны «точки вставки», где разработчик может вставить свой собственный код, который будет вставлен в сгенерированный текст программы. Эти шаблоны открыты для модификации и просты для изучения, а язык шаблонов позволяет добавлять новые возможности, в том числе даже не предусмотренные создателями Clarion.

Clarion как язык программирования создавался в первую очередь для разработки деловых приложений. В язык включены средства описания экранных форм, отчётов и баз данных. Тем не менее, это не мешает, например, созданию на Clarion for Windows и Clarion.Net системных утилит, позволяющих взаимодействовать с операционной системой на низком уровне не менее эффективно, чем программам, написанным на общепринятых языках «низкого уровня» таким, как Ассемблер, Си.

В данный момент используется версия программы Clarion 6.

Clarion лежит в основе всей линейки продуктов SoftVelocity и обеспечивает ему репутацию средств быстрой и эффективной разработки приложений БД. В дополнение к 4GL языку Clarion в продукт Clarion включены компиляторы C++ и Modula-2. Все языки используют один и то-же общий оптимизатор кода и могут одновременно применяться в рамках одного приложения.

У независимых разработчиков программного обеспечения и у коорпоративных разработчиков весьма схожие потребности - повышение производительности для достижения соответствия с все возрастающими требованиями к новым приложениям БД. Clarion - это ориентированная на обработку данных среда быстрой разработки приложений, которая включает кодогенерацию и многократно используемые метаданные для быстрого создания приложений уровня управления предприятием для обработки бизнес-данных.

Рисунок 6.14.1 – Окно визульной среды

 

Благодаря применению базирующейся на словарных метаданных кодогенерации, Clarion помогает разработчикам удовлетворять требованиям стандартов, сокращать время кодирования, избегать ошибок и доводить проекты до завершения в рекордно короткие сроки. Он позволяет команде разработчиков использовать и развивать согласованный набор стандартов кодирования. Он также помогает новичкам легко и быстро адаптироваться с специфическому стилю кодирования, принятому в организации, и продолжать наботу над доставшемся по наследству кодом без длительного обучения.
http://www.softvelocity.com/clarion/code_reusability.htm

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

Метабазы Clarion хранят метаданные (бизнес-логику и схему БД), приложение (логику приложения), и слои пользовательского интерфейса для всех проектов, имеющих дело с коорпоративными данными. Расширяемая система кодогенерации создает полноценные приложения на основании описаний, которые хранятся в файлах метабаз. Эти метабазы называются Ckjdfhm данных (Data Dictionary) и Регистр Шаблонов (Template Registry).

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

Кодогенератор для хранения логики работы приложения использует шаблоны. Главные программисты могут создавать собственные шаблоны, распространяя таким образом свой личный опыт на все последующие проекты, которые будут разрабатываться программистами начального уровня, и даже на те, которые будут работать с другими данными и даже с другими базами данных. Таким образом формируется модель автоматизированного производства программного продукта.

Разнообразие свойств, хранящихся в Словаре данных и множество хранящихся в Регистре Шаблонов гибких расширяемых наработок в части реализации логики приложения выгодно отличают Clarion от всех прочих инструментов.
http://www.softvelocity.com/clarion/specialized_tools.htm

Clarion шаблоны (в отличие от тех, что Вы разрабатываете сами) нацелены на процессы обработки данных, кодирование которых с помощью других инструментов может потребовать многомесячной работы. Каждый шаблон конфигурируется с помощию интерфейса периода разработки. Таким образом для применения шаблона к конкретной схеме БД разработчик должен только правильно выбрать имеющиеся опции из предлагаемых списков.

Другими словами, разработчик не должен заниматься кодированием, для того чтобы реализовать сложное поведение, типа синхронизации главной и подчиненной таблицы. Правила этого поведения уже записаны в метаданных репозитария и для их реализации разработчик должен только настроить свойства подходящего шаблона. На следующем рисунке показаны осуществляемые в процессе разработки настройки для реализации синхонизированных главной и подчиненной таблиц. http://www.softvelocity.com/clarion/template_repository.htm

Рисунок 6.14.2 – Окно настройки

 

Кроме того, Application Wizard может построить стандартное приложение, включающее формы просмотра и редактирования данных, и обеспечивающее формирование отчетных документов. В обязанности разработчика в этом случае входит выбор нужных таблиц, запуск Application Wizard и кастомизация полученного приложения.
http://www.softvelocity.com/clarion/app_wizards.htm

Application Wizard считывает описания файлов из словаря данных с учетом всех взаимосвязей между таблицами. Если обнаруживается родительская таблица, создается окно просмотра. При выборе записи откроется окно редактирования этой записи, На каждой форме редактирования имеются закладки для просмотра записей дочерних таблиц. Выбор записи в дочерней таблице откроет окно для редактирования этой записи. Если у дочерней таблицы в свою очередь имеются потомки, процесс будет повторен необходимое число раз.
http://www.softvelocity.com/clarion/building_dictionary.htm

Если для полей таблицы указаны требования к содержимому или указана связь по ключу и требуется, чтобы вводимое значение существовало в другой таблице, то созданная форма достаточно интеллектуальна, чтобы обнаружить возможные нарушения и предложить пользователю пути исправления ситуации, например, путем выбора подходящего значения из связанной таблицы. http://www.softvelocity.com/clarion/ri_validity_etc.htm

В целом, приложение может многократно перегенерироваться не теряя тех доработок, которые сделал разработчик и сохраняя от раза к разу все сделанные ранее настройки и их изменения.
http://www.softvelocity.com/clarion/language_compilers.htm

В отличие от многих других инструментов, базирующихся на языках общего назначения, Clarion всегда был ориентирован исключительно на разработку приложений БД. При этом язык Clarion это одновременно мощный и простой в изучении общецелевой язык 4-го поколения. Это объетно-ориентированный язык, со своей интегрированной средой разработки. Разработчик в результате имеет возможность развивать стандарные приложения в любом мыслимом направлении благодаря мощности самого языка и имеющихся дополнительных инструметов.

Генератор приложений является языково-независимым. Шаблоны могут быть написаны для любого языка, сохраняя при этом возможность доступа к метаданным в словаре данных.
http://www.softvelocity.com/clarion/ide_tools.htm

Среда разработки оснащена полным набором визуальных редакторов-конструкторов для разработки окон и документов и многочисленными редакторами формул. На рисунке показан редактор-конструктор окон.

Рисунок 6.14.3 – Окно проектирования формы

 

В Clarion используется встроенная подготовка документов и для их формирования не требуется никаких совместно используемых, дополнительно поставляемых и подключаемых внешних продуктов. Функционал подготовки документов просто компилируются в разрабатываемое приложение и выполняются со скоростями машинного кода. Однако, Clarion может использовать и независимые внешние инструменты и в поставляемом комплекте имеется интерфейс с Crystal Reports©. http://www.softvelocity.com/clarion/reporting_tools.htm

Откомпилированные приложения распространяются как безгонорарные.

Дополнительный инструмент под названием ClarioNET позволяет разрабатывать и поставлять версию приложения в виде "тонкого клиента".




Поделиться с друзьями:


Дата добавления: 2014-12-10; Просмотров: 2344; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.032 сек.