• Like
Banquet 13
Upcoming SlideShare
Loading in...5
×
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
108
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Koubei F2E 竹笋 2009.12.14
  • 2. 跟踪 报道甲骨文今年早些时候斥资74亿美元收购了Sun。但欧盟委员会目前正在对该交易进行审查。Sun的主要业务是服务器和Java,该公司同时拥有开源数据库软件MySQL。由于存在竞争关系,因此甲骨文收购Sun后会对免费开源软件MySQL的发展不利。甲骨文周一共做出了10项承诺,包括对外公布使用MySQL所需的编程细节,另外,在第三方开发者使用这些细节信息与MySQL进行交互时,甲骨文会放弃相应的版权主张。MySQL创始人迈克尔-维德纽斯(Michael Widenius)发起一项互联网运动,倡议MySQL用户通过电子邮件向欧盟表达对该交易的观点:终止甲骨文收购Sun的交易或要求甲骨文修改有关MySQL条款。 2001年创建MySQL, 2008年1月SUN以10亿美元收购MySQL,当年12 月MySQL推出5.1,对此维德纽斯表示不满,认为该版本尚不成熟, 2009年初从SUN辞职,创办Monty Program Ab软件公司。
  • 3. 若要人不知除非己莫 为Google已经在信息业接近美国中央情报局的梦想——了解你的一切的一切。Google承诺,视用户个人隐私为最高责任,决不提供给第三方。 Google首席 执行官Eric Schmidt近日却发 表了一些让人寒心的话语,在接受 CNBC(美国全国广播公司 财经频道)采访 时,Schmidt谈到了用户浏览数据的 隐私问题,他说:“ 如果你有什么事是不 想让任何人知道的,那么当初你就不应 该去做。 ” 补充:我们(搜索引擎)在美国都会遵守 《爱国者法》。 也就是 说政府机构是有权获取这些信息。WebKit:HTML5中链接支持rel属性为“noreferrer”,可以使通过连接访问网站时让该网站不知道该次访问的来源信息。
  • 4. ECMAScript版本5 获得批准 负责JavaScript、JScript(微软)和ActionScript (Adobe)标准的行业协会 Ecma的技术委员会以21票有19票赞同通过了ECMAScript version 5。 其中投反 对票的是两大巨头IBM和Intel。IBM反对的理由是浮点处理缺乏精确 性,而Intel反对则仅仅是因为没有足够时间检查潜在的知识产权牵连问题。http://www.ecmascript.org/docs/tc39-2009-043.pdf
  • 5. 事件 驱动程式设计事件 驱动程式设计(英语:Event-driven programming)是一种电脑程式设计模型。这种模型的程式执行流程是由使用者的动作(如鼠标的按键,键盘的按键动作)或者是由其他程式的讯息来决定的。相对于批次程序设计:程式执行的流程是由程式设计师来决定。批次的程式设计在初级程式设计教学课程上是一种方式。Gartner在2003年引入了一个新 术语事件驱动架 构(Event DrivenArchitecture,EDA), 主要用于描述一种基于事件的范例。优点:EDA 应用的系统里, 事件所触发的消息可以在独立的、非耦合的组件和服务之间传递,这些模块彼此并不知晓对方。极大地改进了表面 上毫无关联事件的能力。通过提供瞬时过滤、聚合和关联事件的能力,EDA可以快速地检测出事件并判断它的类型,从而帮助组织机构快速、恰当地响应和处理这 些事件。通常事件可以采用发布/订阅机制。
  • 6. 事件驱动架构的主要内容事件: 在信息化系 统中,事件是一些事物对象的状态属性,也可以是事物之间动作的记录。事件源: 产生事件的模块。即接口定义中有Action out的模块产生事件。事件 监听者: 接收并 处理事件的模块。即接口定义中有Action in的模块接收事件,然后处理事件。事件的 处理: 事件的 处理通常使用声明型语言描述,即描述满足一定条件下,对操作对象执行什么处理的规则。多条规则组成一个规则集,在运行时由规则引擎来判定执行规则的顺序,执行相应的规则。
  • 7. 普通函数与事件回调函数如果我 们把系统划分为两层:低层的函数库和高层的应用程序。同样作为主函数的辅助函数,左图中的普通函数直接被主函数调用,然而右图中的回调函数却是通过库函数间接被主函数调用的。一方面,在 软件模块分层中,低层模块为高层模块提供服务,并且不能依赖高层模块,以保证其可重用性;另一方面,通常被调者(callee)为调用者(caller)提供服务,调用者依赖被调者。两相结合,决定了低层模块多为被调者,高层模块多为调用者。但这种惯例并不总是合适的——低层模块为了追求更强的普适性和可扩展性,有时也有调用高层模块的需求,于是便邀callback前来相助。
  • 8. 上图为一个典型的事件驱动式模型。事件处理器事先在关注的事件源上注册,后者不定期地发表事件对象,经过事件管理器的转化(translate)、合并(coalesce)、排队(enqueue)、分派(dispatch)等集中处理后,事件处理器接收到事件并对其进行相应处理。请注意事件处理器随时可以注册或注销事件源,意味着二者之间的关系是动态建立和解除的。
  • 9. SOA与事件驱动架构的关系SOA(Service-Oriented Architecture)即面向服 务的体系结构,SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。局限性: SOA要求 应用程序知道有什么服务和如何与这些应用程序互动。它还意味着除非一个应用程序提出一个服务请求,否则什么事情都不会发生。采用请求-回应范 例,每一个服务都必须知道需要通知哪一个其它的服务发生了什么事情。
  • 10. 事件驱动的SOA 虽然 SOA通常更适合请求/响应交换环 境,但EDA 引入了一些长时间运行的异步 进程功能。而且,EDA 节点可发布事件, 且并不依赖于所发布的服务的可用性。它 真正地实现了同其他节点的分离。应用方向:事件驱动架构(EDA)是分布式应用程序的普遍架构形式,非常典型的是:分布式应用程序都被设计成为模块化的、封装的、可共享事件服务的组件。能够通过应用程序、适配器以及无入侵性的代理操作来创建这些服务。
  • 11. JS中的事件驱动机制事件是Dom(文档 对象模型)的一部分。Level1中没有;Level2支持了小部分;Level3中规定完整的事件。IE 4:冒泡;Netscape Navigator 4:捕 获Dom同时支持两种事件模型。 var el = document.getElementById(‘btn’); if (document.all){ el.fireEvent(onclick); }else{ var evt = document.createEvent("HTMLEvents"); // 冒泡,阻止默认操作 evt.initEvent("click", true, true); el.dispatchEvent(evt); }
  • 12. YUI中的自定义事件var eventObj = new YAHOO.util.CustomEvent("CalendarSelectEvent");eventObj.fire(arguments);eventObj.subscribe(function(type,data){alert(type);alert(data);},obj);eventObj .signature 可设为YAHOO.util.CustomEvent.LIST (默认)param1 :event name;param2 :fire方法中的参数组;param3 :subscribe方法中传入的第二参数;YAHOO.util.CustomEvent.FLAT ,param1 : fire方法中的第一参数;(多个时用数组)param2 : subscribe方法中传入的第二参数; 关键属性: subscribers:监听者队列( YAHOO.util.Subscriber对象数组) Subscriber对象构造需要的参数(fn,obj,overrideContext); Subscribers[i].fn.call(scope,this.type,args,subscribers[i].obj) Subscribers[i].fn.call(scope,param,subscribers[i].obj)
  • 13. Q&A
  • 14. THX