WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте
Circumflex
Тип Web-Фреймворк, ORM
Разработчик Окунский Б.С., Лахтин С.Е.
Написана на Scala
Операционная система Cross-platform (JVM)
Аппаратная платформа Java Virtual Machine
Последняя версия 2.3 (3 апреля 2012)
Лицензия BSD-like
Сайт circumflex.ru

Circumflex — общее название программных компонентов для языка программирования Scala, предназначенных для ускорения и повышения эффективности разработки Web-приложений и приложений, основанных на работе с реляционными базами данных. Circumflex представляет собой два независимых каркаса приложений: Circumflex Web Framework для разработки Web-приложений и Circumflex ORM для решения задач объектно-реляционного проецирования (object-relational mapping — ORM).

Ключевые концепции

Circumflex Web Framework

Circumflex Web Framework представляет язык описания маршрутов Web-приложения. Каждый маршрут осуществляет сопоставление тех или иных параметров HTTP-запроса и содержит блок, выполняющийся в случае успешного сопоставления. Ниже приведен пример простейшего Web-приложения, построенного с использованием Circumflex Web Framework.

class Main extends RequestRouter {
  get("/") = "Hello world!" 
  post("/form") = {
    // произвести обработку формы
    ftl("/complete.html.ftl")
  }
}

При получении запроса GET / клиенту возвращается текст «Hello world!»; при получении POST /form выполняется блок обработки формы, а для отправки ответа компилируется соответствующий шаблон Freemarker.

Целью Circumflex Web Framework не является создание всеобъемлющего фреймворка, предназначенного для решения абсолютно всех задач, с которыми сталкиваются разработчики. Напротив, набор функциональности минимален, что позволяет разработчикам использовать библиотеки и программные средства, которые наилучшим образом подходят для решения их конкретных задач. Circumflex Web Framework также не ориентирован на конкретную технологию отображения, поскольку является контроллером приложения по архитектуре MVC. Однако, в состав модулей Circumflex входит вспомогательный компонент «Circumflex Freemarker View», обеспечивающий интеграцию с FreeMarker — одним из мощнейших процессоров шаблонов для платформы Java. Благодаря «лояльному» подходу к технологии отображений, Circumflex Web Framework оптимально подходит для создания REST Web сервисов.

Circumflex ORM

Circumflex ORM предназначен для решения задач объектно-реляционного проецирования в приложениях, основанных на работе с базами данных, и представляет собой абстракцию над языками определения данных (Data Definition Language, DDL), языками манипулирования данными (Data Manipulation Language, DML) и языками запросов (Structured Query Language, SQL) различных диалектов SQL баз данных.

Основной целью Circumflex ORM является обеспечения прозрачного управления взаимодействием с базой данных, в отличие от большинства других ORM, скрывающих детали SQL от разработчика (см. Peter Becker’s Blog Post «ORM: The Leaky Abstraction»).

Circumflex ORM ориентирован как на простые приложения, так и на так называемые «data-centric» приложения (приложения, основанные на работе с данными), часть бизнес-логики которых реализована непосредственно на системе хранения. Circumflex ORM поддерживает генерацию сложных объектов схемы (включая представления, триггеры и хранимые процедуры), запросы любой сложности, прозрачный переход по ассоциациям (lazy fetching и eager fetching), кэширование объектов на уровне транзакции, гибкую валидацию данных, а также импорт данных из XML.

Лицензия

Circumflex является свободным программным обеспечением с открытым исходным кодом (open source) и распространяется на условиях BSD-подобной лицензии.

См. также

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии