Synopse mORMot framework 领域驱动设计(DDD)框架

程序名称:Synopse mORMot framework

授权协议: MPL/GPL/LGPL

操作系统: Windows

开发语言: Delphi/Pascal

Synopse mORMot framework 介绍

Synopse mORMot framework, 原名Synopse SQLite3 Framework 。是一个Client-Server
ORM和SOA框架,适用Delphi6到XE4,Win32或Win64.

可以创建从独立方案到复杂的领域驱动设计:

  • 表示层 MVC UI生成含有i18n和用于Delphi或Ajax的富客户端报表
  • 应用层 实现了SOA,通过interface-based services(像WCF)和Client-Server ORM - 带有使用JSON的RESTful模型跨多种网络协议(包括HTTP/1.1)
  • 领域模型层 用普通Delphi对象处理所需的业务逻辑,包含高层管理的类型,如dynamic arrays or recods for Value Objects, or dedicated classes for Entities or Aggregaates
  • 数据持久基础层 含有ORM持久,通过直接连接Oracle, MS SQL, OleDB, ODBC, ZEOS/ZDBC,或TDataSet库例如FireDAC/AnyDAC, UniDAC, NexusDB 或 BDE, 使用一个强大的SQLite3核心,按需直接SQL访问 - 神奇的效率及高级功能如Array DML
  • 跨领域基础层 用于处理数据的 过滤和验证,安全性(甚至Windows authentication),缓存,日志,测试(框架使用了测试驱动法,并且包含了stubbing and mocking接口)

框架中包含了几个可以独立使用的子项目:

The main two features of mORMot are therefore:

  • Client-Server ORM: objects persistence and remote access;
  • Client-Server Services: remote call of high-level data process.

Due to its modular design, switch from such a Client-Server architecture over
HTTP, named pipes or GDI
messages
into a stand-alone application is just a matter of mORMot classes
initialization.
For instance, the very same executable can even be running stand-alone, as a
server, or a client, depending on some run-time parameters!

Emphasizing simplicity, speed and versatility, mORMot is a incredibly well
documented

Open Source project easy enough to add basic ORM or Client-Server features to
simple applications for hobbyists, or let experienced users develop scaling
and strong service-based projects for their customers, with the advantages of
native code and easy-to-deploy solutions, reducing deployment
cost and increasing ROI.

It provides an Open Source self-sufficient set of units (even Delphi starter
edition is enough) for creating any application, from a stand-alone solution
up to the most complex Domain-
Driven
design:

With mORMot , ORM is not used only for data persistence of objects (like in
other implementations), but as part of a global n-Tier, Service Oriented
Architecture (SOA), ready to implement
Domain-Driven solutions.
This really makes the difference.

The business logic of your applications will be easily exposed as Services ,
and will be accessible from light clients (written in Delphi or any other
mean, including AJAX).

The framework Core is non-visual: it provides only a set of classes to be used
from code. But you have also some UI units available (including screen auto-
generation, reporting and ribbon GUI), and you can use it from any RAD or AJAX
clients (via JavaScript or even the newborn Smart
Studio
).

No dependency is needed at the client level (no DB driver, nor third-party
runtime): it is able to connect via standard HTTP, even through a corporate
proxy or a VPN. Rich Delphi clients can be deployed just by copying and
running a stand-alone small executable, with no installation process.
Endpoints are configured automatically for each published interface on the
server side, and creating a load-balancing proxy is a matter of one method
call.
Speed and scalability has been implemented from the ground up: a single server
is able to handle a lot of clients, faster than DataSnap , WCF or
node.js
, and our rich SOA architecture is able to
implement both vertical and horizontal scalable
hosting
.

Even if mORMot will be more easily used in a project designed from scratch,
it fits very well the purpose of evolving any existing Delphi
project
, or even creating the server side part of an AJAX application.

Licensed under a MPL/GPL/LGPL tri-
license
.

Synopse mORMot framework 官网

http://synopse.info/fossil/wiki/Synopse+OpenSource

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


BlazeDS 是一个基于服务器的Java 远程控制(remoting)和Web消息传递(messaging)技术, 它能够使得后端的Java应用程序和运行在浏览器上的Adobe
OVal 是一个可扩展的Java对象数据验证框架,验证的规则可以通过配置文件、Annotation、POJOs 进行设定。可以使用纯 Java
Volta 是一套开发工具,专为开发分布式、实时系统应用。它包括级联,控制流分析工具,
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG 的 数据分布式服务 (DDS) 。OpenDDS利用自适应通信环境(ACE)提供一个跨平台的环境。
JADE (Java Agent DEvelopment Framework) 是一个完全用Java语言实现的软件框架。它通过一个兼容 FIPA
FastMM ,在D2006和2007中已代替了原来的内存管理器。
WebRTC 是一项在浏览器内部进行实时视频和音频通信的技术,是谷歌于2010年以6820万美元收购VoIP软件开发商 Global IT
gwtwiki - The Java Wikipedia API (Bliki engine),是一个 Wikipedia/Mediawiki 语法解析器,可以把 wiki 的文本转换成 HTML。它支持 wiki 标签,例如 bold, italic, headers, nowiki,
Esper 是一个复杂事件处理组件(CEP - Complex Event Processing),它有 Java 版本和 .NET 版本(NEsper)。
LuaTinker 的作者是Kwon-il Lee韩国人写的,最新的版本是0.2.C,这个C++ wrapper For Lua能够方便和
各种语言环境下gitignore文件的一个集合。
简介 ContentExtractor 是一个开源的网页正文抽取工具,用JAVA实现,具有非常高的抽取精度。
SwiftRandom 是一组函数集合,可以从不同的分布生成伪随机变量。 使用示例: //Single pseudorandom normal variable
java-linq-examples 是 101 个 LINQ 示例的 Java 移植版本。Android 兼容 Java 1.7. 此外还有以下语言移植版本:
mal,Make a Lisp,顾名思义,用图灵完备的编程语言写 Lisp 交互器,目前已经有35种不同语言的实现:
一个 Go 语言实现的中国行政区划查询工具。 介绍 最新中国行政区划,数据来源:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201608/t20160809_1386477.html
Teaf 简介 Tencent Easy ACE Framework,基于 ACE 的高性能轻量级服务框架,单进程多线程模型,支持 select/epoll 等多种网络
介绍 让 Guzzle 支持 Swoole 协程,这个项目目的就是这么简单明了! Guzzle-Swoole 是 Guzzle 的处理器(Handler),并没有对 Guzzle 本身代码进行修改,理论上可以兼容后续版本。
goproxy-shell goproxy服务端部署脚本 使用方法 wget --no-check-certificate https://github.com/sjz123321/goproxy-
1. pyMd2Doc介紹(pip版本) 利用python将markdown转换成带可收缩、可跳转到文本内容的目录文档。