目录1为什么要开发iPlat4j?(Why)253iPlat4j的特性如何使用iPlat4j?(How)iPlat4j是什么?(What)4iPlat4j的应用案例企业信息化存在的问题IT黑洞IT黑洞艰苦的努力用户开发商用户开发商高额的投资复杂的过程漫长的周期失控的质量无尽的维护双输的结局美好的愿景传统的信息系统建设方式无法适应企业业务需求的不断变更,常常陷入“建成即闲置”的尴尬局面。传统的信息系统建设方式开发效率低下,造成企业IT系统的总体拥有成本过高。传统的信息系统建设方式难以控制应用的质量,往往取决于开发人员的个人能力和水平。传统的信息系统建设方式往往受限于底层技术,难以扩展和维护。企业信息化存在的问题信息孤岛企业资源管理(ERP)办公(OA)人事绩效(HR)产品管理(PDM)客户关系/销售(CRM)决策分析(DSS)……开发框架和组件数据定义存储维护/定制工具开发框架和组件数据定义存储维护/定制工具应用孤岛难以集成各个业务系统单独建设,资源利用率低,无法有效共享资源。各个业务系统重复开发大量的公共组件,造成资源的巨大浪费。各个业务系统采用不同底层技术实现,在用户体验和操作模式上存在巨大差异,增加学习成本。各个业务系统形成信息孤岛,互相之间难以互联互通,无法实现信息资源的集成和共享。企业信息化存在的问题原因分析IT黑洞问题:传统信息系统的建设,是在底层的技术平台上直接构建业务系统,并且也只能采用面向技术的、业务无关的编程工具来开发管理系统。这种低层次的软件开发模式,导致功能组件的大量重复开发,IT人员更加关注于具体技术,而对关键的业务知识和技能难以得到提炼和积累,使信息系统的开发、维护和扩展困难重重,导致IT黑洞现象的普遍发生。应用孤岛问题:由于各个业务系统独立进行资源规划,采用不同的开发框架和组件库,在功能设计和具体技术上都存在一定的差异,没有形成统一的标准,导致信息系统大多是孤岛型的应用,或者是业务功能模块的简单累加,相互之间难以进行集成,资源难以得到有效共享。企业信息化需求的解决之道统一的基础架构统一的用户体验Drivers信息系统平台iPlat4j标准的信息格式公共的业务组件灵活的配置模式全流程工具支持iPlat4j的设计思想让大规模的开发团队高效的进行开发,支持各种规模的项目。运行高可靠性、高性能。功能及接口简单、统一。对重复性工作进行抽取,提高项目的开发效率及质量。保证平台的灵活性、可扩展性及可维护性,应对多样化的需求。2iPlat4j是什么?(What)目录153iPlat4j的特性如何使用iPlat4j?(How)为什么要开发iPlat4j?(Why)4iPlat4j的应用案例产品构成iPlat4j使您一次性获得多个产品:信息系统开发框架信息系统前端组件库业务流程管理平台业务规则管理平台内容管理平台门户系统报表系统全生命周期开发套件。。。基于SOA思想的体系架构•将业务功能抽象为界面模型、业务模型、数据模型3部分。•在业务模型中抽象出服务控制层,实现对服务的托管控制及管理。业务模型中的服务能够以松耦合的方式被界面模型以及外部系统使用。•界面模型与业务模型之间、以及各个系统之间通过统一的数据交换中间件进行数据通信。•遵循统一标准的指导思想及设计理念进行实施,云中的应用系统将能够非常快速地集成在一起。基于SOA思想的体系架构SOA服务提供系统iPlat4jSOAframework应用组合应用服务构件服务托管服务构件服务构件服务使用者(业务系统)iPlat4jSOAframework服务构件服务构件服务构件EiInfo数据包HTTPRESTRPC第三方业务系统JSON数据包WebService数据打包基于SOA思想的体系架构调用方式HTTPRESTRPC支撑云计算的分布式体系架构分布式缓存解决集群条件下缓存的同步问题部署方式简单灵活增加资源利用率缓存管理界面支撑云计算的分布式体系架构应用间Session信息同步Session创建、失效(注销和过期)不依赖于中间件、可以跨中间件共享需要Session共享的各应用应处于相同顶级域名之下子系统A:a.baosteel.com子系统B:b.baosteel.com子系统C:c.baosteel.com支撑云计算的分布式体系架构应用拆包部署及应用跳转对于大型工程应用,支持划分为较小的模块(或子系统)分别进行部署。支持各个模块(或子系统)之间的单点登录。支持业务画面按照模块(或子系统)进行跳转。通过Session复制或者Session共享的方式,保证用户状态在各个模块(或子系统)之间的一致性。支撑云计算的多租户架构开放性的技术架构完全符合J2EE规范。Ajax、HTML5、CSS3等标准支持。struts、spring、ibatis、jquery等业界主流构件。符合WFMC模型的业务流程管理系统。支持REST等先进架构。高可伸缩性,内置对云计算的天然支持。平台软件资产平台软件资产专注于不同领域提高企业资源利用率提高信息化应用开发起点降低信息化项目总体风险提升信息化项目整体质量提高信息化应用开发和运行效率加强信息化系统间一致性iPlat4j关键价值平台应用环境客户端应用服务器数据库操作系统WinXP/2000/2003/Vista/7/2008Windows、Unix、LinuxWindows、Unix、Linux应用软件IE6.0及以上版本ChromeSafariFirefoxWeblogic9及以上版本、Websphere6.1及以上版本、Tomcat5.0及以上版本Oracle9i及以上版本、DB29.7及以上版本、SQLServer2005及以上版本、MySQL5.1及以上版本CPU1GN/AN/A内存512M2G2G硬盘N/A500M500M特殊需求显示分辨率:1024×768以上允许对服务器ip地址的弹出窗口浏览器设置为每次访问时都检查平台构成-基础框架核心管理配置文件看不懂提交回滚语句不会写异常处理太复杂开发人员无需关注技术细节,可以专心于开发业务逻辑先进的核心容器管理灵活简洁的事务管理统一便捷的异常管理Js页面动作定义Jsp页面格式定义通过动态配置实现对应用程序的全面托管StrutsConfigSpringConfigIbatisConfigStructsActionStruts动作(action)类ActionForm表单映射数据SQLxml业务处理SQL平台构成-基础框架动态配置Spring托管DispatchAction平台集中托管Service业务处理逻辑Struts托管Jsp页面格式定义Js页面动作定义SQLxml业务处理SQLibatis托管1234Service业务处理逻辑国际化(Internationalization,简称I18N)指的是在软件设计阶段,就应该使软件具有支持多种语言和地区的功能。英文环境中文环境平台构成-基础框架国际化资源管理国际化资源管理的程序具有以下特征:当应用需要支持一种新的语言时,无需修改应用程序代码文本、消息和图片从源程序代码中抽取出来,存储在外部可以根据用户的语言和地理位置,对与特定文化相关的数据,如日期、时间和货币,进行正确的格式化提供数据库和资源文件两种实现方式,可以灵活地配置修改资源信息后,可实现热加载,而无需重启应用平台构成-基础框架国际化资源管理iPlatTM基于成熟稳定的开源数据访问框架:简单、轻便、灵活学习成本低数据访问接口的适当封装屏蔽内部逻辑,用户操作简单实用的扩展功能根据不同的数据库类型自动适配,及性能最优化的自动封装用户无需了解诸多不同数据库的差异及优化方案,由平台来保证开发效率及代码的可移植性平台构成-基础框架数据持久化多数据源访问:支持在同一个应用系统中与多个不同的数据源进行交互。支持多数据源的动态切换。支持不同数据源的独立事务。多租户数据隔离。NoSQL数据库访问:支持Hbase等NoSQL数据库的访问。平台构成-基础框架数据持久化多数据源调用示例:EiInfoinfo=newEiInfo();info.set(EiConstant.serviceName,EE31);info.set(EiConstant.methodName,call);info.set(SoaConstants.DATA_SOURCE_NAME,dataSource2);SoaManager.callNewTx(info);对于平台中的元数据,如页面、按钮及菜单、国际化资源等,进行统一集中的管理。页面信息管理:用于注册项目中开发的页面,平台根据页面注册信息进行相关的调度。按钮信息管理:用于注册各页面不同区域所包含的按钮,便于平台的统一渲染。同时与授权相关联,可进行按钮的自动过滤。菜单信息管理:用户可灵活地配置菜单项及层次关系,系统根据用户的注册信息进行菜单的展现国际化资源管理:对在项目中需要的国际化资源进行管理平台构成-基础框架元数据管理(ED)—功能页面按钮菜单平台构成-基础框架元数据管理(ED)—样例国际化资源信息集中维护,便于项目组对项目规模进行全局管理平台能根据页面注册信息进行统一的调度能根据各页面不同区域所注册的按钮信息,进行自动渲染信息修改可动态加载资源可自动导入授权系统与授权模块相关联,可进行按钮及菜单等的自动过滤以往的开发模式:通过配置文件定义页面的跳转按钮需要手工定义在页面中菜单信息以配置文件维护或固化在程序中授权资源需要重新定义相关资源无法统一管理配置信息难于动态加载相关元素与授权信息关联不够直接资源重复定义,一致性差平台构成-基础框架元数据管理(ED)—优点权限判断按钮自动渲染及权限自动过滤传统代码片断:iPlat4j代码片断:平台构成-基础框架元数据管理(ED)—效果按钮定义iPlat4j采用统一的数据交换结构EiInfo前台页面提交的数据,系统会根据规则自动组织成EiInfo结构交给后台应用进行处理后台应用处理完成的数据组织成EiInfo的信息格式返回前台,前台根据EiInfo的信息自动渲染成相应的页面展现元素后台Service对外提供的所有方法的输入与输出参数都为EiInfo平台构成-基础框架数据交换(EI)EiInfoEiInfo客户端页面ServiceAServiceB一个EiInfo由若干个数据块区(EiBlock)组成一个数据块区(EiBlock)相当于一个按行列组织的二维数据,以行号和列名为关键字检索数据一个数据块的列头信息由独立的EiColumn对象进行描述blockMetablockscolumnsEiBlockEiBlockMetaEiColumnEiInfo平台构成-基础框架数据交换(EI)通过采用统一的数据交换结构EiInfo封装数据格式统一交换标准屏蔽底层细节解放了开发人员,使开发人员精力集中于业务数据及逻辑的组织保证了基于SOA服务的集中灵活调度平台构成-基础框架数据交换(EI)平台构成-基础框架排队作业—功能调度异步后台作业各类作业按照FIFO的方式排队控制每种作业最大并发执行数---适配集群环境控制排队长度平台构成-基础框架排队作业查看作业执行情况以及调整作业运行的优先级查看作业的历史运行情况平台构成-基础框架EAI集成(EA)数据交换平台应用接口应用系统(9672,PSCS,UECP...)基于iPlat4j的应用系统平台电文接口电文体电文串电文规范平台电文规范Name(10,0):用户1Weight(6,2):65.2age(3,0):24用户1006520024电文配置管理接收,发送电文缓存信息管理接收,发送电文备份管理拼接电文拆分电文平台构成-界面组件(EF)两种界面方案silverlightHtml+JS:为开发用户提供了诸多支持用户界面开发的组件:EFChartEFSpliterEFRegionEFFormEFTreeEFNavigationBarEFCoreEFMenuEFColumn平台构成-界面组件(EF)html+jsEFInputEFButtonEFS