面向构件化软件开发ppt课件_第1页
面向构件化软件开发ppt课件_第2页
面向构件化软件开发ppt课件_第3页
面向构件化软件开发ppt课件_第4页
面向构件化软件开发ppt课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,1,面向构件的体系-软件产业化-,黄柳青博士,.,2,面向构件是产业成熟的标志,.,3,裁缝、木匠、号码、组合家具,裁缝是量身订制的艺术家号码是人体身材的标准化木匠是因才施用的艺术家组合家具是需求的产业化,.,4,科学、技术、工程,科学:NP-Complete问题技术:1997年深蓝计算机战胜卡斯帕罗夫工程互联网时代,.,5,高科技为什么低回报,软件产品化成为神话技术变化太快需求变化太快覆盖的面太宽,.,6,软件工程的银弹,单机,客户/服务器,互联网,单一事务,部门,全企业,.,7,面向构件的产业化价值,.,8,降低生产成本,.,9,适应需求变化,.,10,快速推出稳定新产品,.,11,降低提交安装维护成本,.,12,面向构件的应用软件体系,.,13,中国电信二期-综合客服,.,14,CORBA,Tuxedo,J2EE,面向构件的应用软件平台,EAI,.,15,软件和知识表达,0101机器语言,0101机器语言,0101机器语言,0101机器语言,GOTO23汇编语言,GOTO23汇编语言,GOTO23汇编语言,While高级语言,While高级语言,面向构件,.,16,面向构件是下一代的中间件,.,17,美国应用软件的沿革路径,.,18,中国应用软件的沿革路径,.,19,中间件体系,基础中间件平台,面向领域的专用平台,面向构件的中间件平台,面向构件的业务模块,操作系统及数据库,应用系统,.,20,中间件平台,Portal,BPML/Workflow,J2EE.NetCorbaMSQ,DataDI,JavaC#,内容,流程定义,规则,权限,报表,.,21,面向构件的中间件的特征,页面,展现,服务,对象,数据,COM+,CORBA,J2EE,EAI,SOA,COA,业务,Portal,.,22,publicfinalclassOrderHTMLActionextendsHTMLActionSupportpublicEventperform(HttpServletRequestrequest)throwsHTMLActionException/Extractattributeswewillneed/XXXXthisneedstobepartoftheformContactInfoshipper=extractContactInfo(request,_a);ContactInforeceiver=extractContactInfo(request,_b);CreditCardcreditCard=newCreditCard(1234-2334,DukeExpress,10/2001);returnnewOrderEvent(shipper,receiver,creditCard);/*parseaddressformandgenerateaContactInfoobject*/privateContactInfoextractContactInfo(HttpServletRequestrequest,Stringsuffix)throwsHTMLActionExceptionArrayListmissingFields=null;StringfamilyName=request.getParameter(family_name+suffix).trim();if(familyName.equals()if(missingFields=null)missingFields=newArrayList();missingFields.add(LastName);StringgivenName=request.getParameter(given_name+suffix).trim();if(givenName.equals()if(missingFields=null)missingFields=newArrayList();missingFields.add(FirstName);Stringaddress1=request.getParameter(address_1+suffix).trim();if(address1.equals()if(missingFields=null)missingFields=newArrayList();missingFields.add(StreetAddress);Stringaddress2=request.getParameter(address_2+suffix).trim();if(address2.equals()address2=null;Stringcity=request.getParameter(city+suffix).trim();if(city.equals()if(missingFields=null)missingFields=newArrayList();missingFields.add(City);StringstateOrProvince=request.getParameter(state_or_province+suffix).trim();if(stateOrProvince.equals()if(missingFields=null)missingFields=newArrayList();missingFields.add(StateorProvince+suffix);StringpostalCode=request.getParameter(postal_code+suffix).trim();if(postalCode.equals()if(missingFields=null)missingFields=newArrayList();missingFields.add(PostalCode);Stringcountry=request.getParameter(country+suffix).trim();Stringtelephone=request.getParameter(telephone_number+suffix).trim();if(telephone.equals()if(missingFields=null)missingFields=newArrayList();missingFields.add(TelephoneNumber);Stringemail=null;if(request.getParameter(email+suffix)!=null)email=request.getParameter(email+suffix).trim();if(missingFields!=null)MissingFormDataExceptionex=newMissingFormDataException(MissingAddressData,missingFields);request.setAttribute(PetstoreKeys.MISSING_FORM_DATA_EXCEPTION_KEY,ex);returnnull;Addressaddress=newAddress(address1,address2,city,stateOrProvince,postalCode,country);returnnewContactInfo(familyName,givenName,address,email,telephone);,publicclassOrderEJBActionextendsEJBActionSupportpublicEventResponseperform(Evente)throwsEventExceptionOrderEventoe=(OrderEvent)e;PurchaseOrderpurchaseOrder=newPurchaseOrder();ContactInfobillTo=oe.getBillTo();ContactInfoshipTo=oe.getShipTo();CreditCardcreditCard=oe.getCreditCard();StringorderIdString=null;/gettheUniqueIdGeneratorEJBUniqueIdGeneratorLocaluidgen=null;tryServiceLocatorsl=newServiceLocator();UniqueIdGeneratorLocalHomehome=(UniqueIdGeneratorLocalHome)sl.getLocalHome(JNDINames.UIDG_EJBHOME);uidgen=home.create();catch(javax.ejb.CreateExceptioncx)cx.printStackTrace();catch(ServiceLocatorExceptionslx)slx.printStackTrace();orderIdString=uidgen.getUniqueId(1001);/gettheruserIdShoppingClientFacadeLocalscf=null;scf=(ShoppingClientFacadeLocal)machine.getAttribute(PetstoreKeys.SHOPPING_CLIENT_FACADE);StringuserId=scf.getUserId();purchaseOrder.setOrderId(orderIdString);purchaseOrder.setUserId(userId);purchaseOrder.setEmailId(billTo.getEmail();purchaseOrder.setOrderDate(newDate();purchaseOrder.setShippingInfo(shipTo);purchaseOrder.setBillingInfo(billTo);purchaseOrder.setCreditCard(creditCard);intlineItemCount=0;floattotalCost=0;/AddtheitemsfromtheshoppingcartShoppingCartLocalcart=scf.getShoppingCart();Localelocale=(Locale)machine.getAttribute(PetstoreKeys.LOCALE);purchaseOrder.setLocale(locale);Collectionitems=cart.getItems();/ifthecartisemptythrowanexceptionsayingsoif(items.size()=0)thrownewShoppingCartEmptyOrderException(Shoppingcartisempty);Iteratorit=items.iterator();while(it.hasNext()CartItemitem=(CartItem)it.next();,.,23,.,24,什么是软件构件?,构件的中心是建筑师构件不能脱离业务范畴存在构件不能对应到技术层的概念构件有多个层次可封装高密度的、高复杂度的业务逻辑可被重复使用可以适应具体化要求可以组合为更大的构件,.,25,构件定义,提供接口,依赖接口,构件名,构件类型,.,26,构件复用,.,27,EOS构件接口依赖关系,自依赖,依赖关系,.,28,传统构件接口方式-接口异常复杂,.,29,数据总线的构件接口方式,数据总线,.,30,面向构件-软件架构师,.,31,构件就是艺术,基础构件的标准化业务构件的艺术性软件建筑师是业务专家和艺术家软件建筑师不是技术工人,.,32,面向构件的软件开发,确定业务范围和框架确定应用环境和技术选择开发平台建立构件化开发体系建立构件库,.,33,面向构件的开发跟踪点,StabilizingApproved,BlueprintApproved,PositionApproved,DetailingApproved,ScreeningApproved,PositioningPlanApproved,PositioningInternalApproved,TeamSetup,ProjectPlanApproved,RequirementDocApproved,FeatureListApproved,BlueprintInternalApproved,CMSetup,ProgrammingDocApproved,ProductReleasePlanApproved,MarketingDocApproved,DetailingDocInternalApproved,ProductReleaseInternalApproved,RMReportApproved,.,34,面向构件-软件工厂,.,35,构件就是软件,应用软件公司创造构件体系软件服务公司用构件搭建系统,.,36,定位核心竞争能力,选择放弃才能有核心能力在领域里不断积累软件财富合作、多赢,.,37,面向构件的软件企业商业模型,构件管理、构件组装平台厂商基础构件厂商构件化业务框架厂商构件化行业应用厂商构件组装服务厂商,.,38,面向构件-信息化企业,.,39,构件就是知识,知识通过构件积累知识需要收集知识需要管理知识需要重用,.,40,介绍普元,.,41,公司简介,普元人,人数:180+教育背景:10Ph.D.;26M.S.,普元产品,普元EOS:基于J2EE、XML标准的面向构件的应用软件平台,上海普元信息技术有限公司-应用软件平台,成立:2001年4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论