已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WebServiceSAAS,Web服务:从服务谈起,产品有限,服务无限“应用基地化(applicationhosting)”软件正变为服务所谓“应用基地化”是指软件厂家在自己的服务器上运行应用程序,经由Internet将其结果提供给用户企业利用。这使得用户将通过租软件而不是买软件来满足自己的需要。以Oracle和Microsoft为首的主要软件厂家,开始真正加入应用基地化等服务事业,各厂家正加强同应用服务提供商(ApplicationServiceProvider,ASP)的合作关系。,ASP在兴起开始对服务下大力气的软件公司,正对经由Internet简单地分发自己软件产品的管理模式进行改造,使得软件公司本身和第三方,可以通过远程操作支持应用。例如,德国SAP公司已开始提供名为“BusinessScenario”的服务,这是一种提供在Web环境下利用的一群软件组件所构成的应用服务。IBM的服务事业部门从事eBusiness应用基地化的负责人认为,企业今后将像使用电话一样,按使用量支付软件使用费,这一时刻的到来便意味着软件业革命的开始。,Webservice的出现背景,Web应用的快速发展企业应用的集成整合要求迫切EAI(EnterpriseApplicationIntegration)B2Bi(B2BIntegration)语言差异、平台差异、协议差异、数据差异带来高代价的系统集成,WebService的概念,提供一个与操作系统无关、与程序设计语言无关、与机器类型无关、与运行环境无关的平台,实现网络上应用的共享AServiceisapieceofsoftwarethatisnottightlycoupledwithClientapplications.ServicesaredynamicallydiscoverableandcomposableentitiesWeb服务的体系结构与Web应用的N层结构类似,区别在于顶层的面向浏览器的WebServer被面向程序的(WebServiceClient)的Web服务所取代。,WebService特点,Web服务是用标准的、规范的XML概念描述一些操作的接口(利用标准化的XML消息传递机制可以通过网络访问这些操作)该接口隐藏了实现服务的细节,允许独立于实现服务所基于的硬件或软件平台和编写服务所用的编程语言使用服务。Web服务履行一项特定的任务或一组任务。Web服务可以单独或同其它Web服务一起用于实现复杂的聚集或商业交易,部署在Web上的对象,从外部使用者的角度来看,WebService是部署在Web上的对象,具备以下特征:完好的封装性(数据和处理)松散耦合使用协约的规范性标准化高度可集成能力,部署在Web上的对象,对象界面描述:WSDL对象访问:SOAP对象界面发现:UDDI对象实现:EJB,COM+,CORBA以及任何可用于对象实现的技术,UDDI,WSDL,SOAP,EJB/COM+/CORBA,XML哈希:w=a=1,:b=2,3w:b0=2W.keys=a,:b,方法,任何值(除了固定数)都是按引用传递deffoo(x,y)returnx.y+1enddeffoo(x,y=0)x,y+1enddeffoo(x,y=0);x,y+1;end调用a,b=foo(x,y)a,b=foo(x),基本程序结构,语句以;结束或新行,但在不引起混淆的情况下可以分行raise(“BOOM!”)unlessship_stableOKraise(“BOOM!”)unlessship_stableWrong基本比较符和布尔值=,!=,=,!,true,false,nil常用控制流语句ifcond(orunlesscond)whilecond(oruntillcond)stamentsstamentselsifcondendstaments1.upto(10)do|i|endelse10.timesdoendstamentscollection.eachdo|elt|endend,字符串和正则表达式,“string”%Qstringstring%qstringa=41;”Theansweris#a+1”.CN=/(.*)(.*).$/I/(.*)(.*).$/i=.CN如果不匹配,值是false如果匹配,值是非false,而且$1.$n捕捉组$1=dongxul$2=“sdu”,都是对象,都是方法,数和nil也是对象3.days.ago50.methodsnil.respond_to?(:to_s)显示的sendstr.lengthstr.send(:length)1+21.send(:+,2)my_array3my_array.send(:,3)my_array3=“foo”my_array.send(:=,3,”foo”)if(x=3)if(x.send(:=,3)my_func(x)self.send(:my_func,3)重要:a.b读作对象a调用方法b,诗歌模式,a.should(be()=7)a.shouldbe=7link_to(:controller=:users,:action=:shows)link_to:controller=:users,:action=:shows,类和继承,结合p76页,attr_accessor:balanceattr_readerattr_writer,元编程和反射,鸭子类型,如果一个事物看起来象鸭子,叫起来也象鸭子,那么它就可以当作一个鸭子类似java的接口比如一个类有each方法,那么它就可以当作集合利用mix-in实现,和java不同,不需要正式的声明,模块,前面用到的聚合类型方法都不是类的一部分使用模块,我们可以把方法混合进类IncludeMyModuleclassA;IncludeMyModule;endA.fooA-MyModule-method_missinginAx.even?;endmyList.select|x|x.even?.map|x|x+2,参考书目,ProgrammingRubyRuby编程语言TheRubyWay/,附录,登录c9.io以github帐号登陆CreateanewworkspaceWorkspacenameandDescription-anythingyoulikeHostedWorkspace(notRemoteSSHworkspace)PrivateorPublic:yourchoiceClonefromGitorMercurial:leaveblankChooseatemplate:selectCustomWorkspace(donotselectRailsorRubyonRailstutorialoranythinglikethat)ThenclickCreate.,在命令窗口中以下命令curl-fsSL|bash-login&rvmuse2.2.2-defaultsetupapublicsshkeypairls-al/.sshssh-keygen-trsa-b4096-C“your_email”(如果不存在)cat/.ssh/id_rsa.pub复制并添加到github帐号Settingsshkeys-addsshkey,gitclonegit:yourusername/hw-ruby-intro.git看readme.mdRvmuse2.2.2可以提交结果到github,版本控制gitadd.gitcommitm“example!”gitpush,Rails,Rails框架首次提出是在2004年7月它的研发者是26岁的丹麦人DavidHeinemeierHansson。不同于已有复杂的Web开发框架,Rails是一个更符合实际需要而且更高效的Web开发框架。,Rails基于MVC(模型-视图-控制器)设计模式。Rails为你提供一个纯Ruby的开发环境Rails支持各类网络服务器和数据库Apache、lighttpd或nginx代理至Mongrel(或者使用FastCGI)。MySQL、PostgreSQL、SQLite、Oracle、SQLServer、DB2、或其他支持的系统Rails可以在各类操作系统上运行,建议采用基于unix的系统进行开发,约定优于配置Rails内部的映射与发现机制不要重复你自己(DontRepeatYourself,或DRY).Rails4.2.5,gitclonegit:yourusername/hw-rails-introReadme.md,#ssh-keygen-trsaherokuloginherokukeys:add(前面只要首次)herokucreate-reporepoNamegitpushherokumaster-reporepoName(注意它是从github提交)herokurunrakedb:migrate-arepoNameherokurunrakedb:seed-arepoNameherokuopen-arepoName,从0开始,Railsnewexamplet修改gemfile加gemhaml在group:development,:testdogembyebuggemsqlite3group:productiondogempg#forHerokudeploymentgemrails_12factorend,bundleinstall-withoutproductionrailss-p$PORT-b$IP打开http出现rails欢迎界面,在/config/routes.rb中加入rootmovies#indexresources:movies删除/public/index.html,Model(MVC),DRYRailsgeneratemigrationcreate_movies在/db/migrate/下会看到2015120111_create_movies.rbclassCreateMoviesAladdin,:rating=G,:release_date=25-Nov-1992,:title=TheTerminator,:rating=R,:release_date=26-Oct-1984,:title=WhenHarryMetSally,:rating=R,:release_date=21-Jul-1989,:title=TheHelp,:rating=PG-13,:release_date=10-Aug-2011,:title=Chocolat,:rating=PG-13,:release_date=5-Jan-2001,:title=Amelie,:rating=R,:release_date=25-Apr-2001,:title=2001:ASpaceOdyssey,:rating=G,:release_date=6-Apr-1968,:title=TheIncredibles,:rating=PG,:release_date=5-Nov-2004,movies.eachdo|movie|Movie.create!(movie)Endrakedb:seed播种一些初始数据以便开发、测试,Model(MVC),在/app/model/moive.rb中不需要什么(在rails4.0以上),Controll(MVC),在/app/controllers/movies_controller.rb中(惯例优先配置),classMoviesControllerApplicationControllerdefindexmovies=Movie.allendend,View(MVC),在/app/views/movies/index.html.haml(rails内置的渲染器是.erb),appviewslayoutsapplication.html.haml删除.erb,app/assets/stylesheets/default.css,Show行为,控制器方法加show添加视图show.html
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教 八年级 语文 下册 第4单元《拓展延伸》课件
- 2026年汽贸贷款买车合同(1篇)
- 2026年欧派橱柜销售合同(1篇)
- 精密构件表面硬化处理项目可行性研究报告
- 宣传栏制作安装合同模板
- 行政法律关系的构成和特点
- 信息技术信息系统在美发培训学校教学课程安排与学员考核管理中的应用课件
- 2025 高中信息技术数据与计算之算法的牛顿插值算法课件
- 2025 高中信息技术数据与计算之数据安全的多方量子加密通信优化课件
- 2026年畜禽疫病科学防控技术指南与实践
- 3.12.2024新苏教版小学科学三年级下册第三单元第12课《石头上的植物》同步课件
- 金华义乌市供销联社下属企业2026年招聘6人笔试模拟试题及答案解析
- 2026届湖北省武汉普通高中高三3月调考数学+答案
- (一模)包头市2026年高三第一次模拟考试地理试卷(含答案)
- 2026年湖南省长沙市高职单招职业技能考试题库带答案详解
- 2026年无锡科技职业学院单招综合素质考试题库有答案详解
- DB54∕T 0601-2026 农作物品种生产示范技术规程 青稞
- XX区实验学校初中部2026年春季学期中期学生社团管理实施方案
- 2026年六安职业技术学院单招职业适应性考试题库及答案详解(夺冠)
- 1.2 幸福生活是奋斗出来的 第1课时 课件+视频-2025-2026学年道德与法治三年级下册统编版
- 一堂好课的标准课件
评论
0/150
提交评论