null应用模式建立企业应用框架浪潮软件 周恒
zhouheng@langchao.com应用模式建立企业应用框架目 录目 录背景
企业级应用模式介绍
基于J2EE的企业应用模式
基于模式构建的框架示例背景-业务变化背景-业务变化 在大型企业应用中,办公地点不再局限在一栋楼内,异地办公成为必然同楼办公
同城办公
异地办公局域网办公
城域网、专线
Internet办公背景-技术变化背景-技术变化 单机-网络
主机-〉CS->BS
Corba,J2EE,.NET
J2EE架构以其兼容性、开放性、跨平台性成为BS应用的主要选择
国内外高端应用基本都是采用J2EE架构背景-组织变化背景-组织变化 软件工厂
外包、第三方服务
组织形式更灵活
支持角色分层,分成几个部分来
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
和实现
背景-企业级应用特点背景-企业级应用特点 大数据量
频繁数据库访问
界面要求高
大并发量
高复杂度
用户需求千差万别
成熟度要求高企业级应用例子企业级应用例子 山东省建行呼叫中心
山东移动
用户数千万级
春节短信达2.25亿条
大连烟草
吉林烟草
黑龙江烟草
广西烟草
安徽烟草
山东烟草
南京烟草
山西烟草
甘肃烟草
洛阳烟草背景-企业级Web应用风险背景-企业级Web应用风险欠缺经验会导致:
开发成本高
软件质量不合格
扩展性差,可维护性、安全性、健壮性差
一个不好的经验就导致整个应用瘫痪
例子,EJB,Xml,Connection,Servlet实例变量J2EE项目风险
*没有真正理解J2EE
*过度设计
*业务规则和逻辑混在一块
*缺乏可伸缩性、性能差
*陈旧的开发过程
*没有好的框架方式
*脱离了技术现实。。。。。。目 录目 录背景
企业级应用模式介绍
基于J2EE的企业应用模式
基于模式构建的框架示例面向企业级解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
面向企业级解决方案 企业级应用模式
企业级集成模式
企业级开发管理模式模式-才子佳人故事模式-才子佳人故事 逃难到小姐花园 相爱 女方家长反对 贫穷才子落难 男中状元 荣归故里,迎娶夫人我的梦中情人是个英雄,有一天他会踩着五彩祥云来娶我企业级应用模式企业级应用模式 分层模式
服务为中心的框架模式
MVC框架模式
分布式模式
对象关系映射
使用企业级应用模式构建企业应用框架能提高框架的可用性、健壮性和扩展性企业级集成模式企业级集成模式 网状集成
总线集成
发布订阅
请求应答
文件共享…
数据库共享…企业级开发管理模式企业级开发管理模式 框架为中心
角色分工
RUP
风险管理
用例驱动
测试驱动
迭代演进
应用模式-分层应用模式-分层 上有天堂下有十八层地狱应用模式-分层-续应用模式-分层-续 OSI 7-层 通信模型
层1 物理层
层2 数据链路层
层3 网络层
层4 传输层
层5 会话层
层6 表示层
层7 应用层应用模式-分层要素以及特点应用模式-分层要素以及特点 分层原则
责任划分
层抽象,抽象例子 优点
可维护性
重用
可扩展性
可测试性 缺点
低效
增加额外的工作应用模式-MVC责任区分应用模式-MVC责任区分应用模式-MVC架构模式应用模式-MVC架构模式应用模式-服务为中心的架构应用模式-服务为中心的架构应用模式-服务框架-特性 应用模式-服务框架-特性 是一个容器
提供服务运行的上下文环境和其他一些特性,服务需要向架构注册
管理服务(监控、启动、销毁)
使用服务工厂来创建服务
每个服务都是插件
通过接口向外提供服务
可有多种实现方式
服务可以灵活定义应用模式-服务框架-特性(续)应用模式-服务框架-特性(续) 服务方式多种多样
WebService
组件
API
服务是透明的
框架可以存在于环境上下文,比如服务框架可同时存在于两个ServletContext上下文中,也可以以独立应用程序方式单独运行应用模式-分布式应用模式-分布式 东厂 克格勃 拉登的基地组织 应用模式-分布式-续应用模式-分布式-续应用模式-OR映射应用模式-OR映射 类-〉表
对象-〉纪录行
属性-〉列 企业级集成模式-网状接口企业级集成模式-网状接口企业级集成模式-星形接口企业级集成模式-星形接口 Xml
RMI/CORBA
WebService开发管理模式-迭代开发管理模式-迭代摘自RUP开发管理模式-流程指南开发管理模式-流程指南摘自RUP开发管理模式-架构为中心开发管理模式-架构为中心摘自RUP开发管理模式-定制开发工具开发管理模式-定制开发工具微软专门有一个小组负责为微软的工程师们提供日常工作和管理的工具软件
微软核心竞争力之一模式不是万能模式不是万能模式不是万能!
细节也会决定成败!
不要过度使用模式!
最终目标是达到无为而治!目 录目 录背景
企业级应用模式介绍
基于J2EE的企业应用模式
基于模式构建的框架示例JDBC示例JDBC示例public static void main (String args[]) {
try {
...
Connection con = DriverManager.getConnection (…);
...
Statement stmt = con.createStatement ();
ResultSet rs = stmt.executeQuery (query);
...
rs.close();
// 关闭语句
stmt.close();
// 关闭连接
con.close();
}
catch (java.lang.Exception ex) {
ex.printStackTrace ();
}
}资源监视资源监视 一个程序如果忘记关闭数据库连接,如果这个程序连续运行几十次,就会造成整个应用程序的瘫痪。
在企业应用开发中存在大量的造成连接可能没有关闭的情况(很多demo例子也起了误导人的作用)
数据连接监视器采用代理、包装器、适配器等模式,监视连接,在开发过程中就能监控到每次连接没有关闭的情况 资源监视资源监视翻页翻页 几乎所有Web企业应用都会涉及翻页问题,翻页的问题处理得好坏与否,将会对系统的性能产生致命的影响。
虽然现在互联网上关于翻页的讨论非常之多,有的高效却开发效率低、功能弱,有的易于开发却非常低效。如何构建一个好的翻页系统?并实现列表中排序、查询、过滤? 翻页翻页 缓存所有内容?
缓存索引(如JIVE)
只取当前页概要分析概要分析 如何监控系统的性能,找出执行缓慢的操作? 如何监控事务执行的速度?把执行缓慢的事务找出来?
虽然有很多概要分析工具可以监控所执行的方法的时间,但是自己做性能监控通常是有必要的,它能更好的贴近应用程序,帮助我们找出系统执行缓慢的操作,找到系统的瓶颈 EJB业务管理器EJB业务管理器 国内用户和开发者都喜欢追逐时髦,好用新技术。当前国内但凡开发J2EE程序,都要使用EJB、使用WebService,否则就觉得落伍。不过EJB的开发调试在当前都成问题,频繁的修改部署发布也让人伤透了脑筋。
结合Command模式、事件模式、单件模式、DAO模式,使用EJB管理器,只写一个EJB,既能利用EJB的分布式、事务处理等优点,又无须写Ejb程序,让开发Ejb变的真正简单。 资源资源如何管理好系统的多种资源
图片、javascript脚本,按钮(快捷键、按钮名、按钮值
参数、像订单状态这种枚举类型、不同地区不同叫法。btn.add.name=btnAdd
btn.add.value=增加
I
btn.add.key=IDBMAPDBMAP 如果要取一个表的字段的数据类型,我们还可以根据JDBC连接的元数据来取,但是如果我们要取得某个表和某个字段的中文描述呢?
通过自定义的配置文件,不但可以取得中文描述,还可解决通过JDBC元数据的性能问题。通过这个对象,我们可以检验数据有效性、一致性,可以智能的在页面上将客户编号替换为客户名称 Sql对象Sql对象 Sql数据对象,我们使用OOAD来处理大数据量的基于事务处理系统时,会碰到很多疑惑
在一个方法里面完成一个事务吧,很难重用
在多个方法(通常还可能调用了别的对象)里吧,本来一条sql写完的,要用多条sql执行,效率可想而知。
将Sql封装成对象,很对象化的在各个方法间传递,既能重用效率也不低 事务上下文事务上下文 Dao模式
如何让Dao不用修改就能在Ejb和Jdbc中使用
着重解决事务问题
事务上下文
单据维护单据维护 像订单和订单行这类的维护程序,对于习惯使用CS程序的企业操作员来说,如果指望他们像网上用户一样慢慢点击增加到购物车的方式,绝对是接受不了的。
在页面写上大量的javascript,是可以实现回车自动出来上面的帮助,回车自动到下一个输入框,或者到新的一行其它等等其它等等 根据权限生成不同菜单
审计
最大号表
灵活报表
等等目 录目 录背景
企业级应用模式介绍
基于J2EE的企业应用模式
基于模式构建的框架示例中国软件产业之路中国软件产业之路中国软件产业之路在何方企业应用框架概念企业应用框架概念在面向对象的设计和编程中,复用主要通过框架的概念加以阐述
是一些代表商业应用的实体对象,相互协作实现核心商业过程,允许开发者使用此框架来开发完成最终的不同需求。
基于框架的技术通过重用提高了生产效率,使用成熟的架构不仅能够降低开发风险、提高生产率,还能对系统统一规划,降低信息孤岛,提高整合度框架分层-横向框架分层-横向框架分层-纵向框架分层-纵向例子 浪潮楼上企业应用框架例子 浪潮楼上企业应用框架Web应用框架组件图Web应用框架组件图企业应用模式示例 –MVC企业应用模式示例 –MVC企业应用模式示例-基于服务企业应用模式示例-基于服务集成模式示例-EAI集成模式示例-EAI集成模式示例-信息交换集成模式示例-信息交换集成模式示例-即时消息集成模式示例-即时消息企业应用模式示例 – OR映射 企业应用模式示例 – OR映射 符合WFMC规范
简单易用易于扩展
工作流程自定义
表单自定义
丰富的流程监管工具
工作流引擎-参考模型工作流引擎-参考模型企业应用模式示例 – 分布式 企业应用模式示例 – 分布式 业务模式示例-商业服务平台业务模式示例-商业服务平台 组织结构模型
权限模型
其它商业组件开发管理模式示例-代码自动生成机开发管理模式示例-代码自动生成机 根据Xml文件自动
生成Sql、Java、Jsp、
配置文件
生成70%代码
数据字典维护程序、
单据类维护程序无需写一行程序
代码生成技术是构建企业级、健壮的、Web应用程序的最为可用的技术开发管理模式示例-迭代开发管理模式示例-迭代开发管理模式示例-流程开发管理模式示例-流程开发队伍客 户
开发需求
概要设计
提交概要设计
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
审查结果
需求分析
提交需求分析报告
审查结果
详细设计
Model设计
View设计
Controller设计
完了
通知
关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知
编程及单元测试
进度报告
验收通知
提交成果:
・ 程序代码
・测试结果报告
・质量报告
・操作手册
提交
指出对应
验收测试
检查提交成果物
项目完成
审查
审查
进度管理
学习框架
开发管理模式示例-角色开发管理模式示例-角色开发管理模式示例-模版开发管理模式示例-模版开发管理模式示例-架构为中心开发管理模式示例-架构为中心企业应用框架特性企业应用框架特性 扩展性 分布式 面向对象
搭建底层平台,提供大量面向高层应用的组件,可在底层基础框架之上搭建应用程序,常用应用使用框架提供功能,特殊应用可扩展
企业级解决方案,企业级应用模式、企业级集成模式和企业级开发管理模式,适合企业级应用开发
一个企业应用项目仅需一个框架专家+一些普通程序员+一些业务专家即可
跳过技术和共性业务的阶段,聚焦个性业务领域和Struts的比较和Struts的比较框架市场定位框架市场定位行业用户
(烟草、电信、税务、电子政务、金融、证券、公安等行业)
企业用户
(大中小型企业)
软件开发商
(大中小型软件开发商)框架框架正考虑开放Web
应用框架源代码!
欢迎携手共同改善!参考参考 Sun J2EE 蓝图
IBM San Francisco
企业应用模式 企业集成模式 --Martin Fowler
RUP
Langchao 集团开发文档谢 谢!
欢迎各位专家提出宝贵意见!
谢 谢!
欢迎各位专家提出宝贵意见!
周恒 zhouheng@langchao.com