面向构件化软件开发

上传人:wuli****0220 文档编号:247428044 上传时间:2024-10-18 格式:PPT 页数:65 大小:5.67MB
返回 下载 相关 举报
面向构件化软件开发_第1页
第1页 / 共65页
面向构件化软件开发_第2页
第2页 / 共65页
面向构件化软件开发_第3页
第3页 / 共65页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向构件的体系-软件产业化-,黄柳青 博士,面向构件是产业成熟的标志,裁缝、木匠、号码、组合家具,裁缝是量身订制的艺术家,号码是人体身材的标准化,木匠是因才施用的艺术家,组合家具是需求的产业化,科学、技术、工程,科学:,NP-Complete问题,技术:,1997年深蓝计算机战胜卡斯帕罗夫,工程,互联网时代,高科技为什么低回报,软件产品化成为神话,技术变化太快,需求变化太快,覆盖的面太宽,软件,工程的银弹,单机,客户/,服务器,互联网,单一事务,部门,全企业,开盒即用,二次开发,构件集成,面向构件的产业化价值,降低生产成本,适应需求变化,快速推出稳定新产品,降低提交安装维护成本,面向构件的应用软件体系,中国电信二期-综合客服,CORBA,Tuxedo,J2EE,面向构件的,应用软件平台,EAI,软件和知识表达,0101,机器语言,0101,机器语言,0101,机器语言,0101,机器语言,GOTO 23,汇编语言,GOTO 23,汇编语言,GOTO 23,汇编语言,While ,高级语言,While ,高级语言,面向构件,面向构件是下一代的中间件,CORBA,J2EE,面向构件,EAI/SOA,DB/OS,ERP,OA,基于C/S应用系统,美国应用软件的沿革路径,基于中间件应用系统,DB/OS,J2EE,CRM,ERP,OA,CRM,ERP,OA,基于集成应用系统,EC,DB/OS,CRM,ERP,OA,EAI/SOA,员工,客户,主管,伙伴,J2EE,中国应用软件的沿革路径,P,R,E,M,A,R,C,O,C,E,户,客,工,管,员,主,伴,伙,面向构件,J2EE,DB/OS,新型面向构件应用系统,EAI/SOA,中间件体系,基 础 中 间 件 平 台,面向领域的专用平台,面向构件的中间件平台,面向构件的业务模块,操作系统及数据库,应用系统,中间件平台,开,发,环,境,基础构件库,页面,流程,业务,方法,数据,数据模型,运,行,环,境,开发,调试,部署,管理,Portal,BPML/,Workflow,J2EE,.Net,Corba,MSQ,Data,DI,Java,C#,内容,流程定义,规则,权限,报表,面向构件的中间件的特征,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,+,页面,展现,服务,对象,数据,COM+,CORBA,J2EE,EAI,SOA,COA,业务,Portal,public,final,class,OrderHTMLAction,extends,HTMLActionSupport,public,Event,perform(HttpServletRequest,request),throws,HTMLActionException,/ Extract attributes we will need,/ XXXX this needs to be part of the form,ContactInfo,shipper,=,extractContactInfo(request,_a,);,ContactInfo,receiver,=,extractContactInfo(request,_b,);,CreditCard,creditCard,=,new,CreditCard(,1234-2334,Duke Express,10/2001,),;,return,new,OrderEvent(shipper,receiver,creditCard);,/* parse address form and generate a ContactInfo object */,private,ContactInfo,extractContactInfo(HttpServletRequest,request,String,suffix),throws,HTMLActionException,ArrayList,missingFields,=,null,;,String,familyName,=,request.getParameter(,family_name,+suffix).trim();,if,(familyName.equals(,),if,(missingFields,=,null,),missingFields,=,new,ArrayList();,missingFields.add(,Last Name,);,String,givenName,=,request.getParameter(,given_name,+suffix).trim();,if,(givenName.equals(,),if,(missingFields,=,null,),missingFields,=,new,ArrayList();,missingFields.add(,First Name,);,String,address1,=,request.getParameter(,address_1,+suffix).trim();,if,(address1.equals(,),if,(missingFields,=,null,),missingFields,=,new,ArrayList();,missingFields.add(,Street Address,);,String,address2,=,request.getParameter(,address_2,+suffix).trim();,if,(address2.equals(,),address2,=,null,;,String,city,=,request.getParameter(,city,+suffix).trim();,if,(city.equals(,),if,(missingFields,=,null,),missingFields,=,new,ArrayList();,missingFields.add(,City,);,String,stateOrProvince,=,request.getParameter(,state_or_province,+suffix).trim();,if,(stateOrProvince.equals(,),if,(missingFields,=,null,),missingFields,=,new,ArrayList();,missingFields.add(,State or Province,+suffix);,String,postalCode,=,request.getParameter(,postal_code,+suffix).trim();,if,(postalCode.equals(,),if,(missingFields,=,null,),missingFields,=,new,ArrayList();,missingFields.add(,Postal Code,);,String,country,=,request.getParameter(,country,+,suffix).trim();,String,telephone,=,request.getParameter(,telephone_number,+suffix).trim();,if,(telephone.equals(,),if,(missingFields,=,null,),missingFields,=,new,ArrayList();,missingFields.add(,Telephone Number,);,String,email,=,null,;,if,(request.getParameter(,email,+suffix),!=,null,),email,=,request.getParameter(,email,+suffix).trim();,if,(missingFields,!=,null,),MissingFormDataException,ex,=,new,MissingFormDataException(,Missing Address Data,missingFields);,request.setAttribute(PetstoreKeys.MISSING_FORM_DATA_EXCEPTION_KEY,ex);,return,null,;,Address,address,=,new,Address(address1,address2,city,stateOrProvince,postalCode,country);,return,new,ContactInfo(familyName,givenName,address,email,telephone);,public,class,OrderEJBAction,extends,EJBActionSupport,public,EventResponse,perform(Event,e),throws,EventException,OrderEvent,oe,=,(OrderEvent)e;,PurchaseOrder,purchaseOrder,=,new,PurchaseOrder();,ContactInfo,billTo,=,oe.getBillTo();,ContactInfo,shipTo,=,oe.getShipTo();,CreditCard,creditCard,=,oe.getCreditCard();,String,orderIdString,=,null,;,/ get the UniqueIdGenerator EJB,UniqueIdGeneratorLocal,uidgen,=,null,;,try,ServiceLocator,sl,=,new,ServiceLocator();,UniqueIdGeneratorLocalHome,home,=,(UniqueIdGeneratorLocalHome)sl.getLocalHome(JNDINames.UIDG_EJBHOME);,uidgen,=,home.create();,catch,(javax.ejb.CreateException,cx),cx.printStackTrace();,catch,(ServiceLocatorException,slx),slx.printStackTrace();,orderIdString,=,uidgen.getUniqueId(,1001,);,/ get ther userId,ShoppingClientFacadeLocal,scf,=,null,;,scf,=,(ShoppingClientFacadeLocal)machine.getAttribute(PetstoreKeys.SHOPPING_CLIENT_FACADE);,String,userId,=,scf.getUserId();,purchaseOrder.setOrderId(orderIdString);,purchaseOrder.setUserId(userId);,purchaseOrder.setEmailId(billTo.getEmail();,purchaseOrder.setOrderDate(,new,Date();,purchaseOrder.setShippingInfo(shipTo);,purchaseOrder.setBillingInfo(billTo);,purchaseOrder.setCreditCard(creditCard);,int,lineItemCount,=,0;,float,totalCost,=,0;,/ Add the items from the shopping cart,ShoppingCartLocal,cart,=,scf.getShoppingCart();,Locale,locale,=,(Locale)machine.getAttribute(PetstoreKeys.LOCALE);,purchaseOrder.setLocale(locale);,Collection,items,=,cart.getItems();,/ if the cart is empty throw an exception saying so,if,(items.size(),=,0),throw,new,ShoppingCartEmptyOrderException(,Shopping cart is empty,);,Iterator,it,=,items.iterator();,while,(it.hasNext(),CartItem,item,=,(CartItem)it.next();,互联网!,互联网!,机构重组!,流程重组!,业务拓展!,政策法规!,什么是软件构件?,构件的中心是建筑师,构件不能脱离业务范畴存在,构件不能对应到技术层的概念,构件有多个层次,可封装高密度的、高复杂度的业务逻辑,可被重复使用,可以适应具体化要求,可以组合为更大的构件,构件定义,提供接口,依赖接口,构件名,构件类型,构件复用,EOS构件接口依赖关系,提供接口,依赖接口,构件名,展现构件,提供接口,依赖接口,构件名,运算构件,提供接口,依赖接口,构件名,业务构件,提供接口,依赖接口,构件名,数据构件,提供接口,依赖接口,构件名,流程构件,提供接口,依赖接口,构件名,页面构件,自依赖,依赖关系,传统构件接口方式-接口异常复杂,提供接口,依赖接口,构件名,构件类型,提供接口,依赖接口,构件名,构件类型,提供接口,依赖接口,构件名,构件类型,提供接口,依赖接口,构件名,构件类型,提供接口,依赖接口,构件名,构件类型,提供接口,依赖接口,构件名,构件类型,提供接口,依赖接口,构件名,构件类型,数据总线的构件接口方式,提供接口,依赖接口,构件名,展现构件,提供接口,依赖接口,构件名,运算构件,提供接口,依赖接口,构件名,业务构件,提供接口,依赖接口,构件名,数据构件,提供接口,依赖接口,构件名,流程构件,提供接口,依赖接口,构件名,页面构件,数据总线,面向构件-软件架构师,构件就是艺术,基础构件的标准化,业务构件的艺术性,软件建筑师是业务专家和艺术家,软件建筑师不是技术工人,面向构件的软件开发,确定业务范围和框架,确定应用环境和技术,选择开发平台,建立构件化开发体系,建立构件库,面向构件的开发跟踪点,Stabilizing,Approved,Blueprint,Approved,Position,Approved,Detailing,Approved,Screening Approved,Positioning Plan Approved,Positioning Internal Approved,Team Setup,Project Plan Approved,Requirement Doc Approved,Feature List Approved,Blueprint Internal Approved,CM Setup,Programming Doc Approved,Product Release Plan Approved,Marketing Doc Approved,Detailing Doc Internal Approved,Product Release Internal Approved,RM Report Approved,面向构件-软件工厂,构件就是软件,应用软件公司创造构件体系,软件服务公司用构件搭建系统,定位核心竞争能力,选择放弃才能有核心能力,在领域里不断积累软件财富,合作、多赢,面向构件的软件企业商业模型,构件管理、构件组装平台厂商,基础构件厂商,构件化业务框架厂商,构件化行业应用厂商,构件组装服务厂商,面向构件-信息化企业,构件就是知识,知识通过构件积累,知识需要收集,知识需要管理,知识需要重用,介绍普元,公司简介,普元人, 人数:180+, 教育背景,: 10,Ph.D.; 26 M.S.,普元产品,普元EOS:基于J2EE、XML标准的面向构件的应用软件平台,上海普元信息技术有限公司,-应用软件平台,成立,: 2001年4,月 注册,资本,:5000,万,普元创始人,刘亚东,董事长,CEO。美国马里兰大学物理学博士,亚信(AsiaInfo)创始人之一,曾任亚信科技执行副总裁,杰出的企业领导者。,黄柳青,董事,CTO。美国马里兰大学计算机博士,曾任亚信科技(AsiaInfo)副总裁,首席技术长官(CTO),世界一流的计算机科学家。,普元EOS-面向构件的应用软件平台,开,发,环,境,工作流构件库,基础构件库,OLAP构件库,页面,构件,展现流,构件,服务,构件,对象,构件,数据,构件,数据模型,运,行,环,境,开,发,调,试,部,署,管,理,普元EOS应用软件平台,EOS构件平台总体结构,构件,开发,运算,逻辑,数据,逻辑,工作流引擎,EOS构件化平台,Service,业务,逻辑,展现,逻辑,页面,引擎,权限,管理,日志,查看,监控,构件,管理,团队,开发,开发,调试,数据库,业务,流程,其他系统,其他web,服务,资源库,构件库,统一资源访问,数据服务,展现引擎,WEB框架构,EOS管理,业务引擎,项目库,项目库,安装包,开发,人员,项目,管理,测试,人员,应用,组装,应用,组装,业务,管理,权限,管理,开发环境,测试环境,运行和管理环境,构件库管理环境,业务环境,知识,管理,员,业务,测试,人员,系统,管理,员,应用,部署,服务器,构件,运行,系统,监控,系统,管理,构件库管理,EOS用户开发场景,资源层次,构件,部署,构件,组装,构件,开发,构件,引用,EOS构件库-丰富的构件库,运,算,构,件,数据库构件包,基础,业务,构件,业务参数管理,业务日志,通用文件管理,基于模板文件生成,工作协同,基础,应用,框架,菜单管理,工作流管理,分析构件库,组织机构管理,客户管理,权限管理,XML操作构件包,字符串构件包,日期操作构件包,文件上传构件包,信息发送构件包,配置信息构件包,定时器管理构件,其他构件包,构,件,管,理,体,系,页面,构件,HTML Tag库,Logic Tag库,Java Script库,SQL查询构件,DISPLAY列表构件,动态生成表单,TAB式标签库,业务字典库,Chart构件,异常显示构件,树形构件库,菜单构件库,数学计算构件包,事件管理构件包,自定义构件包,组织机构管理,组织机构管理,工作协同,业务字典,业务字典,构件集成开发环境,菜单区,工程资源视图,缩略图,工具栏,编辑区,输出提示区,引用构件视图,EOS Server-控制台,应用配置:,应用管理:,系统监控:,统计信息:,安全控制:,日志查看:,控制台管理:,日志查看:,EOS工作流-总体结构,数据访问服务,工作流定义,工作流客户端,管理与监控,Tag标签库,工作流,Web客户端,应用代理服务,日志服务服务,工作项服务,工作流,构件库,引擎服务层,Studio,管理和监控,工具(Web),工作项处理,异常处理,事件处理,EOS 业务构件调用API,EOS 展现构件调用API,EOS Common API,原子构件调用API,资源管理系统,E,O,S,工,作,流,E,O,S,事件服务,流程同步服务,资源管理服务,时限服务,应用调用,流程调度,活动执行,EOS完整的互联网应用体系结构,EOS框架,业务框架,菜单管理,工作流管理,管理配置,系统监控,开发调试,在线部署,组织,机构,员工,管理,产品,管理,消息,管理,渠道,管理,合同,管理,服务,管理,客户,管理,各种基于互联网的应用系统,构件管理,ERP系统,电子政务,BOSS系统,财务系统,CRM系统,管理系统,完整企业应用,客户基础电信类,客户,项目名称,合作伙伴,河南移动,安徽移动,CRM+渠道管理,神州数码,江苏联通,下一代综合运营支撑系统,亿阳,中国电信北方九省,下一代综合运营支撑系统,浙大网新兰德,湖南网通,下一代综合运营支撑系统,创智,中国电信,客户基础金融类,客户,项目名称,合作伙伴,工商银行,对公贷款管理系统,神州数码,建设银行,CRM,中盈优创,交通银行,综合客户信息和服务平台,亚软,广发证券,客户服务和客户经理管理系统,上海普元,招商证券,客户服务和客户经理管理系统,湖南中智,广发证券,客户基础电子政务类,客户,项目名称,合作伙伴,上海市土地管理局,上海市土地招投标管理系统,上海互联网咨询中心,南京交通局,南京市汽车定位管理系统,江苏天泽,山东工商局,山东省工商管理系统,中关村软件,上海计生委,上海市计生信息管理系统,宝信,宝钢,宝钢ERP一卡通系统,宝信,上海土地招投标系统,成功案例,面向构件开发的优势,提升应用系统成功率,随需应变-业务和流程,可持续发展的稳定框架,开发,维护,部署,成本,时间,开发,维护,部署,开发,维护,部署,开发,维护,部署,开发,维护,部署,开发,维护,部署,开发,维护,部署,开发,维护,部署,知识和财富积累,Oracle,DB2,SQL Server,BEA,Weblogic,IBM,Websphere,Apache,Tomcat,普元EOS,行业应用,应对复杂的技术环境,快速开发、积累知识、更新技术,有利于软件企业通过构件的积累知识,开发效率提高50%以上,应用维护成本节省70%以上,构件复用率80%以上,有利于最终用户系统的长期维护和发展,“不断采用构件技术是未来软件生产力提高的主要来源”。,麦肯锡软件成功的奥秘,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!