【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

MindTouch Dream:一个 REST SDK 和轻量单机服务器

  • 2007-10-16
  • 本文字数:1473 字

    阅读完需:约 5 分钟

MindTouch 提供了一个编程库和单机运行的服务器,用于开发和发布 RESTful Web Service。 Dream “Denim” 1.4.1 也在上个星期已经发布。

MindTouch Dream 是一个基于 LGPL 的开源项目。完全用 C#编写,运行于 Microsoft .NET 2.0 以及 Novell Mono 1.2.5 之下。根据 Steve Bjorg——MindTouch 的共同创立者的说法,“描述它的最好方法是提这样一个问题:随着面向服务世界的不断增长而建立起来的以 Web 为中心的编程环境会是什么样子?”

Dream 区别于.NET 的其他框架(如 Windows Communication Foundation)的几个重要特性是: - 它是轻量级的

  • 它是跨平台的
  • 它是遵从业界标准的
  • 它是开源的
  • 且它没有使用 SOAP

Dream 的核心概念是 Web Serivce。一个 Web Service 被运行时实例化,并提供一些为名“features”的入口点。Features 是藉由 HTTP 请求来调用,由服务名称和一个 URI 模式(类似 GET,PUT,POST,DELETE 这样的 HTTP 动词)扩展得到的 Dream Host 基本地址构成。一个 Feature 通过 Dream Attribute 映射到一个 CLR 方法上,其定义了动词和 URI 模式。

[DreamFeature(“GET:addresses”, “Get all addresses”)]
public Yield GetAddresses(DreamContext context, DreamMessage request, TaskYield response) {
}

DreamFeature 属性的第一个参数通过冒号分隔定义了动词和模式。Dream 服务和消费端以 XML 或二进制数据流的格式来交换数据。通常 Dream 服务使用 XML 文档方式。这些文档被 DreamMesseage 实例包装着。

Dream SDK 通过 XDoc 类(包装了.NET XML 类的功能)提供了一种简易的方式来生成 XML 文档,这样减轻了 XML 文档的创建和使用程度:

XDoc 是一个处理 XML 的所有事情的瑞士军刀。它是对 XmlDocument、XmlElement、XmlText 和 XmlNodeList 类轻量级的封装,以让它们更容易地被创建、查询和编辑 XML 文档。有了 XDoc,你不需要知道任何.NET XML 类,因为 XDoc 把所有操作都包含其中了,它真的让所有事情变得简单!

Dream 提供了一系列通用的Features ,可用于所有的服务和一个核心服务库 “在编写任何有意思的Web service 和Web 应用程序的时候来处理常规问题”。

Dream 服务能被托管于一个控制台宿主应用程序中或一个自定义环境里,比如 NT 服务。控制台宿主应用程序提供了一个命令行接口来创建新的 Dream 托管环境。Dream 托管环境则通过 Dream Host 来实现。运行时也能被托管在 IIS6 中 。HTTP 请求则被包含其中的 Dream HTTPHandler 说处理。Dream 运行时:

负责着所有交互的协调。它利用 HttpListener 类来构建,因此在目标设备上无需预先安装 web-server。它也负责着服务的实例化、消息的路由和缩短服务到服务(service-to-service)的通讯(当两者都一起被定位的时候,意思就是说它们被加载到同一个 AppDomain 中)。

Plugs 是一个很方便的功能,当服务被一起加载到同一个 AppDomain 的时候,它能够把 HTTP 通讯转换到内存中的通讯。

Plugs 能非常简单地和 Web 资源进行交互。而且,当服务需要通过定位(例如托管于同一个 AppDomian 中)的时候,Plugs 还能检测并替换 WebRequest。在这种情况下,Plugs 使用直接的内存通讯,而不是使用昂贵的序列化 / 反序列化操作。Plugs 也能轻易地通过调整目标服务的 URI,指向特定的想用的 Feature 或可选的处理过程上。

MindTouch Wiki 提供了一个 Dream 概念的报告幻灯片,介绍了面向服务分布式构架(Service-Oriented Distributed Architecture,SODA ),描述了由 MindTouch Dream 推广的一种应用程序编程模型,以及 REST web services 的总体介绍。

查看英文原文: MindTouch Dream: REST SDK & Lightweight Standalone Server

2007-10-16 20:37803
用户头像

发布了 254 篇内容, 共 53.0 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

自定义 View:Bitmap和Drawable

Changing Lin

10月月更

飞桨联邦学习框架PaddleFL新升级,实现纯两方安全计算协议

百度开发者中心

最佳实践 百度飞桨 版本升级

架构实战营-模块一作业

随风King

「架构实战营」

百度人脸采集SDK通过CFCA权威安全测评

百度大脑

人工智能 人脸

Cloud Studio 邀您互动,好礼送不停 | CIF 活动邀请

CODING DevOps

自动化部署 Cloud Studio 开发标准化 可视化编辑 多人协同

【权限专栏】谁允许你访问了?

趣链科技

区块链 权限管理

现成数字货币交易所源码系统开发

人生成长密码:高效能人士的7个习惯

dinstone

数字货币交易所系统APP开发源码搭建

架构训练营模块一作业

Beyond Ryan

架构实战营

模块1

侠客行

架构实战营 「架构实战营」

腾讯云 CIF 工程效能峰会完美收官

CODING DevOps

DevOps 云原生 腾讯云 CIF 峰会 开源生态 企业研发管理

再次捕获云上在野容器攻击,TeamTNT黑产攻击方法揭秘

腾讯安全云鼎实验室

容器 云安全

网易云信的音频共享技术 | 体验共享专题

网易云信

音频技术

21 张图 | 带你领略集合的 线程不安全

Java 架构 面试 线程 后端

Golang fasthttp实践

FunTester

golang Fasthttp 接口测试 测试框架 FunTester

数字货币交易所软件系统开发简介(搭建)

k8s集群安装经历

追风少年

k8s kubenetes

一看就懂|焱融 SaaS 数据服务平台上手指南

焱融科技

云计算 技术 分布式 高性能 文件存储

IP地址溯源 从源头遏制计算机恶意程序感染

郑州埃文科技

网络安全 ipv6 IP地址 木马病毒

数字货币交易所系统APP开发(源码搭建)

百度大脑DuMix AR赋能中国人寿财产保险,助力车险定损场景数字化转型

百度大脑

人工智能 百度

《世界质量报告》重磅发布,人工智能与机器学习成软件质量保证测试焦点

架构实战营-模块1-作业

无名

架构实战营

数字货币交易所系统软件开发简介(搭建)

第 20 章 -《Linux 一学就会》- 条件测试语句和if流程控制语句的使用

学神来啦

Linux linux运维 linux云计算 linux一学就会

百度智能云大数据全景架构图如何赋能企业数字化

百度开发者中心

大数据 案例分享 行业创新

字节半天*3面/5天拿offer,全凭自身硬实力和这份Java面试笔记

Java 编程 程序员 架构 面试

优酷鸿蒙开发实践|优酷 Android 与HarmonyOS Hap 混合打包

阿里巴巴终端技术

android 鸿蒙 客户端开发 HarmonyOS 优酷

研究表明到2025年多接入边缘云市场规模将稳步增长

浪潮云

云计算运维

数字货币交易所系统软件开发介绍(案例)

MindTouch Dream:一个REST SDK和轻量单机服务器_.NET_Hartmut Wilms_InfoQ精选文章