软件开发平台与工具.ppt
《软件开发平台与工具.ppt》由会员分享,可在线阅读,更多相关《软件开发平台与工具.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、04十二月十二月2022第三章:软件开发平台与工具第三章:软件开发平台与工具软软件开件开发发技技术术 SAILOR2006copyright/204十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院补充补充大数据现在是业内炙手可热的话题,随着技术的发展,大数据存储技大数据现在是业内炙手可热的话题,随着技术的发展,大数据存储技术已经不在是难点,但是对大数据如何做好存储后的下一步处理将是术已经不在是难点,但是对大数据如何做好存储后的下一步处理将是未来竞争的焦点,目前比较受欢迎的未来竞争的焦点,目前比较受欢迎的Storm,Spark,Hadoop三个大数三个大数据处理工具都是据处理工
2、具都是JVM上的语言写成的。上的语言写成的。Spark由由Scala写成,是写成,是UCBerkeleyAMPlab所开源的类所开源的类HadoopMapReduce的通用的并行计算框架,的通用的并行计算框架,Spark基于基于mapreduce算法实算法实现的分布式计算,拥有现的分布式计算,拥有HadoopMapReduce所具有的优点。所具有的优点。Storm由由java和和clojure写成,写成,storm的优点是全内存计算,因为内存的优点是全内存计算,因为内存寻址速度是硬盘的百万倍以上,所以寻址速度是硬盘的百万倍以上,所以storm的速度相比较的速度相比较hadoop非常非常快。快。
3、hadoop是实现了是实现了mapreduce的思想,将数据切片计算来处理大量的的思想,将数据切片计算来处理大量的离线数据数据。离线数据数据。hadoop处理的数据必须是已经存放在处理的数据必须是已经存放在hdfs上或者类上或者类似似hbase的数据库中,所以的数据库中,所以hadoop实现的时候是通过移动计算到这些实现的时候是通过移动计算到这些存放数据的机器上来提高效率。存放数据的机器上来提高效率。SAILOR2006copyright/304十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院SparkSpark是发源于美国加州大学伯克利分校是发源于美国加州大学伯克利分校AM
4、PLab的集群计算平台。它立足于内存计算,从多迭代的集群计算平台。它立足于内存计算,从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计算范式,是罕见的全能选手。计算等多种计算范式,是罕见的全能选手。Spark已正式申请加入已正式申请加入Apache孵化器,从灵机一孵化器,从灵机一闪的实验室闪的实验室“电火花电火花”成长为大数据技术平台中成长为大数据技术平台中异军突起的新锐。本文主要讲述异军突起的新锐。本文主要讲述Spark的设计思想。的设计思想。Spark如其名,展现了大数据不常见的如其名,展现了大数据不常见的“电光石火电光石火”。具体特点
5、概括为。具体特点概括为“轻、快、灵和巧轻、快、灵和巧”。SAILOR2006copyright/404十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院SparkSpark首先是一种粗粒度数据并行(首先是一种粗粒度数据并行(dataparallel)的计算范式。数据并行的范式决定了)的计算范式。数据并行的范式决定了Spark无法完美支持细粒度、异步更新的操作。无法完美支持细粒度、异步更新的操作。Spark的计算抽象是数据流,而且是带有工作集的计算抽象是数据流,而且是带有工作集(workingset)的数据流。)的数据流。Spark的突破在于,在保证容错的前提下,用内存的突破在于
6、,在保证容错的前提下,用内存来承载工作集。来承载工作集。SAILOR2006copyright/504十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院SparkSpark是是UCBerkeleyAMPlab所开源的类所开源的类HadoopMapReduce的通用的并行计算框架的通用的并行计算框架.Spark基于基于mapreduce算法实现的分布式计算,算法实现的分布式计算,拥有拥有HadoopMapReduce所具有的优点;但不同所具有的优点;但不同于于MapReduce的是的是Job中间输出结果可以保存在中间输出结果可以保存在内存中,从而不再需要读写内存中,从而不再需要读
7、写HDFS,因此,因此Spark能能更好地适用于数据挖掘与机器学习等需要迭代的更好地适用于数据挖掘与机器学习等需要迭代的mapreduce的算法。的算法。SAILOR2006copyright/604十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院SparkShark基本上就是在基本上就是在Spark的框架基础上提供和的框架基础上提供和Hive一样的一样的HiveQL命令接口,为了最大程度的保命令接口,为了最大程度的保持和持和Hive的兼容性,的兼容性,Shark使用了使用了Hive的的API来实来实现现queryParsing和和LogicPlangeneration,最,
8、最后的后的PhysicalPlanexecution阶段用阶段用Spark代替代替HadoopMapReduce。通过配置。通过配置Shark参数,参数,Shark可以自动在内存中缓存特定的可以自动在内存中缓存特定的RDD,实现,实现数据重用,进而加快特定数据集的检索。同时,数据重用,进而加快特定数据集的检索。同时,Shark通过通过UDF用户自定义函数实现特定的数据用户自定义函数实现特定的数据分析学习算法,使得分析学习算法,使得SQL数据查询和运算分析能数据查询和运算分析能结合在一起,最大化结合在一起,最大化RDD的重复使用。的重复使用。SAILOR2006copyright/704十二月十
9、二月2022 电子科技大学电子科技大学计算机学院计算机学院目目录录软软件开件开件开件开发发工具工具工具工具软软件开件开件开件开发发平台平台平台平台数据数据数据数据库库库库平台平台平台平台网络应用开发平台网络应用开发平台(.Net,Java,J2EE等等)嵌入式开发平台嵌入式开发平台(Linux,Tornado,mobileWin)Oracle、Sybase、SQLServer、DB2、mySQL分布式数据库系统分布式数据库系统开发源代码软件开发源代码软件基础开发工具基础开发工具测试环境与工具测试环境与工具SAILOR2006copyright/804十二月十二月2022 电子科技大学电子科技大
10、学计算机学院计算机学院软件开发平台软件开发平台网络应用开发平台网络应用开发平台.NetJavaJ2EE嵌入式开发平台嵌入式开发平台嵌入式操作系统嵌入式操作系统嵌入式开发环境嵌入式开发环境嵌入式开发平台嵌入式开发平台SAILOR2006copyright/904十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院.Net根据微软的定义:根据微软的定义:.NETisarevolutionarynewplatform,builtonopenInternetprotocolsandstandards,withtoolsandservicesthatmeldcomputingandcomm
11、unicationsinnewways.即:即:.NET=新平台新平台+标准协议标准协议+统一开统一开发工具发工具SAILOR2006copyright/1004十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院.Net.Net作为新一代互联软件和服务战略,将使微软现有的软作为新一代互联软件和服务战略,将使微软现有的软件在网络时代不仅适用于传统的个人计算机,而且能够满件在网络时代不仅适用于传统的个人计算机,而且能够满足呈现强劲增长的新设备的需要。到底什么是足呈现强劲增长的新设备的需要。到底什么是.Net呢?微呢?微软总裁兼首席执行官软总裁兼首席执行官SteveBaller把它定
12、义为:把它定义为:.Net代表代表一个集体,一个环境,一个可以作为平台支持下一代一个集体,一个环境,一个可以作为平台支持下一代Internet的可编程结构。的可编程结构。.Net的目的是想将任何语言都统一到的目的是想将任何语言都统一到.Net平台上。最终目平台上。最终目的是让用户在任何地方、任何时间,以及利用任何设备都的是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收就可以件放在什么地方,只需要发出请求,然后只管接收就可以了。所有后台的复杂性是完全屏蔽
13、起来的。了。所有后台的复杂性是完全屏蔽起来的。.NET是是MicrosoftXMLWebservices平台。平台。XMLWebservices允许允许应用程序应用程序通过通过Internet进行通讯和共享数进行通讯和共享数据,而不管所采用的是哪种据,而不管所采用的是哪种操作系统、设备或编程语言操作系统、设备或编程语言。SAILOR2006copyright/1104十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院.Net对于一个将要面向对于一个将要面向.NET平台进行开发的人来说平台进行开发的人来说,了解一下了解一下.NET平台的整个构成是非常有必要的平台的整个构成是非常有
14、必要的,如图如图1所示即说明了所示即说明了.NET平台的整体结构平台的整体结构:这个图就是著名的这个图就是著名的.NET平台结构图平台结构图,从这个图上可以看到从这个图上可以看到.NETFramework是在是在Microsoft.NET平台上开发的基础平台上开发的基础ASP.NET、WindowsForms和和VS.NET都不过是都不过是.NET平平台开发的一部分,他用于台开发的一部分,他用于.NET应用程序的开发及展示。应用程序的开发及展示。SAILOR2006copyright/1204十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院.NetWindows2000Ser
15、ver在在.Net结构中,最重要要的革新就结构中,最重要要的革新就属于属于WebServices。WebServer构架在构架在WebServer上上,能够通过能够通过SOAP与用户端联系,并帮助用户端完成其提供与用户端联系,并帮助用户端完成其提供的服务。在的服务。在.NetFramework中,中,WebServer就是架构在就是架构在Windows2000Server中的中的ISS5.0上的。上的。SQLServer2000,SQLServer提供完善数据处理功能提供完善数据处理功能.包含数据挖掘,包含数据挖掘,XML的直接的直接Internet支持。目前在支持。目前在WindowsCE中
16、推出了中推出了SQLServer2000WindowsCEEdition.MicrosoftWindowsServerSystem包括:包括:MicrosoftApplicationCenter2000-配置和管理配置和管理Web应用程序。应用程序。MicrosoftBizTalkServer2002-建立基于建立基于XML的跨应用的跨应用和组织的商业逻辑和组织的商业逻辑SAILOR2006copyright/1304十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院.NetCommerceServer2000能够迅速建立大规模电子商务的解决方案能够迅速建立大规模电子商务的解决
17、方案MicrosoftContentManagementServer2002管理动态电子商务网站的目管理动态电子商务网站的目录录MicrosoftExchangeServer2000用于进行随时随地的通讯协作用于进行随时随地的通讯协作MicrosoftHostIntegrationServer2000用于和主机系统之间传输数据用于和主机系统之间传输数据MicrosoftInternetSecurityandAccelerationServer2000(ISAServer)internet连接连接MicrosoftMobileInformationServer2002用于支持手持设备用于支持手持
18、设备MicrosoftOperationsManager2000描述企业级解决方案的操作管理描述企业级解决方案的操作管理MicrosoftProjectServer2002-提供项目管理的最佳方案提供项目管理的最佳方案MicrosoftSharePointPortalServer2001查询、共享、发布商业信息查询、共享、发布商业信息MicrosoftSQLServer2000企业级数据库企业级数据库MicrosoftVisualStudio.NET和和Microsoft.NETFramework对于建立,发对于建立,发布并运行布并运行WebServices是一个完美的解决方案。是一个完美的解
19、决方案。微软官方的教程。微软官方的教程。SAILOR2006copyright/1404十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院JavaJava是一种可以撰写跨是一种可以撰写跨平台应用软件平台应用软件的面向对象的的面向对象的程序设计语言程序设计语言,由由SUN公司的詹姆斯公司的詹姆斯高斯林高斯林(JamesGosling)等人于)等人于1995年年5月推出的月推出的Java程程序设计语言和序设计语言和Java平台(即平台(即JavaEE,JavaME,JavaSE)的总称。)的总称。Java自面世后就非常流行,发展迅速,对自面世后就非常流行,发展迅速,对C+语言形语言
20、形成了有力冲击。成了有力冲击。Java技术具有卓越的通用性、高效技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于性、平台移植性和安全性,广泛应用于个人个人PC、数据数据中心中心、游戏控制台、科学超级计算机、移动电话和互、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球联网,同时拥有全球最大的开发者专业社群。在全球云计算云计算和和移动互联网移动互联网的产业环境下,的产业环境下,Java更具备了显更具备了显著优势和广阔前景。著优势和广阔前景。SAILOR2006copyright/1504十二月十二月2022 电子科技大学电子科技大学计算机学院计算
21、机学院JavaJava分为三个体系分为三个体系:JavaSE(JavaPlatformStandardEdition,java平台标准版平台标准版)。)。JavaSE以前称为以前称为J2SE。它允许开发和部署在桌。它允许开发和部署在桌面、服务器、嵌入式环境和实面、服务器、嵌入式环境和实时环境中使用的时环境中使用的Java应用程序。应用程序。JavaSE包含了支持包含了支持JavaWeb服务开服务开发的类,并为发的类,并为JavaPlatform,EnterpriseEdition(JavaEE)提供基础。)提供基础。JavaEE(JavaPlatformEnterpriseEdition,ja
22、va平台企业版平台企业版)。这个)。这个版本以前称为版本以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端全的服务器端Java应用程序。应用程序。JavaEE是在是在JavaSE的基础上构建的,的基础上构建的,它提供它提供Web服务、服务、组件模型组件模型、管理和通信、管理和通信API,可以用来实现企业级的面,可以用来实现企业级的面向服务向服务体系结构体系结构(SOA)和)和Web2.0应用程序。应用程序。JavaME(JavaPlatformMicroEdition,java平台微型版平台微型版)。)。JavaME为在
23、移动设备和嵌入式设备(比如手机、为在移动设备和嵌入式设备(比如手机、PDA、电视、电视机顶盒机顶盒和打印机)上和打印机)上运行的应用程序提供一个健壮且灵活的环境。运行的应用程序提供一个健壮且灵活的环境。JavaME包括灵活的用户界包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以面、健壮的安全模型、许多内置的网络协议以及对可以动态动态下载的连网和下载的连网和离线应用程序的丰富支持。基于离线应用程序的丰富支持。基于JavaME规范的应用程序只需编写一次,规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。就可以用于许多设备,而且可以利用每个设备的本机功能
24、。SAILOR2006copyright/1604十二月十二月2022 电子科技大学电子科技大学计算机学院计算机学院Java(1)Java语言特性语言特性面向对象、平台无关性、自动垃圾回收。面向对象、平台无关性、自动垃圾回收。(2)Java运行环境运行环境Java运行时环境,即运行时环境,即JavaRuntimeEnvironment,简称,简称JRE,是在任何平台上运行,是在任何平台上运行Java编写的程序都需要用到的软件。编写的程序都需要用到的软件。JRE的成分的成分:Java类库、综合库文件、用户界面库文件、一个类库、综合库文件、用户界面库文件、一个用于执行软件的用于执行软件的Java虚
25、拟机、插件,可以在浏览器里面使用、虚拟机、插件,可以在浏览器里面使用、JWS,可以让,可以让终终端用户连接到互联网、许可文件和文档。端用户连接到互联网、许可文件和文档。(3)集成集成开发环境开发环境IDEBEAWorkshop、IntelliJIDEA、Jbuilder、Jcreator、SUNJavaStudioEnterprise、WebSphereDevelop&DevelopmentStudio商业商业软件软件,BlueJ、免费、免费软件,软件,Eclipse、NetBeans免费开源软件免费开源软件SAILOR2006copyright/1704十二月十二月2022 电子科技大学电子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 平台 工具
限制150内