阅读更多

12顶
0踩

编程语言

原创新闻 Frank Cohen的JavaOne 2008报告

2008-05-14 19:17 by 正式记者 levis2000 评论(0) 有4053人浏览
JavaOne至今仍然努力的保持着它的重要地位。在这次大会上大部分的新意都体现在Twitter和社区网络服务,iPhone炫目的多媒体用户界面,Ajax和Flash,以及在public Internet(Flikr,Google Maps,Yahoo User Interface)上构建的企业应用的易用性的提高。这些都使人感觉Sun一直在关注Java平台的建立以及为了开发者更方便的使用Java工具。

周一,Sun为CommunityOne的记者吹风会提供了一个会议厅,主题当然是围绕Java的开源社区项目。另外还有一些奇怪的主题。例如,CommunityOne 讨论了NetBeans的整个开发过程。虽然NetBeans 项目的继续进展让人印象深刻,但是却依然落后于Eclipse, IntelliJ 等其他Java IDE。从ISV(独立软件开发商)那里传来的唯一让我振奋的好消息是他们还是那么讨好Sun。毕竟我是用NetBeans的。

周一和周二的会议都有点混乱。两边来往的与会者川流不息,保安人员在消防队的指导下疏导人流。这两天的CommunityOne都安排在了一个巨大,嘈杂,充斥着回音的大会场。

RedMonk(一个分析公司)举办了第二次新闻发布会,举办者也非常民主民主,听众能投票选举决定了他们想听到的内容。今年大家想听到的是OpenSource的商业模式,Twitter的最佳实践以及RIA开发。

Open Source Software (OSS) 的商业模式奇怪的定位到了OSS的将来,尽管这是一个关于许可(licenses)的讨论。"大部分成功的开源项目是基于GPL的",Mårten Mickos(MySQL的前任CEO,现在是Sun的)介绍说 。实际上,他的这番话是我在整个JavaOne看到的唯一关于MySQL的消息。[编者:实际还有一些,是关于MySQL的优化和管理方面的内容]。

许多人都想知道OSS发生了什么,既然用户和商业模式都倾向于Software As A Service (SAAS,软件即服务)。实际上的讨论结果类似于:体现SAAS的应用存在于Internet Cloud中而不是在源代码中,所以对于OSS的需要已经慢慢消失了。另外一个结论是:OSS已经把软件应用和服务商品化了。个人而言我并不赞成这个说法。OSS的软件为SAAS应用提供了重要的组件。PushToTest[注:作者所在的公司]的客户已经从我们的测试和评价服务中获益很多。基于GPL的Affero license(http://www.affero.org/)是为云计算推出的。所以我们认为OSS软件的商品化趋势缺乏充足的道理。

OpenSolaris
Sun现在正在推销他们的OpenSolaris。OpenSolaris的新特征包括新的图像打包系统(IPS),ZFS作为缺省的文件系统,还有DTrace。这个星期他们推出了 OpenSolaris.com,为开发人员提供了可用的OpenSolaris下载。

Sun还在这个星期启动了test.opensolaris.org。这个系统提供了对于基于OpenSolaris程序的自我测试服务。你可以上传你开发的软件,在一系列机器架构上选择一个环境,制定和进行在线的性能和功能测试。这些测试环境包括Sun4v UltraSPARC (2x8Cores) at 1.2 Ghz,AMD64 (2 and 8 x 2 Cores) at 2.8 Ghz。我的64位的SunFire却没有?

苹果,又见苹果
苹果上星期低调的发布了Java 6 for Mac OS X。之所以因为Java 6 on Mac OS X这个东西已经推迟两年了。

Max OS X在JavaOne无所不在。正因为如此多的人在用Mac OS X 上使用Java,我不禁想知道Sun到底要忽悠使用Mac的Java开发者到几时?Java 7 ship on Mac OS X 会在2010年推出吗?

JavaFX未来的成功取决于Sun是否能提供更快更好用的Java引擎。当我在看他们在Max OS X上做演示的时候,真想知道他们用的是哪个版本的Java。Sun做的演示之一是在一台MacBook Pro上播放一个由200个硬盘上的视频片断组成的半球体,渲染效果得那是相当平滑,体现出了JavaFX引擎的良好性能。不过,他们用的是哪个版本的Java?

关于Mac OS X上运行Java,底下的讨论也是随处可见。VirtualBox-一个最近被Sun收购的公司,也赢得了许多掌声。VirtualBox 是基于GPL,用来模拟X86系列的产品。它可以运行在Windows, Linux, Macintosh and OpenSolaris 之上 并且支持Windows(NT 4.0, 2000, XP, Server 2003, Vista), DOS/Windows 3.x, Linux (2.4 and 2.6), 和OpenBSD。VirtualBox 1.6为Mac作了优化并且支持Ubuntu和OpenSolaris。如果你看到一个OpenSolaris运行在Mac桌面的Windows系统中,会有什么样的感觉?

最近我还了解到了DTrace是运行在Mac OS X上.这样使得我们能够对Mac上的Java程序进行更深入的问题分析。

开源测试联盟
我的公司, PushToTest,和 Eviware,宣布结成 Open Source Test Alliance(开源软件测试同盟)。这个同盟将以SOA的形式提供开源测试技术和平台,包括Web service,web应用程序和Ajax开发。该组织目前提供了PushToTest和 Eviware,并计划提供后续的开源测试项目。详情在http://alliance.pushtotest.com.

关于Twitter的一二三四
Redmonk Unconference 提供了关于Twitter最佳实践的讨论。Jay Edwards,这个Twitter的先行者,就座在我旁边和我讨论关于什么是Twitter的10个最坏的习惯,公司如何从Twitter获益等等诸如此类的问题。

我在Twitter的代号是@fcohen,你们若是关心下面的问题都可以和我讨论:
10个关于Twitter最坏的习惯首先是Twitter diarrhea。有很多关于及时通讯(IM),RSS和Tweets的问题 。一个共识是RSS不是一个Push技术,及时通讯不像Tweets那样传播更快更有效。

另外一个关于Twitter的发明是叫做"Summize".RedMonk 的James Governor 说道:"Summize 是Twitter的杀手锏"。Summize能让你在Tweets上搜索热门话题。比传统的搜索引擎能让你在Twitter上更快的找到你感兴趣的领域。

一些代表也指出 Zappos.com and JetBlue也有助于Twitter的成功。Jet Blue 使用 Twitter来对客户问题作出响应。Zappos 有自己的Twitter  http://twitter.zappos.com/

我听到了很多对于Twitter改进的建议:比如增加TinyURL的预览功能。有个FireFox的插件能够从TinyURL中显示出完整的URL。Ratings 和 Report Spam
也在这里被提到。另外还包括TweetScanlog4twitter

Jay一直坐在我边上,我顺便就请教了下他关于我听说的把Twitter从RoR分出去的谣言。Jay澄清说Twitter依赖于各种不同的系统,他把这个谣言归就于他们的招聘网页,原来在他们公开招聘具有分布式系统开发经验的C++,Java,Scala和Ruby的专家。所以Jay认为这只是个谣传而已。(Twitter在星期一晚上再次当机)。


搞怪的主题
SUN推出了一系列运行Java嵌入式系统的设备以此来推动Java平台的智能系统。比如,Sun在这次JavaOne上推出了Sentilla。Sentilla使用嵌入式Java和两个装在会议厅门上的红外感应器。感应器能够感应和统计出进出大厅的人数。

在开放环节里,James Gosling 演示了封装在一个大钢块中的微小二氧化碳探测器。举起这块钢块,他说,“即使矿爆炸了,它也能正常工作。”矿工是不会在乎这个的。真是搞怪。

当谈到伦敦地铁中用到的Oyster Card时,Sun的John Gage告诉大家他有一个比较老的护照,是那种没有RFID 芯片的。John举了个例子描述了RFID芯片方面的前景,"你好,我是个美国人,你能引爆最近的设备吗"。又是搞怪。

Sun的iPhone
Rich Green,Sun的一位执行副总监,主持了剩下的开放环节活动。Rich演示了一些人们每天使用信息设备旅游,安排会议,协调业务等的情况。这些演示让人觉得Sun和Apple公司毫无二致。很酷的的用户界面,尖端的科技,让一切好像回到了2003年。

在下面的环节里,Rich介绍了 Rikko Sakaguchi,索爱的高级副总裁。这个只有6年历史的私人公司的营业额在6年里翻了4倍,在2007年达到了190亿美元。Rikko演示了一个视频片段,描述了一对年轻的男女使用社区网络,多媒体(歌曲,视频和图像)文本,和艺术合作创作的形式走到一起。这段视频暗示了索爱公司也许有一天也会涉足Java解决方案。

这两段视频也许离我们不会太远。

Sun也许没有能力在消费者产品上获得巨大的成功,事实上也不应该这样。Sun是一个具有成功中间件软件产品线的硬件公司。可是最近它却让人感觉有些奇怪,特别是有了像JavaFX之类的产品,让人对它的产品战略不知所云。

Sun展示了很多JavaFX应用,Java Update 10包含了适用于各种浏览器和操作系统的JavaFX插件。另外,还有flickr和Twitter。整个演示不总是很顺利的,在这里要感谢Moscone 公司的网络。JavaFX提供了Java环境和一系列动画API。Sun使用了 Android Emulator 来运行JavaFX。JavaFX在Android Emulator上演示的应用名为"Connected Life"。JavaFX准备提供线下浏览的方式让JavaFX的内容得以在浏览器之外运行。比如,有一个演示程序展示了如何把一个applet通过drag&drop的形式在桌面和浏览器之间切换。看上去很酷。

JavaFX SDK即将在08年7月发布。移动FX将在08年秋季,而FX TV将在09年春天推出。

Rick告诉与会者,JavaFX将是我们的选择之一。不幸的是,我却想选择苹果的iPhone。

Rikko宣称"这些目标就是我们努力的动力”。也许和索爱在这些产品领域的的合作将是Sun的策略之一。不过,看看过去-AWT,SWING,JMF,Java ME,JavaFX,那么我感觉有点怀疑Sun的战略是否能达到它的效果。

摇滚明星和作秀
你是否觉得Steve Jobs和 Jonathan Schwartz (Sun总裁兼首席执行官)在某些方面有些奇怪的一致?这个怀疑将是有道理的:Jobs以Randy Newman[注:某著名作曲家]的歌曲结束了Macworld Expo,而今天Jonathon Schwartz则为JavaOne请来了 Neil Young [注:某摇滚明星]。Neil Young将使用BlueRay和Java相关的技术把他一生中的重要专辑音乐记录下来。

EJB容器的瘦身
我不是EJB的支持者,所以我看不到这些变化。POJO和annotations 对我更有意义。所以我不再对这些关于EJB的宣讲感兴趣。看上去EJB变成了所谓Servlets,JSF,JPS和EJB-lite之类技术的堆积,而JAX-RPC/JAX-WS,EJB CMP,Entity Beans 和JAXR将不再出现在这个阵营当中。

持续的瘦身将使得EJB更加苗条。GlassFish的核心只有98K字节,它实现了一种容器的策略并且能够用来支持JavaFX.

Jython和动态脚本语言
我是基于JVM的动态脚本语言的超级Fans。Tim Bray 为了让Sun更专注于推出支持JVM的动态语言平台做了很多贡献。在介绍即将推出的Jython 2.5版本时,我注意到Jython team的那些家伙正咧着嘴傻笑。

JSR 292的工作组成员在这次JavaOne大会上也得以见面。他们提交了供JCP动态调用的EDR的阶段性成果。为了今天这个里程碑他们努力了整整3年。

JSR 292讨论了关于anonymous classes, interface injection, 和continuations的实验情况。相关的一些研究在 Da Vinci Machine Project中得以反映。这个工作组在概念证明(POC)和演示上做了一些工作。他们将在JVM Language Summit上再次发表观点。

Jim White正在为Java6和Open OfficeScriptEngine API(JSR 223) 做一些有意思的事情。Wings open-source project 是为Open Office提供脚本支持,比如某些数学界用户。Wings公司对ScriptEngine 的运用意味着脚本可以是Java,Jython,Groovy, JRuby,或者是由其他语言编写。除了我所知的PyshToTest公司使用ScriptEngine支持的语言来支持单元测试之外,Wings是我见到的第一个从ScriptEngines上获益的例子。
来自: theserverside
12
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【系统架构】第五章-软件工程基础知识(软件测试、净室软件工程、基于构件的软件工程、 软件项目管理)

    软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版)

  • 软考高级:净室软件工程概念和例题

    明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。

  • 软件开发模型

    螺旋模型是一种迭代式和逐步增量式的软件开发模型,将风险管理视为关键活动,并将项目按照迭代的方式进行规划、开发和评估。强调质量管理、形式化方法和验证过程。:快速构建一个最小可行产品(MVP)或原型,以便用户和开发人员可以看到和感受软件的外观和功能,并对其提出反馈和建议,以便用户和开发团队更好地理解和确认需求。文档繁琐:构建模型依赖于详尽的文档和规范,需要进行大量的文档编写和维护工作,增加了开发成本和时间。迭代模型是一个较为宽泛的概念,在实践中,可以根据具体的项目需求和开发流程选择和采用细分的迭代模型。

  • 净室软件工程

    净室软件工程小讲

  • 系统分析师:七、软件工程(含系统规划)

    瀑布模型也称为生命周期法,它仅适用于需求明确或变更非常少的项目。系统规划步骤有:1、对现有系统进行初步调查;2、分析和确定系统目标;3、分析子系统的组成和基本功能;4、拟定系统的实施方案;5、进行系统的可行性研究;6、制定系统建设方案。

  • 02_软件生存周期与软件过程

    02_软件生存周期和软件过程 软件生存周期 一个软件从立项起, 到废弃不用为止, 称为软件的生存周期. 一般被划分为三个阶段 : 计划 开发 运行. 软件生存周期的主要活动 需求分析 该阶段是从用户的角度去理解系统在功能上需要实现什么功能, 而不是怎样去实现, 需求分析的目标是把用户对待软件开发的软件提出的功能需求去整理, 也需要把性能需求, 环境约束等进行描述最终形成完整清晰规范的需求文...

  • 软件工程升本 Part1

    软件工程学概述 软件危机 定义: ​ 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 主要典型表现: (此处概述,日后复习看书) 1:成本进度估计不准确 2:用户对软件系统不满意 3:质量靠不住 4:没有适当的文档资料 5:成本所占比例上升 6:软件不可维护 7:开发生成和应用更新的速度不匹配 产生原因 软件本身的特点,软件维护的方法即人为因素 软件生命周期 软件本身的特点,软件维护的方法即人为因素 软件定义 计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必须的数据。 软件

  • 系统架构师学习笔记-系统开发基础知识(一)

    目录     软件开发方法 软件开发模型   软件开发方法 净室方法:净室软件工程(净室方法)是软件开发的一种形式化方法,它可以生成高质量的软件。 净室方法主要使用三种盒类型: 1. 黑盒:刻划系统或系统的某部分的行为; 2. 状态盒:以类似于对象的方式封装状态数据和服务(操作); 3. 清晰盒:在清晰盒中定义状态盒所蕴含的变迁功能;   结构化方法:结构化方法属于自顶向...

  • 净室软件工程及发展

    净室软件工程及发展  本文转载自软件工程专家网http://www.21cmm.com/   净室是一种以合理的成本开发高质量软件的基于理论、面向工作组的方法。净室是基于理论的,因为坚实的理论基础是任何工程学科所不可缺少的。再好的管理 也代替不了理论基础。净室是面向工作组的,因为软件是由人开发出来的,并且理论必须简化到实际应用才能引导人的创造力和协作精神。净室...

  • 《系统架构设计师教程(第2版)》第5章-软件工程基础知识-05-净室软件工程(CSE)

    《系统架构设计师教程(第2版)》笔记,第5章-软件工程基础知识-05-净室软件工程(CSE)

  • 净室软件工程:以数学为基石的高可靠性软件开发之道

    净室软件工程以“构建无缺陷系统”为目标,其核心理念是通过数学模型的精确推导和系统性过程控制,在软件开发过程中最大限度地**避免错误的引入**。它不是一门脱离实际的理论,更是一种在实践中被验证、能够显著提升系统可靠性的工程方法。 本文将详细介绍净室软件工程的核心思想、关键技术、实际应用以及面临的挑战,希望为追求高质量软件的开发者提供一种全新的视角。

  • 系统架构设计师-软件工程(1)

    系统架构设计师-软件工程(1)

  • 软件架构师-第5章软件工程基础知识-笔记_软件构件组装 顺序组装 层次组装

    构件模型的实现通常包括访问构件的元数据的特定方法。封装是指将一个计算机系统中的数据以及与这个数据相关的一切操作语言(即描述每一个对象的属性以及其行为的程序代码)组装到一起,一并封装在一个有机的实体中,把它们封装在一个"模块"中,也就是一个类中,为软件结构的相关部件所具有的模块性提供良好的基础。系统分析阶段是应用系统思想和方法,把复杂的对象分解为简单的组成部分,找出这些部分的基本属性和彼此之间的关系的过程,其基本任务是系统分析师和用户在充分了解用户需求的基础上,把双方对新系统的理解表达为系统需求规格说明书。

  • 系统架构18 - 软件工程(6)

    系统架构18 - 软件工程(6)- 净室软件工程CSE与基于机构的软件工程CBSE

  • 净室软件工程-

    使用盒模型规约进行分析和建模,并将正确性验证作为发现和排除错误的主要机制,采用统计测试来获取验证软件可靠性所需要的信息 强调在规约和设计上的严格性,以及使用基于数学的正确性来证明对设计模型的每个元素进行形式化验证 ...

  • 净室软件工程随笔 ----《零缺陷程序设计》读书笔记

    今天终于看完了《零缺陷程序设计》,这可能是我看的计算机书中,按时间/页来算时间最长的一本了.薄薄200页看了一个半月.期间主要是因为放假了就懒得翻书了.不过更长的时间间隔可以让我有充足的时间去体会净室工程的实质. "净室软件工程",作为程序员应该都听说过这个名字吧,但真正了解他的却真的不多(有点像我喜欢的python).不了解同时还带来了偏见,这个随笔的最后我打算就别人的一些见解发表一下自己的看法

  • 《CISP》(十)软件安全开发

    本系列是学习《CISP》中易混淆点的记录,文章顺序是按照教材讲解而定 目录一、软件生命周期模型1、瀑布模型二、迭代模型RUP三、增量模型四、快速原型模型五、螺旋模型六、净室模式七、对比 一、软件生命周期模型 1、瀑布模型 没有对开发周期后期发现错误做出相应的规定,只允许开发人员后退一个阶段 二、迭代模型RUP 多个小型的瀑布模型的组合,所有阶段都可以细分为迭代,每一次迭代都会产生一个可以发布的产品,产生是最终产品的一个子集 三、增量模型 融合瀑布模型和迭代模型 每个线性序列产生软件的一个可发布的“增.

  • 净室过程 (转)

    净室过程 (转)[@more@]净室过程未经允许,严禁转载本栏目内容 本文经许可转载自软件工程专家网www.21cmm.com, 未经CSDN许可,请勿随便转载,谢谢合作ASP?page=/bbs/index.asp?Ty...

Global site tag (gtag.js) - Google Analytics