中间件

AgileEAS.NET平台开发实例-药店系统-准备开发环境(中)

落花浮王杯 提交于 2020-04-13 18:55:08
【今日推荐】:为什么一到面试就懵逼!>>> 介绍 上一篇我们讲述了《 AgileEAS.NET平台开发实例-药店系统-准备开发环境(上) 》将生成的解决方案进行相关配置。本篇我们将会开始讲述如下内容:如何基于现有的解决 方案来搭建一个可测试的运行环境,并且我们新建一个简单的例子,通过例子来说明我们如何来开发一个新的功能模块。 一、添加UI层 2、添加“BLL”层类库 添加好之后,我们就可以进行相关的后续工作了。 大纲 1、新建一个BLL层的业务逻辑服务 2、新建一个UI层模块 3、配置测试环境。 4、测试模块运行。 新建一个业务逻辑层服务 上面我们已经添加好了UI、BLL层工程,下面我们就来看看如何来属性业务逻辑层,首先,该层可以是分布式服务层与普通服务层的集成。这个怎么理解呢?下面我们来说 明下: 1、书写普通或者分布式业务逻辑,我们都要进行如下的格式来书写,否则如果之后想进行分布式的迁移,那么将无法通过配置文件来配置就可以完成无缝切换。 a、不使用AgileEAS.NET平台的普通的业务逻辑层: 我们这里添加了一个类“药品字典”实体,该业务逻辑返回所有的行,我们平时可能书写的方式就 是使用贫血模型,在业务逻辑层处理实体真正的业务逻辑,然后服务层完成实体数据的持久化。 b、使用AgileEAS.NET的业务逻辑层写法。 首先、添加如下几个程序集引用。 其次

Apache模块 mod_proxy

…衆ロ難τιáo~ 提交于 2020-02-29 20:40:10
Apache模块 mod_proxy 说明 提供HTTP/1.1的代理/网关功能支持 状态 扩展(E) 模块名 proxy_module 源文件 mod_proxy.c 概述 警告 在您没有对服务器 采取安全措施 之前,请不要用 ProxyRequests 启用代理。一个开放的代理服务器不仅对您的网络有威胁,对整个因特网来说也同样如此。 此模块实现了Apache的代理/网关。它实现了以下规范的代理: AJP13 (Apache JServe Protocol v1.3), FTP , CONNECT (用于SSL), HTTP/0.9 , HTTP/1.0 , HTTP/1.1 。此模块经配置后可用上述或其它协议连接其它代理模块。 Apache的代理功能(除 mod_proxy 以外)被划分到了几个不同的模块中: mod_proxy_http , mod_proxy_ftp , mod_proxy_ajp , mod_proxy_balancer , mod_proxy_connect 。这样,如果想使用一个或多个代理功能,就必须将 mod_proxy 和 对应的模块同时加载到服务器中(静态连接或用 LoadModule 动态加载)。 另外,其它模块还提供了扩展特性。 mod_cache 及其相关模块提供了缓冲特性。 mod_ssl 提供的 SSLProxy*

基于ArcEngine+C#开发完成的JLKEngine中间件平台

情到浓时终转凉″ 提交于 2020-02-29 05:28:38
JLKEngine中间件平台是采用ArcEngine+C#开发完成,其目的是为GIS应用提供一个快速开发构建平台,缩短GIS业务应用系统开发周期,降低GIS应用集成的开发门槛。其特点是通过可视化的构件协同建模,提供基于事件驱动和构件化的GIS应用集成框架,采用可视化拖放构件进行组装、采用动态插件加载配置的方式来完成GIS应用集成,从而大大简化了应用集成的复杂性,有效提高了GIS应用系统的易用性和可操作性。因此,JLKEngine中间件平台不仅是解决企业综合GIS应用系统的信息互通、数据高度共享和应用快速整合的中间件产品,更是能够满足GIS各种应用需求的集成的、可伸缩的、全面的中间件产品。 JLKEngine中间件平台是一个易学易用、所见即所得的二次开发工具,具有高开发效率、统一的编程模型、高度集成的框架核心,支持VB、VC和.NET所支持的各种开发语言。该产品是按照AO接口规范,在AE下重写AO部分底层类库,并按照统一的编程接口进行归类分组,以DLL动态链接库的方式提供二次开发接口。另外,平台还增加了图层树管理控件、符号库管理控件等更多具有定制灵活、扩展性强的可视化用户控件,输入输出接口结合了对象结构的优点,使开发者更易于理解,并进一步简化了编程工作量。JLKEngine中间件平台提供的JLKEngine

基于ASP.Net开发的纯BS结构的SuperFlow工作流平台

拥有回忆 提交于 2020-02-29 04:37:38
一、概论 1.1 产品简介 SuperFlow工作流平台基于ASP.Net开发技术和模型驱动架构,是面向业务应用的工作流管理软件快速开发平台, 平台采用“基础架构软件+业务架构平台”进行架构, 参照工作流管理联盟( WFMC)标准设计,以业务管理为核心(BPM),以工作流技术为依托,可以帮助企业快速构建高效、柔性的业务流程管理系统。 SuperFlow工作流平台纯B/S架构应用软件的SuperFlow控制台及SuperFlow协同办公平台组成,采用VS2005(2008/2010)+C#+ASP.NET进行开发实现。SuperFlow工作流平台提供纯B/S 架构的Web应用开发,采用基于浏览器方式进行业务应用系统的开发、集成以及整合。 当今的信息化建设以基于基础业务构建平台进行应用系统的开发,成都领君科技有限公司融合工作流平台技术、WebGIS软件开发技术帮助软件企业轻松实现“随需而变,柔性再造”的目标 ,使企业在激烈的市场竞争中赢得先机并获得前所未有的高回报。 1.2 产品功能 提供了控制台建模管理、协同办公管理; 提供了待办任务、在办任务、催办及督办任务管理,并可进行任务委托以及签收任务的退回处理。 提供多语言支持、多数据库支持、多CSS换肤支持。 提供集团化的组织机构管理,支持外部组织及人员统一管理、支持一岗多人、一人多岗处理,实现业务权限、流程权限的统一分配。

阿里中间件——消息中间件Notify和MetaQ

孤街浪徒 提交于 2020-02-29 01:56:12
3.1、Notify Notify是淘宝自主研发的一套消息服务引擎,是支撑双11最为核心的系统之一,在淘宝和支付宝的核心交易场景中都有大量使用。消息系统的核心作用就是三点:解耦,异步和并行。下面让我以一个实际的例子来说明一下解耦异步和并行分别所代表的具体意义吧: 假设我们有这么一个应用场景,为了完成一个用户注册淘宝的操作,可能需要将用户信息写入到用户库中,然后通知给红包中心给用户发新手红包,然后还需要通知支付宝给用户准备对应的支付宝账号,进行合法性验证,告知sns系统给用户导入新的用户等10步操作。 那么针对这个场景,一个最简单的设计方法就是串行的执行整个流程,如图3-1所示: 图3-1-用户注册流程 这种方式的最大问题是,随着后端流程越来越多,每步流程都需要额外的耗费很多时间,从而会导致用户更长的等待延迟。自然的,我们可以采用并行的方式来完成业务,能够极大的减少延迟,如图3-2所示。 图3-2-用户注册流程-并行方式 但并行以后又会有一个新的问题出现了,在用户注册这一步,系统并行的发起了4个请求,那么这四个请求中,如果通知SNS这一步需要的时间很长,比如需要10秒钟的话,那么就算是发新手包,准备支付宝账号,进行合法性验证这几个步骤的速度再快,用户也仍然需要等待10秒以后才能完成用户注册过程。因为只有当所有的后续操作全部完成的时候,用户的注册过程才算真正的“完成”了

AgileEAS.NET平台开发案例-药店系统-需求分析

﹥>﹥吖頭↗ 提交于 2019-12-13 11:37:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 开篇 我们知道我们正常的开发流程是从需求-设计-开发-测试-部署等这样的瀑布型的模式或者是瀑布模式的变种等,但是不管是如何的开发模式,前提是必须把需求确定才能从 需求中分析出要开发的用户的功能性需求和非功能性需求,这样我们才能进行后续的开发工作。那么我们本篇就将分析药店系统应该具有的功能及非功能性的需求,来得需求 分析文档的内容。 首先我们来看看一般的软件开发流程吧: 这是传统的软件开发流程,无非目前的不管是迭代开发、增量开发、敏捷开发无非都是基于传统开发模式的一些变种。 迭代开发是基于传统的软件开发流程之上的一种基于原型的迭代开发,开发完成后进行集成测试。 增量开发是将每个模块都走从设计-编码-测试的流程,最后完成集成测试。 敏捷开发是迭代开发+增量开发的合成体。 关于不同的开发模式及开发流程方面的内容,我们后面会详细的阐述,单独讲述AgileEAS.NET敏捷开发平台的软件工程思想的真实体现。 不管我们开发什么样的软件或者多小的软件,我们必须先了解需求,才能继续进行后续的需求分析及详细设计等后续的流程,所以我们知道了需求的重要性,那么我们本 篇就将药店系统的需求来分析和业务梳理下,整理成需求文档。 大纲 1、分析药店的业务流程 2、整理出每个功能的具体需求。 药店业务流程 下面我们就来分析下药店的业务流程

深入浅出Node.js(七):Connect模块解析(之一)

久未见 提交于 2019-12-09 17:12:00
Connect模块背景 Node.js的愿望是成为一个能构建高速,可伸缩的网络应用的平台,它本身具有基于事件,异步,非阻塞,回调等特性,这在前几篇专栏中有过描述。正是基于这样的一些特性,Node.js平台上的Web框架也具有不同于其他平台的一些特性,其中Connect是众多Web框架中的佼佼者。 Connect在它的官方介绍中,它是Node的一个中间件框架。超过18个捆绑的中间件和一些精选第三方中间件。尽管Connect可能不是性能最好的Node.jsWeb框架,但它却几乎是最为流行的Web框架。为何Connect能在众多框架中胜出,其原因不外乎有如下几个: 模型简单 中间件易于组合和插拔 中间件易于定制和优化 丰富的中间件 Connect自身十分简单,其作用是基于Web服务器做中间件管理。至于如何如何处理网络请求,这些任务通过路由分派给管理的中间件们进行处理。它的处理模型仅仅只是一个中间队列,进行流式处理而已,流式处理可能性能不是最优,但是却是最易于被理解和接受。基于中间件可以自由组合和插拔的情况,优化它十分容易。 Connect模块目前在NPM仓库的MDO(被依赖最多的模块)排行第八位。但这并没有真实反映出它的价值,因为排行第五位的Express框架实际上是依赖Connect创建而成的。关于Express的介绍,将会在后续的专栏中一一为你讲解。 中间件 让我们回顾一下Node

第十七章: 中间件

ⅰ亾dé卋堺 提交于 2019-12-09 09:48:05
第十七章: 中间件 在有些场合,需要对Django处理的每个request都执行某段代码。 这类代码可能是在view处理之前修改传入的request,或者记录日志信息以便于调试,等等。 这类功能可以用Django的中间件框架来实现,该框架由切入到Django的request/response处理过程中的钩子集合组成。 这个轻量级低层次的plug-in系统,能用于全面的修改Django的输入和输出。 每个中间件组件都用于某个特定的功能。 如果你是顺着这本书读下来的话,你应该已经多次见到“中间件”了 第12章中所有的session和user工具都籍由一小簇中间件实现(例如,由中间件设定view中可见的 request.session 和 request.user )。 第13章讨论的站点范围cache实际上也是由一个中间件实现,一旦该中间件发现与view相应的response已在缓存中,就不再调用对应的view函数。 第14章所介绍的 flatpages , redirects , 和 csrf 等应用也都是通过中间件组件来完成其魔法般的功能。 这一章将深入到中间件及其工作机制中,并阐述如何自行编写中间件。 什么是中间件 我们从一个简单的例子开始。 高流量的站点通常需要将Django部署在负载平衡proxy(参见第20章)之后。 这种方式将带来一些复杂性

AgileEAS.NET平台开发案例-药店系统-项目说明

安稳与你 提交于 2019-12-07 19:16:07
开篇 我们都知道开发一个软件必须要有开发的背景和特殊的需求等等,我们就来分析我们开发该系统的项目背景和开发该项目的目的。下面我们来分析下开发药店系统的目的 及可行性研究分析,对现有平台构建该项目的风险性等进行分析,可行性方案的分析。其他方面的因素分析。 大纲 1、总论 2、项目建设的背景和必要性 3、项目的方案设计 总论 我们既然要开发药店系统,那么我们必须知道开发这个项目的意义和目的,药店系统主要解决很多的药店的信息化管理,从采购到销售到财务管理等一体化的信息化系统 解决方案。该系统包含药品采购管理,药品库存管理,药店销售管理等子模块,药店信息管理软件针对我国医药企业药品经营管理特点(尤其是中小型药店销售商)而特别设 计,符合GSP管理规范,软件界面设计简洁,美观,其人性化的软件流程,使普通用户不需培训也能很快掌握软件操作使用方法,上手极易。药店信息管理软件广泛适用于医 药批发零售企业、药店、医院药房等用于药品进销存管理, 医药财务管理等场合,是您医药企业进行信息化管理的强大工具。 本药店系统结合AgileEAS.NET敏捷开发平台的完美实践,能够做到良好的扩展性和快速开发,我在现有的基础上通过1星期的时间完成了药店的所有功能,从需求-设计- 编码-测试等过程。可以充分体现AgileEAS.NET敏捷开发平台提供的工具的强大性。 项目建设的背景和必要性

AgileEAS.NET平台开发实例-药店系统-DAL层解析

你离开我真会死。 提交于 2019-12-07 16:04:58
介绍 前面的大量的篇幅已经讲述了,关于系统的配置及如何使用平台提供的相关开发工具来进行应用功能模块的开发,本篇将会开始讲述数据访问层中的相关设计与如何使用 AgileEAS.NET代码生成器生成的DAL层基础之上,进行相关的开发及开发过程中的一些限制。下面我们将会开始详细的阐述AgileEAS.NET平台中的关于DAL层的相关设计的 原理和思路,及相关的实现方案。 上面是给出ORM的一个模型图,AgileEAS.NET的ORM实现机制是通过数据模型来完成实体与数据库表的映射,当然可能大家可以理解为通过XML的模型来生成数据库 表与实体之间的映射关系。 但是其实AgileEAS.NET平台的真正的映射是通过特性+反射的形式来定义的: 通过特性+反射来定义数据库数据列与实体属性之间的关系映射,具体的特性定义如下: 1、表特性映射定义: 2、列映射定义: 3、我们看完了ORM之间映射是通过特性来完成的,下面我们来分析下每个实体的基类“DataEntity<T>”的相关定义和说明: 这样我们就分析完毕该基础实体类提供的相关持久化方法,那么我们在业务逻辑层或者UI层开发或者使用实体时我们就可以直接使用其中提供的方法,而不用我们自己去 书写,这极大的提高了我们的开发效率和速度,并且提高了可维护性等。 大纲 1、主要是讲述DAL层中的属性列的使用和定义说明 2、基于现有代码如何添加其他功能。 3