SAAS结构技术的开源药店管理系统-如何自己部署这种SOA/SAAS结构的应用

简介:

一、药店系统内容说明

在前些时间,我们发布了一个基于 AgileEAS.NET平台的SAAS结构的案例- AgileEAS.NET平台开发实例-药店系统-快速的SAAS开发体验,在文章中同时向大家提供了基于SAAS部署安全的演示客户端下载,也向大家提供了包含全部源代码下载。
AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行。
药店系统案例以及案例所提供的SAAS部署技术是依赖于AgileEAS.NET平台提供的,这个案例是一个规格比较小,但却很有代表性的一个案例,涵盖了在企业应用系统开发中的一系列技术、比如Orm技术、平台加插入技术、分布式通信技术/WCF/WebService、SAAS技术、SOA思想等。
之前的文章 应用SAAS结构技术的开源药店管理系统-源代码结构说明给大家介绍了一下药店系统的源代码目录结构:
AWK9D(U16H)39}}L`}LQ[BS
之后很有多的朋友希望我在写一篇文章向大家讲一个怎么使用这个源代码包自己部署SAAS结构的药店系统。

二、如何一步一步的部署

首先我们从 AgileEAS.NET官网下载药品系统源代码压缩包 DrugShop.rar,下载之后解压到本地文件,比如E:\DrugShop,在解开的压缩包之中,可以看不一个叫“药店系统-发布版本”的文件夹,这里面即为进行SAAS部署的必要文件。
“药店系统-发布版本”结构如下:
%M6U07HG@F8M%H_6EA1E)}C
第一步:编译药店系统源代码
修改解压后根目录中的“build-all.bat”文件如下:
   1: setlocal 
   2:  
   3: REM 设置路径
   4: set dic=E:\DrugShop
   5:  
   6: REM 编译解决方案
   7: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe %dic%\药店系统-源码-VS2010\DrugShop.sln /t:Rebuild /p:Configuration=Release
   8:  
   9: REM 复制文件到发布版本/应用服务器
  10: copy %dic%\药店系统-源码-VS2010\Publish\DrugShop.DAL.dll  %dic%\药店系统-发布版本\AppServer\Bin /y
  11: copy %dic%\药店系统-源码-VS2010\Publish\DrugShop.BLL.dll  %dic%\药店系统-发布版本\AppServer\Bin /y
  12:  
  13: REM 复制文件到发布版本/升级版本
  14: copy %dic%\药店系统-源码-VS2010\Publish\DrugShop.*.dll  %dic%\药店系统-发布版本\AppServer\xClient\Files /y
  15:  
  16: REM 复制文件到发布版本/客户端
  17: copy %dic%\药店系统-源码-VS2010\Publish\DrugShop.*.dll  %dic%\药店系统-发布版本\WinClient /y
  18:  
  19: pause
执行build-all.bat,编译全部源代码并完成向发布目录的文件复制。
第二步:创建/恢复数据库
在压缩包“药店系统-数据库备份”,包含数据库的备份文件、数据库文件和数据库脚本:
FML(C84O36NDOQIU62XI[5R
在早先的版本之中,没有提供SQL2000数据库的支持,我随后补充了SQL2000的建库、建表脚本,我们可以任选一种方式进行数据恢复,支持SQL2000/SQL2005/SQL2008,我在本例进行附加,本地安装SQL2008R2数据库。
image
第三步:安装业务/中间服务
修改“药店系统-发布版本\AppServer\Bin\install.bat,调整一下路径:
   1: setlocal 
   2: set dic=E:\DrugShop
   3: %dic%\药店系统-发布版本\AppServer\Bin\EAS.WindowsService /i /name=DrugShop
   4: pause
执行install.bat脚本完成服务安装,我们可以在计算机管理:
6ZPGR3~Y(R4TQ[LU@RBROFQ
我们看到一个命名实例为DrugShop的AgileEAS.NET Application Service,在这个服务实例之中运行药品系统的业务逻辑,可以通过服务管理进行启动和停止它。
第四步:启动业务/中间服务
在启动业务/中间服务之前,请先修改服务配置文件之中的数据库连接信息:
   1: <?xml version="1.0"?>
   2: <configuration>
   3:   <configSections>
   4:     <section name="eas" type="EAS.ConfigHandler,EAS.MicroKernel"/>
   5:   </configSections>
   6:   <eas>
   7:     <windowsservices>
   8:       <config httpPort="8080" tcpPort="6688"/>
   9:       <services>
  10:         <service name="EAS.RMIService" key="EAS.RMIService"/>
  11:         <service name="EAS.SmartUpdateService" key="EAS.SmartUpdateService"/>
  12:       </services>
  13:     </windowsservices>
  14:     <objects>
  15:       <!--定义数据访问相关组件。-->
  16:       <object name="DataConnection" assembly="EAS.Data" type="EAS.Data.Access.SqlClientConnection" LifestyleType="Thread">
  17:         <property name="ConnectionString" type="string" value="Data Source=.;Initial Catalog=drugshop;User ID=sa;Password=sa" />
  18:       </object>
  19:       <object name="DataAccessor" assembly="EAS.Data" type="EAS.Data.Access.SqlClientAccessor" LifestyleType="Thread">
  20:         <property name="Connection" type="object" value="DataConnection" />
  21:       </object>
  22:       <object name="OrmAccessor" assembly="EAS.Data" type="EAS.Data.ORM.OrmAccessor" LifestyleType="Thread">
  23:         <property name="DataAccessor" type="object" value="DataAccessor" />
  24:       </object>
  25:       <object name="ServiceBridger" assembly="EAS.MicroKernel" type="EAS.Services.LocalServiceBridger" LifestyleType="Thread" />
  26:       <!--日志组件。-->
  27:       <object name="Logger" assembly="EAS.MicroKernel" type="EAS.Services.TextLogger" LifestyleType="Singleton">
  28:       </object>
  29:       <object name="EAS.RMIService" assembly="EAS.Distributed.ServiceHost" type="EAS.Distributed.RMIServiceAddIn" LifestyleType="Singleton">
  30:         <property name="EnableLogging" type="bool" value="false" />
  31:       </object>
  32:       <object name="EAS.SmartUpdateService" assembly="EAS.Distributed.ServiceHost" type="EAS.SmartUpdate.ServiceAddIn" LifestyleType="Singleton"/>
  33:     </objects>
  34:   </eas>
  35:   <startup>
  36:     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  37:   </startup>
  38: </configuration>
在本配置文件之中,请根据自己的数据库连接信息修改数据库连接,请根据自己的喜好,修改服务实例的通信端口,共包含两个端口http及tcp端口,默认http端口为8080,tcp端口为6688,请自行修改为两个未必点用的端口。
第五步:生成智能升级配置信息
在本例之中,程序自带了自动升级服务,下面简单介绍一下服务器上的配置:
客户端程序的自动升级及升级配置信息存放在应用服务程序的XClient目录之下:
DZSGTNS)2~0~R_ZQYCG`E_5
其中Files目录之中存放客户端程序运行所需要的所有程序集及其他文件,config目录之中只包含用于控制程序集升级的文件清单信息,如下格式所示:
   1: <?xml version="1.0" encoding="utf-8"?>
   2: <SmartConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   3:   <URI>http://www.smarteas.net/</URI>
   4:   <Name>AgileEAS.NET升级配置文件</Name>
   5:   <Description>用于AgileEAS.NET平台SmartClient/ActiveX运行容器模块升级之用</Description>
   6:   <StartEx />
   7:   <Time>2011-05-17T20:14:27.6537091+08:00</Time>
   8:   <Files>
   9:     <SmartFile>
  10:       <FileName>DrugShop.BLL.dll</FileName>
  11:       <Version>1.0.0.0</Version>
  12:       <Time>2011-05-17T19:52:04.5989573+08:00</Time>
  13:     </SmartFile>
  14:     <SmartFile>
  15:       <FileName>DrugShop.DAL.dll</FileName>
  16:       <Version>1.0.0.0</Version>
  17:       <Time>2011-05-17T19:52:03.2296807+08:00</Time>
  18:     </SmartFile>
 229:   </Files>
 230: </SmartConfig>
本文件由智能升级配置程序EAS.SmartUpdateConfig.exe产生,我们打开XClient\Files目录下的EAS.SmartUpdateConfig.exe程序集:
image
点击文件右边的浏览按钮选择配置文件保存位置(Xclient\config\smartupdate.xml),升级文件目录选择Xclient\Files,点击“扫描文件夹”,然后“保存”完成升级配置信息的生成。
第六步:运行SAAS客户端
在“药店系统-发布版本”目录的Winclient目录之中,包含了药品系统SAAS运行的客户端程序集及配置信息,在运行之前,需要修改一下配置文件中的两个服务URL,一个是用于控制升级的服务、配置信息存放于update.inf文件之中:
   1: # AgileEAS.Net 平台升级控制文件。
   2:  
   3: [config]
   4:  
   5: allow = 1
   6: url = net.tcp://localhost:6688/EAS.SmartUpdateService
其中 allow为是否开启升级,1开启,0不开启,默认为1,url为升级服务位置,修改为 net.tcp://localhost:6688/EAS.SmartUpdateService
另一个是程序的SOA分布式通信服务url,这个通过EAS.WinClient.exe.config文件进行修改:
  37:     <services>
  38:       <!--<service name="RMIService" service-type="WebService" singleton="true" url="http://www.agilelab.cn/xservice/rmiservice.asmx" />-->
  39:       <service name="RMIService" service-type="WcfService" singleton="true" url="net.tcp://localhost:6688/EAS.RMIService" />
  40:     </services>
其中:<service name="RMIService" service-type="WcfService" singleton="true" url="net.tcp://localhost:6688/EAS.RMIService" />即为服务地址。
完成以上修改之后,即可运行客户端程序,使用0001,0002,0003登录,密码都为空,管理员密码为“sa”。
image

三、平台发布下载

有关于平台最新版本的最新发布版本的程序集、类库手册、相关资料,请大家从AgileEAS.NET平台的官网 http://www.smarteas.net/进行下载,官网设有独立的下载页面,从这里下载: 官网下载页面

四、如何联系

如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。
1、官方网站:
AgileEAS.NET平台: http://www.smarteas.net/
敏捷软件工程实验室: http://www.agilelab.cn/
2、 AgileEAS.NET平台交流群:
AgileEAS.NET平台交流群:120661978(超级群)[新建] 
AgileEAS.NET平台交流群:125643764(高级群)[新建] 
AgileEAS.NET平台交流群:147168308(高级群)[新建]
3、系统架构交流群:
系统架构交流群:9105332(高级群)(已满) 
系统架构交流群1:124825459(高级群)(已满) 
系统架构交流群2:49124441(高级群)(已满) 
系统架构交流群3:47025564(高级群)(已满)
链接


本文转自 agilelab 51CTO博客,原文链接:http://blog.51cto.com/agilelab/591995

相关文章
|
6月前
|
Web App开发 编解码 Java
B/S基层卫生健康云HIS医院管理系统源码 SaaS模式 、Springboot框架
基层卫生健康云HIS系统采用云端SaaS服务的方式提供,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医疗机构的主要工作流程,能够与监管系统有序对接,并能满足未来系统扩展的需要。
222 5
|
1月前
|
存储 缓存 监控
怎么更好地设计一个优秀的SaaS系统
设计一个优秀的SaaS系统,需要从架构、性能、安全性、租户隔离、扩展性等多方面进行深思熟虑。根据业务需求选择合适的多租户架构,保证数据隔离的同时提高系统性能。
123 1
|
5月前
|
传感器 小程序 搜索推荐
(源码)java开发的一套(智慧校园系统源码、电子班牌、原生小程序开发)多端展示:web端、saas端、家长端、教师端
通过电子班牌设备和智慧校园数据平台的统一管理,在电子班牌上,班牌展示、学生上课刷卡考勤、考勤状况汇总展示,课表展示,考场管理,请假管理,成绩查询,考试优秀标兵展示、校园通知展示,班级文化各片展示等多种化展示。
91 0
(源码)java开发的一套(智慧校园系统源码、电子班牌、原生小程序开发)多端展示:web端、saas端、家长端、教师端
|
1月前
|
存储 前端开发 数据库
一文搞懂SaaS应用架构:应用服务、应用结构、应用交互设计
【10月更文挑战第21天】本文介绍了 SaaS 应用服务的多租户服务、安全服务和更新与维护服务,以及 SaaS 应用的前后端结构和交互设计。多租户服务涉及数据隔离和资源分配;安全服务包括身份认证与授权及数据安全;更新与维护服务涵盖版本管理和技术支持。前端结构关注用户界面设计和前端技术选型;后端结构则涉及微服务架构和数据库管理。交互设计强调租户与应用的交互和应用内部模块间的交互。
149 0
|
1月前
|
人工智能 算法 JavaScript
无界 SaaS AI 生态大模型:技术在中国,链接全世界
无界 SaaS AI 生态大模型涵盖前端用户界面、后端服务器逻辑、数据库设计、API 接口开发及区块链技术应用。本文提供一个简化框架,介绍技术栈选择、核心功能模块(用户管理、商城、数据确权、链接力、算力算法、AI 生态大模型、全球化支持)及后端示例代码,帮助将商业模式转化为代码。
|
4月前
|
Oracle 安全 关系型数据库
ERP系统的云计算与SaaS模式:实现高效灵活的企业管理
【7月更文挑战第29天】 ERP系统的云计算与SaaS模式:实现高效灵活的企业管理
243 4
|
3月前
|
数据挖掘 BI API
简单了解CRM与SaaS系统
本文介绍了CRM(客户关系管理系统)和SaaS(软件即服务)的概念、应用场景、两者之间的关系以及CRM接口的作用和设置流程,强调了SaaS模式为CRM系统提供了灵活、便捷、经济高效的使用方式,以及CRM接口在数据集成、自动化流程、功能扩展和数据分析方面的重要性。
123 0
|
5月前
|
人工智能 大数据 云计算
软件即服务(SaaS)的兴起:技术变革引领商业新纪元
【6月更文挑战第21天】SaaS兴起引领商业变革: 互联网与云计算催生了SaaS模式,降低企业IT成本,提供按需订阅、免安装维护的软件服务。多租户架构保证数据安全,实时更新促进效率与创新。SaaS重塑商业模式,降低创业门槛,助力企业灵活应对市场变化,驱动数字化转型和行业发展。未来,SaaS将继续扮演创新推手角色。
|
6月前
|
传感器 人工智能 前端开发
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
智慧校园电子班牌,坐落于班级的门口,适合于各类型学校的场景应用,班级学校日常内容更新可由班级自行管理,也可由学校统一管理。让我们一起看看,电子班牌有哪些功能呢?
554 4
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
|
6月前
|
消息中间件 缓存 Java
java基于云部署的SaaS医院云HIS系统源码 心理CT、B超 lis、电子病历
云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务,提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站和护士工作站等一系列常规功能,还能与公卫、PACS等各类外部系统融合,实现多层机构之间的融合管理。
107 12

热门文章

最新文章

下一篇
无影云桌面