Circumflex (Scala)

Circumflex (Scala)
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-подобной лицензии.

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Circumflex (Scala)" в других словарях:

  • Scala (язык программирования) — У этого термина существуют и другие значения, см. Scala. Scala Класс языка: Мультипарадигмальный: функ …   Википедия

  • Circumflex (значения) — Circumflex: Циркумфлекс (лат. circumflexus, «изогнутый вокруг», часто называют крышечкой или домиком)  диакритический знак и компьютерный символ. Циркумфлекс разновидность музыкального (тонического) ударения (слоговой интонации),… …   Википедия

  • ORM — также может означать: англ. Object Role Model, рус. Модель ролей объекта методика концептуального проектирования информационных систем, включающая собственную графическую нотацию. Содержание 1 Задача …   Википедия

  • Vein — A blood vessel that carries blood low in oxygen content from the body back to the heart. The deoxygenated form of hemoglobin (deoxyhemoglobin) in venous blood makes it appear dark. Veins are part of the afferent wing of the circulatory system… …   Medical dictionary

  • Outline of human anatomy — See also: Index of anatomy related articles Human anatomy, a branch of anatomy, is the scientific study of the morphology of the adult human. It is subdivided into gross anatomy and microscopic anatomy. Gross anatomy (also called topographical… …   Wikipedia

  • vena — SYN: vein. [L.] v. advehens, pl.venae advehentes collective term for a series of branching channels in the early embryo receiving blood from the umbilical and/or vitelline venous systems and passing the mixed blood to the sinusoids of the live …   Medical dictionary

  • Comparison of programming languages (mapping) — Programming language comparisons General comparison Basic syntax Basic instructions Arrays Associative arrays String operations …   Wikipedia

  • List of anatomical topics — This page aims to list articles related to anatomy. This list is not necessarily complete or up to date if you see an article that should be here but isn t (or one that shouldn t be here but is), please update the page accordingly. NOTOC A… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»