开源技术及应用模板课件.pptx

上传人:牧羊曲112 文档编号:3572624 上传时间:2023-03-13 格式:PPTX 页数:45 大小:952KB
返回 下载 相关 举报
开源技术及应用模板课件.pptx_第1页
第1页 / 共45页
开源技术及应用模板课件.pptx_第2页
第2页 / 共45页
开源技术及应用模板课件.pptx_第3页
第3页 / 共45页
开源技术及应用模板课件.pptx_第4页
第4页 / 共45页
开源技术及应用模板课件.pptx_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《开源技术及应用模板课件.pptx》由会员分享,可在线阅读,更多相关《开源技术及应用模板课件.pptx(45页珍藏版)》请在三一办公上搜索。

1、开源技术及应用,Lecture-IV-使用开源软件许光全计算机科学与技术学院,1,感谢你的观赏,2019-8-14,目录,正确使用开源软件语言和平台框架和库服务器软件开发工具桌面应用,2,感谢你的观赏,2019-8-14,开源软件管理体制,开源软件的应用战略哪些系统适宜采用开源软件:很多企业用户在非关键业务系统使用开源软件,但也有很多用在核心业务系统的哪些开源软件是允许引入:许可证类型界定可以与开源社区进行哪些方式的协作。引入流程参考商业软件引入根据开源软件的特点进行改造,特别是评估和批准步骤:加强对法律风险、软件成熟度和服务的考察,以便确定“使用该软件是否违法”“质量如何”“出了问题怎么办”

2、单纯使用开源软件的风险小,但要在自己产品中包含一个开源软件则必须谨慎,3,感谢你的观赏,2019-8-14,开源软件管理体制,日常管理最佳实践:建立一个中心目录,为每个已批准的开源软件建立档案,描述其重要信息:网站,下载地址,被批准的用途,当前部署情况,支持服务信息,内部联系人等,最好能够提供内部下载,保证版本的纯正。配套系统组织架构审计机制员工培训:开源并非“为所欲为”很多开源企业用户缺失管理体制:整理现状并对使用的开源软件重新评估和批准。,4,感谢你的观赏,2019-8-14,开源软件之法律风险,开源并非“为所欲为”:误导的现状著作权(著作权法):除公共领域外,著作权所有者通过软件许可证将

3、部分权利授权给用户,同时给出用户约束;著作权来源复杂,风险高;移花接木,好心办坏事。如2003年SCO公司对IBM的诉讼案。许可证(合同法):权利和义务并存。OSI认证的有70多种许可证。案例很多:2002 MySQL控告Nusphere,2008 FSF诉讼Cisco。专利(专利法):部分开源许可证对包含的软件专利使用权未做出明示。即使遵守许可证,也有可能会被专利持有人起诉:2007.5声称Linux等侵犯了其235专利。,5,感谢你的观赏,2019-8-14,问题解析,验证著作权,正本清源调查专利,借力打力解读许可证,明察秋毫。OSI网站列出了9种常用的开源许可证,分别是:GNU通用公共许

4、可证,GPLGNU宽通用公共许可证,LGPLMozilla公共许可证,MPL通用开发和发布许可证,CDDLEclipse公共许可证,EPL新版BSD许可证,MIT许可证Apache许可证,6,感谢你的观赏,2019-8-14,7,感谢你的观赏,2019-8-14,版本号:与专有软件一样此外,还有:优秀的领导者:通过开源软件主页等获悉多样化的开发者社区:雇用背景,技术领域,地域庞大的优质用户群健康的项目“脉动”:积极的邮件,论坛讨论,及时的缺陷修补,持续的代码更新,活跃的版本发布健全的安全补丁机制较完善的文档,开源软件成熟度,8,感谢你的观赏,2019-8-14,开源软件服务,残酷的事实:绝大部

5、分开源许可证免责条款!并不是每个开源软件都有支持服务可买主流的开源软件都有第三方服务,如:Linux:RedHat、Novell等MySQL:Sun全方位支持:OpenLogic及SourceLabs第三方有偿服务:越来越多的SP提供多样化的服务,9,感谢你的观赏,2019-8-14,寻找合适的开源软件,1983,20多年洗礼,星星之火发展到燎原之势!几乎每一款商业软件都可以找到开源的替代品寻找途径利器:谷歌、百度等搜索引擎专业网站:开源替代推荐:OSALT 搜索商业软件的同时,匹配开源软件托管网站:SourceForge、Google Projects、Codehaus、GitHub等项目汇

6、总:Freshmeat,open-,10,感谢你的观赏,2019-8-14,语言和平台-Harmony,Harmony:Java JDKApache 2005年5月,目标是开发一个独立并且与现有 JDK 兼容的 Java SE 5 实现。模块化架构,允许自由定制和替换特定的模块;实现:独立的两个接口层定义的运行时模块:虚拟机和类库。非官方JRT:Sun公司不肯授予Apache基金会一个可接受的TCK使用权,无法通过Java标准版TCK测试。使用指南许可证:对商业公司和开源社区都比较友好,可将Harmony和Java应用程序打包发布。邮件列表:4个,dev,commits,alerts,priv

7、ateharmony.apache.org缺陷报告和功能需求管理:JIRA。,11,感谢你的观赏,2019-8-14,Android:2005.7 google收购了AndroidLinux内核底层,并搭建了一个类Java JRT环境。目的和优势:打破垄断,手持设备业界、开发人员到最终用户都受益?架构,语言和平台-Android,12,感谢你的观赏,2019-8-14,语言和平台-Android,内核:Linux内核,解决手机平台硬件差异运行时:Davik-ART(二者区别)+核心类库应同程序框架:为应用程序提供基础服务,包括用户界面、资源管理器、消息通知机制等应用程序:常用程序都是googl

8、e的产品,java编写使用指南许可证:Linux内核 GPL+Apache许可证。讨论组:6个,初学者、开发细节、移植、发展、安全、漏洞发现和修复。http:/,13,感谢你的观赏,2019-8-14,14,感谢你的观赏,2019-8-14,语言和平台-Python,特点:面向对象的动态编程语言跨平台性:几乎所有平台都有移植版本可扩展性:核心精简,提供丰富的标准函数库混合型语言:不需要编译,解释器实时解析运行。编译型和解释型语言?语法严谨:强类型动态类型:运行期间才确定数据类型,提高了编程效率语句块通过缩进来定义的。清晰美观,可读性强。与Perl比较:Perl多种方法完成一件事,Python只

9、有一种方法。,15,感谢你的观赏,2019-8-14,16,感谢你的观赏,2019-8-14,语言和平台-Python,使用指南许可证:Python许可证,GPL兼容,允许修改Python的源代码以非开源的方式再发布维护:Python基金会监管,众多活跃社区背景介绍1989年荷兰人Guido van Rossum为了打发圣诞节长假。用Python编写代码就像英语一样容易理解,且开发周期短。,17,感谢你的观赏,2019-8-14,语言和平台-Ruby,功能特点:“以人为本”,让开发成为程序员的乐趣,“执行效率”-“简单”完全面向对象:Java中原生类型的数据不是对象。有弹性的动态语言:修改定义

10、过的类,定义实例特有方法(单例方法)。支持元数据编程-加入或修改标准库的方法。Ruby on Rails:站在巨人的肩膀上,18,感谢你的观赏,2019-8-14,语言和平台-Ruby,使用指南许可证:GPL+Ruby许可证,GPL兼容的自由软件邮件列表:4个,Ruby-Talk,Core,Doc,CVS背景:日本人松本行弘(Yukihiro)1995.12发明的目的:和Perl一样强大、比Python更面向对象的脚本语言2000年,Ruby传入美国,影响力由亚洲扩散到全世界。,19,感谢你的观赏,2019-8-14,语言和平台-PHP,功能特点用途:动态网页设计跨平台:运行在常见系统上,支持

11、各种类型的数据库丰富的第三方库:支持加密、多媒体、界面、数学计算等各种扩展执行效率:PHP4后一直到了Zend Engine,效率大大提高使用指南许可证:PHP许可证,但和GPL不兼容Sites页面:Linux,Apache Web服务器,MySQL,PHP2008.3,30%以上web服务器使用了PHP,20,感谢你的观赏,2019-8-14,语言和平台-Perl,功能特点:弱类型的解释型动态语言擅长处理文本数据:原因?能调用C/C+编译的应用,有丰富的扩展跨平台:运行在常见和不常见系统上,支持各种类型的数据库系统管理:弥补了shellawksed的不足。使用指南许可证:Artistic许可

12、证+GPL综合Perl存档网络CPAN:几乎所有相关资料活跃社区:Perl.org,use perl,perlchina等邮件列表:Lists.perl.org背景:1987年,拉里.沃尔,Pearl入门教程:拉里沃尔的骆驼书Perl编程,21,感谢你的观赏,2019-8-14,语言和平台-Flex,功能特点:Adobe 开发的web富客户端良好的用户体验:出色的用户界面提供功能强大方便易用的组件库:在Flash基础上做了一层封装,生成Flash文件跨平台:运行在绝大多数浏览器强大的可定制性:所有控制都是可定制的,重用和修改原有控件优秀的整合支持:与JavaPHP.NETRubyColdFus

13、ion等实现整合支持全球化:默认使用行业标准Unicode,多语言支持,自动选择用户界面语言和显示风格使用指南许可证:Mozilla公共许可证 MPL活跃社区和邮件列表等:Flex.org,商业支持:,22,感谢你的观赏,2019-8-14,框架和库,开发模式的转变原因:软件开发规模不断扩大,构件思想的引领转变:白手起家-模式、设计和代码的复用如何选择合适自己的库和框架 琳琅满目:各种编程语言、编程领域,开源社区:通信层的网络协议实现、中间层的企业信息总线、存储层的对象-关系映射、前台的AJAX,23,感谢你的观赏,2019-8-14,Spring,功能特点:2004.3,Rod Johnso

14、n,Spring 1.0Java企业级平台,比JavaBean更轻量级子框架设计:子框架着重解决特定领域的问题,可独立和配合使用核心是称为反向控制的对象容器:提供统一方法管理和配置Java对象,管理对象生命周期。使用指南 许可证:Apache许可证获取Spring代码:,24,感谢你的观赏,2019-8-14,Struts,功能特点:Craig McClanahan 2000.5捐赠给Apache基金会纯Java的web应用框架对Java Servlet编程接口扩展:引入MVC设计模式,构造以此为基础的开发框架,辅以标签库等前端技术规范使用MVC:即使开发人员不了解MVC分离的概念版本选择St

15、ruts 1:最广泛使用的Java Web框架,成熟可靠,有完善的文档和广大的用户群Strut 2:引入插件机制,编程接口与struts 1不兼容,25,感谢你的观赏,2019-8-14,Struts,使用指南 许可证:Apache许可证初学者:基础技术和概念struts.apache.org/primer.html详细用户手册:struts.apache.org/1.x/userGuide/index.htmlFAQ、HOWTO文档:struts.apache.org/1.x/faqs/index.htmlStruts 2:wiki形式,也有不错的教程struts.apache.org/2.

16、x/docs/tutorials.html邮件列表、用户群体缺陷报告:JIRA,securitystruts.apache.org,26,感谢你的观赏,2019-8-14,Jboss Seam,功能特点:RedHat的Jboss社区领导开发,Gavin King,他同时也是Hibernate(流行的对象-关系映射框架)的主要创始人,因此与Hibernate有良好的集成。Java语言的web应用开发平台集成了众多流程技术:异步JavaScript和XML(AJAX)、Java Server Faces(JSF)、Java Persistence(JPA)、EJB、业务流程管理BPM等最精简的整体

17、架构和编程接口所见即所得(WYSIWYG)开发环境:以Eclipse为基础的Jboss开发工具,命令行代码生成工具,帮助用户最快开发系统原型。,27,感谢你的观赏,2019-8-14,Jboss Seam,使用指南:许可证:LGPL,有完善的文档和活跃社区学习:下载样例程序、运行,然后学习其代码问题讨论和报告:用户论坛讨论,大部分问题都是用户配置问题,而非Seam本身的缺陷。如果是,可以报告给社区,先搜索Seam的缺陷追踪系统。避免重复报告。社区活动:包括功能介绍、案例演示等,不少在中国商业支持:RedHat,28,感谢你的观赏,2019-8-14,Equinox,功能特点:Equinox是E

18、clipse旗下的一个开源项目插件平台:在通用架构上组装模块方式搭建应用Eclipse 3.0后,取代了原本的插件技术,成为Eclipse新的运行平台降低复杂度、提高重用性:模块化开发,每个模块由清晰定义的开放接口,同时隐藏内部实现-强制封装保证了模块间的松散耦合,易维护、不易出错动态更新:允许在运行时动态更新模块,启动和停止。这对于传统的Java程序来说近乎不可能,但却是存在这样的需求简单易用:核心API非常精简,只有一个包,不到30个类和接口;开发模块无须继承或者实现任何类和接口。,29,感谢你的观赏,2019-8-14,Equinox,使用指南:许可证:Eclipse公共许可证底层架构:

19、可用于任何Java系统的底层架构文档支持:www.eclipse.org/equinox/documents快速入门:发布形态JAR,方便地下载并运行最简单的程序www.eclipse.org/equinox/documents/quickstart.php常用资源:www.eclipse.org/equinox/resouces.php 邮件列表缺陷管理:Bugzilla系统,30,感谢你的观赏,2019-8-14,Hibernate,功能特点:Hibernate是对象-关系映射框架(Object Relational Mapping,简称ORM)在Java上的典型代表之一关系映射:Java

20、Bean与数据库之间、Java数据类型与SQL数据类型之间建立和维护映射关系有何作用?HQL语言:帮助生成查询语句,将程序员从SQL解放以及数据库的可移植性使用指南:许可证:LGPL缺陷跟踪系统:社区报告问题,也可向社区贡献代码商业服务:RedHat,24小时全天候,2小时内解决服务,31,感谢你的观赏,2019-8-14,Hibernate,背景介绍:Hibernate 2.1 获得2005年Jolt奖。版本:最初只支持Java语言,后来.NET发明人:Gavin King领导的一个全球化的开发团队,后来JBoss雇佣了主要的开发人员,继续维护和支持Hibernate,32,感谢你的观赏,2

21、019-8-14,iBATIS,功能特点:2001 Clinton Begin创始多语言的存储层框架,支持Java、.Net和Ruby,致力于高效地访问关系数据库是一个数据映射框架,简单易用,除了对象、XML和SQL外不需要学习其他独立的数据访问层:提供Data Access Objects(DAO)抽象层,帮助应用封装存储层代码,并为应用的其他模块提供一个统一的调用接口包含Ibator:专用的代码生成器,从关系数据库反射表设计,然后自动生成整套iBATIS代码和配置文件,实现表的增、删、改、查等操作。,33,感谢你的观赏,2019-8-14,iBATIS,使用指南:许可证:Apache简单易

22、用,有完善的文档:Java:cvs.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-SqlMaps-2-Tutorial_en.pdf.NET:O,34,感谢你的观赏,2019-8-14,Lucene,功能特点:创始人 Dough CuttingApache基金会的一个专注信息搜索的开源项目群,包含一系列子项目,其中Lucene Java是最早也是最著名的一个。Lucene Java:纯Java语言的信息搜索引擎,适用于所有需要全文检索的应用场合高效可延展的建立索引:每分钟处理20MB数据以上,低内存消耗(1MB),与批量索引建立一样高速的增量索引

23、,索引大小为原文的20%-30%强大、准确且高速的查询:匹配度优先返回,各种查询方式(短语匹配、通配符、近似匹配、区间查询等),允许并发的更新和查询有其他语言的移植版本,35,感谢你的观赏,2019-8-14,Lucene,使用指南:许可证:Apache简单易用:二进制形式只有一个JAR,加入到类路径就可使用快速入门:发行版自带WIKI网站:邮件列表,缺陷追踪系统JIRA,36,感谢你的观赏,2019-8-14,Webkit,功能特点:管理者 Macos ForgeWebkit是一个网页渲染引擎?,用于浏览器及富客户端应用很多重量级的应用:safari跟chrome(后来opera跟进),以及

24、Adobe公司的富客户端运行平台AIR等都是基于Webkit跨平台性:起初只能用于linux平台,后来苹果公司apple对其源代码进行了扩展改造,使其能运行于mac跟windows 平台,后起之秀chrome对其有进行了一些列扩充与推广,使其越来越成为标准流行的渲染网页引擎出色的用户体验使用指南许可证:LGPL+BSDWiki网站:提供具体信息,丰富的邮件列表IRC聊天室:Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天。,37,感谢你的观赏,2019-8-14,服务器软件,Web应用流行化趋势:web应用越来越流行,需要部署在web服务器上服务器软件丰富和多样化

25、:从只支持静态页面的Http Server,到JSP/Servlet容器Tomcat;从嵌入式Jetty到功能完备的J2EE容器Jboss和Geronimo,开源web服务器满足各种需求。除web服务器外,还有数据库服务器。,38,感谢你的观赏,2019-8-14,Apache HTTP服务器(AHS),功能特点:管理者 Apache基金会开源HTTP服务器最著名的一个,是Apache的开山之作跨平台流行:绝大多数OS都可以运行成熟稳定,安全性高模块化架构:许多特性,大部分通过各个子模块实现,39,感谢你的观赏,2019-8-14,Apache HTTP服务器(AHS),使用指南许可证:Apa

26、che活跃社区邮件列表:用户邮件列表和开发类邮件列表Users-subscribehttpd.apache.orgDev-subscribehttpd.apache.org背景介绍开发者:美国国家超级电脑应用中心的Robert McCool,可说没有AHS,就没有Apache基金会市场份额:1996.4以来,一直是最流行的HTTP服务器,2005.11 70%,后来很多主机域名商转到微软的IIS,但仍是老大,40,感谢你的观赏,2019-8-14,Tomcat,功能特点:管理者 Apache基金会易用、功能强大的web应用服务器运行时占用资源少,适合中小型应用只是一个web容器,不支持所有的J

27、ava企业版规范,如EJB可为Servlet/JSP提供动态页面支持,也支持静态HTML登陆方案可通过Tomcat动态替换:可用JNDI Realm配置并利用LDAP进行用户验证支持HTTP和HTTPS协议支持服务器集群和负载均衡,提高web应用的可靠性和可伸缩性使用指南许可证:Apache邮件列表:用户和开发者两个发明者:1999,sun的James Duncan Davidson,41,感谢你的观赏,2019-8-14,JBoss,功能特点:创始人 Marc Fleury最早的开源Java企业版服务器实现了Java企业版所有功能Web容器采用Tomcat或JettyPortal技术的支持:

28、Jboss Portal,包括界面、内容管理与发布、个人喜好设置使用指南许可证:LGPL邮件列表:Jboss包含很多项目,每个项目都有自己的邮件列表,包括Jboss开发列表。商业服务:Jboss公司2003年推出了专业级的产品支持服务,42,感谢你的观赏,2019-8-14,MySQL,功能特点:创始人 Michael Widenius,David Axmark目前最流行的开源关系型数据库管理系统体积小、速度快,易于使用跨平台支持为几乎所有主流编程语言提供API良好的伸缩性良好的工具支持:命令行工具mysqlmysqladmin以及图形化工具MySQL Administraor和MySQL Query Browser,还有第三方工具使用指南许可证:GPL邮件列表:针对不同语言和操作系统提供不同的邮件列表商业服务:Sun公司推出了专业级的产品支持服务,43,感谢你的观赏,2019-8-14,44,感谢你的观赏,2019-8-14,45,感谢你的观赏,2019-8-14,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号