.jpg)
来自Sun公司副总裁Rich Green作为主持人,给我们带来一场别开生面的主题演讲。在演讲中,Rich指出消费者驱动的创新,并把Java技术与我们的生活紧密结合在一起。来自Amazon.com的副总裁Ian Freed演示了基于Java技术的电子报纸终端设备,在新的设备上,用户将可以完成包括报纸、图书等传统媒体读物的阅读。
此外在主题演讲上,Rich还与他的同事一同展示了基于JavaFX技术Web应用程序,除了可以集成来自FaceBook、Flickr以及Twitter等Web应用的各种数据外,还能够直接运行在各种操作系统平台上,以多媒体形式展现3D互联网,充分展现了Java的跨平台特性。同时,基于JavaFX的应用还能快速部署在移动终端设备上,并提供远远超过其它产品的性能。这与此前微软公司在Mix'08大会上对未来互联网的展望如出一辙。
随后,Sun公司CEO Jonathan Schwartz先生在主题演讲上指出,由开源借助Internet带来的新的业务模式,将会很快渗透到消费领域的各个行业。而在此次大会上的特约嘉宾 Neil Young登台更是赢得了开发者的喝彩,这位从1963年就开始发行唱片的民谣歌手今天已经采用Java技术将自己的所有作品通过互联网展现出来,这个展示将整个JavaOne的开幕式推向了高潮。(CSDN)
Sun公司日前表示:为了推进Linux开发者使用Java的热情,公司决定将之前保留的所有的JAVA平台技术彻底的开源。2006年11月13日,Sun公司正式宣布使用GPLv2授权协议开放Java虚拟机和编译器的源代码。Linuxeden认为Sun的这次彻底开源,将给JAVA的应用和发展提供一个新的机遇,也是Sun拉拢开源社区人才和开源公司的进一步举动。通过这种彻底的方式,JAVA技术将成为完全开源的技术,可以更方便的和各种Linux发行版进行融合。
不仅如此,Sun还主动联系OpenSuse,Ubuntu,Fedora等发行版,提供新版本的OpenJDK,同时在新的版本中开放所有在之前保留的 关键性技术。OpenJDK在2006年发布第一个版本,它基于Java Platform, Standard Edition (SE) 6,但是其中的一些部件,包括一些加密库、图形库以及音频引擎、SNMP协议管理代码都没有在GPL下进行开放。这些非GPL的代码大概占Java Platform的4%。
一年一度的JavaOne盛会两周后将在旧金山举行,Linux伊甸园将对此会议进行关注和报导。通过对整个JAVA技术的彻底开源计划,Linux发行版开发商们将可以将JAVA完全整合进发行版进行发布。而在这之前,比如ubuntu就是把java做为一个商业的可选的软件包提供给 用户的。
Java诞生在1995年。在整个Java社团在迎接Java的第二个十年时,开发者希望Java的发展能够继续保证其兼容性、互操作性和可靠性。正如Java之父James Gosling所说,“Java技术之所以这样广受欢迎,就是因为它能够涉及广泛的领域。你可以为应用服务器、为移动电话、为科研项目,为桌面应用,为网 络游戏和嵌入式设备编写软件。Sun有责任,也有义务保证Java技术是相互兼容的,是可互操作的,是可靠的。所以我们要提供相应的支持。” (Linux伊甸园)
The NetBeans IDE is a modular, standards-based, integrated development environment (IDE) written in the Java programming language. The NetBeans project consists of an open source IDE and an application platform, which can be used as a generic framework to build any kind of application.
Release Overview
The NetBeans IDE 6.1 release provides several new features and enhancements, such as rich JavaScript editing features, support for using the Spring web framework, tighter MySQL integration, and an improved way of sharing libraries among dependent projects. The acclaimed support for Ruby/JRuby has been enhanced with new editor quick fixes, a Ruby platform manager, fast debug support for JRuby, and many other new features and fixes.
By popular demand, the bean pattern and JSF CRUD generation features that were missing in the 6.0 release have returned. In addition, early versions of new modules, such as ClearCase support, are available as plugins.
This release also provides improved performance, especially faster startup (up to 40%), lower memory consumption and improved responsiveness while working with large projects. See below for a list of features in this release. (www.netbeans.org)
Download - http://www.jetbrains.net/confluence/display/IDEADEV/Diana+EAP
I Love IntelliJ IDEA, and every one of my friends already know thatThe 5 and 6 versions are a little slow(specially the 6) but I was in love, and when you are in love… in Colombia we have a proverb “When you love the dog, you also love the stink“ and, of course, is better than work in Eclipse(sorry!!).
But the 7 version was a really good IDE, very quick and stable, and a Wonderful Spring Support(without talk about JSP, HTML, JavaScript, Groovy… ad infinitum), by far the best IDEA Version, or in other words, “The Best IDE in the world”.
But I have a feeling of sadness was in my soul, and a question in my mind, How could be the next version, if IntelliJ IDEA 7 are so good??
Well my question was answering this morning
Diana First EAP Release Notes
* Changes in Plugin API: I must have to change IntelliStripes, but the good news are that the changes are for better language support, so you can expect some very good language plugins for example: Scala, Jython and others
* Seam Support: I don't work with Seam and I don't have plans to do that in the near future, but any improvement is welcomed, and a Collateral Effect: Jetbrains always release this supports with Apache License 2.0, so I can read the whole code and see how to improve IntelliStripes, [mode type="Evil Laughter"]JAJAJAJAJAJA!!!![/mode]
* Free Maker Support: The same as Seam Support, but some Stripes Friends use Free Maker instead of JSP, so is welcomed
* JavaScript Debugging: I already made this with FireBug, but the IDEA Interface is better
* SQL Support!!!!!!!: WOW, thats very good, (I'm not a ORM Fan boy , I'm Still in love with POSQ (Plain Old SQL Query) (WOW, maybe I create a Buzzword!!!!) ) even when you have already good plugins like "SQL Query Plugin" is better if the Support come from Jetbrains
* Flex Support: Same as Sean, but IntelliJ IDEA 7 also have support, I like more Laszlo
* Per File Encoding Support; A must have when you have a team with Multiple OS
* "Unwrap/Remove" action (delete enclosing statement): Maybe I need, maybe not, but is welcomed
* Struts 2: Now the plugin is bundled with IntelliJ [mode type="Revengeful Warrior"]Some Day, Some Day IntelliStripes will be bundled, JAJAJAJA, and my Mom will loves me [/mode]
* And many others!!!!! [via jroller]
````````````````````````````````````````````````````````
We’re glad to announce the availability of IntelliJ IDEA 8.0 first EAP.
Some of the IntelliJ IDEA 8.0 features are now available for the first preview:
* Improved Flex code editor, with new inspections
* JavaScript debugger
* JBoss seam support, with coding assistance and dedicated visual tools
* Support for various SQL dialects, with coding assistance and injection
* Numerous other enhancements and new features
Download the fresh build and give a try right now.
For the complete list of the new features and improvements, check Release Notes
Enjoy! And develop with pleasure!
[via jetbrains]
3月14日,Myspace中国在接受采访时表示,将在4月份发布符合Open Social规范和基于Java Script的开放平台测试版。此前,Myspace.com已经发布了该平台。
MySpace中国CTO谭晓生表示,Java Script是目前网页设计中最容易掌握,同时也是最常用的页面开发语言,同步难度不大,MySpace中国最迟将在4月初发布基于该技术的开放平台,并将同时加强用户隐私保护措施。
据相关技术人员透露,开发人员上传的每个“挂件(Widget)”都将在“百宝箱(Application Gallery)”中得到独立展示,并且所有挂件都可以出现在用户的空间(“我的空间”)及用户首页(“我的首页”)上。
此前MySpace中国已经发布了基于Restful接口的开发平台测试版,可使用户自己增加音乐播放器、幻灯片、电子唱片、电子贺卡、电子名片册等功能。(Donews)
GridGain 2.0发布了,GridGain是一个开源的网格计算框架,专著于提供平行计算能力,能够与JBoss和Spring相集成。
GridGain 2.0新的属性包括:全动态地图启用;独一无二的提前和滞后的动态加载平衡能力等。
GridGain相关资源:
下载 GridGain 2.0查看文档 Documentation
开发论坛 Developers Forums (csdn)
jpa2web 是什么?
Hibernate(见 参考资料)等工具大大简化了 Java 对象与其数据库存储之间的映射;尤其是,很容易给 Java 类加上注解,从而指定对象持久化的方式。开发人员不再需要编写大量数据库集成代码。Hibernate 解决了持久化问题;但是,仍然需要创建 Web 页面来处理这些元素。对于中等规模的 Web 应用程序,典型的开发过程可能是这样的:开发人员首先编写表示某个领域模型的 Plain Old Java Object(POJO),然后创建不同的事务和 Web 用户界面。一部分模型元素常常涉及非事务性数据。客户、国家、地区、职员和公司是业务模型的典型元素,它们由操作员维护。
为什么不生成一个 Web 表示层,让它根据带注解的 bean 创建、添加、列出、删除和搜索这些元素呢?为什么不让这个表示层产生友好的 Ajax 用户体验呢?这就是 jpa2web 工具的主要目标,它采用以下处理流程:
输入:带注解的 POJO bean(和可选的模板)。
输出:一个 Ajax Web 应用程序,它可以处理模型元素并进行持久化。
使用的技术:FreeMarker + ZK + Hibernate(关于这些技术的更多信息,参见 参考资料 中的链接)。
关于 ZK
ZK 是一种开放源码的 Ajax Web 框架,用来为 Web 应用程序创建富用户界面,在开发界面时只需编写很少的代码,而且不需要编写 JavaScript 代码。使用 ZK,可以像设计桌面应用程序那样设计 Web 应用程序。ZK 负责客户机和服务器上的 Ajax 处理。开发人员只需创建一个简单的 XML 文件(称为 zul 文件)来指定用户界面,并用选择的语言编写事件处理函数:Java 代码(编译型)、Bean Shell(解释型 Java)、Groovy、Ruby、JavaScript 等。
这个工具主要使用注解驱动的编程方式指定 ORM 映射。可以重用其中的许多注解来定义 Web 界面或创建可修改的原型。
下面几节解释如何使用 jpa2web 把不同复杂程度的 bean 映射到 Ajax Web 用户界面。接下来,说明 jpa2web 算法的工作原理和一些基本指令。最后,描述 jpa2web 的适用范围和以后的改进。
当你想用Java写一Facebook的应用?你把在facebook的帐号中加入的程序开发模块,下载了相关的java类库。忽然你发现不得不停下来:开发相关的入门介绍,样例代码和文档说明在哪儿?这样的挫败感令人愤怒,而最终导致你不得不放弃。
但愿有人会尽快写一个不错的应用Java 开发facebook应用的入门指南。也许只需要你给我些好吃的巧克力,我们可以写些相关的介绍文档,老实说我们的确也解决了不少相关的问题。这里有一些技巧帮助你使用java开始建立自己的 facebook应用。 这并不是一个完整的入门指南,但他可以帮你在着手做时少走些弯路。
八个注意事项辅助你构建Java/facebook应用
1.为了你的幸福和健康,建议你使用5.0或更高的JDK开发包。
2.不用看facebook java开发包中的列子,因为那些例子是针对java桌面应用程序的。而通常你是需要写一个web应用,这两种应用的区别还是很大的。一开始,你需要一个web应用服务容器,你可以能会选择tomcat,但我不会,这里面有另一个故事,我会找个合适的时间再告诉你。Facebook的网络应用有一个不常见的调用模式。大多数你的页面会被facebook调用。用户请求一个facebook的页面,页面中的主要内容会从你的服务器中返回给用户。你体统的内容会融合到facebook的页面里返回给用户。大多数情况下这些流程不需要你的干预就能很好的执行。但需要注意的是你服务器端产生的页面中的javascript是不能执行的,这就意味着普通的ajax不再在facebook中应用。如果你需要使用AJAX的技术实现facebook 提供的 mock-ajax不能完成的功能,则需要通过facebook的页面跳到你服务配器上的一般页面。
3.配置你在facebook上的应用程序
不要忘了填写facebook应用的配置文件,你应该设置: 应用程序的回调网址。
应用程序的名字- 这个名字用来表示标识在facebook的页面。(这些页面可以是用iframe嵌入到facebook的导航页,也可以是用FBML标记的页面)。一但设定,比如http://apps.facebook.com/yourappname/yourpagename 这个页面就会从facebok产生一个请求到你的服务器 。对于新用户来说,这就是一个你的应用程序的欢迎页面,邀请用户来使用传播你的这个应用。
4.用facebookrestclient
最重要的阶级,在客户端类库中最重要的类是facebookrestclient。这个类中包含一系列调用facebook服务端的方法,并涵盖了大部分你需要的功能。可惜facebookrestclient是不是个架构清晰的类。几乎所有的请求,需要一个facebookrestclient 这是建造一个会话密钥 。用户登陆后可以从CGI变量中获得会话的密钥。(参考 FacebookParam.SESSION_KEY.toString())没有登陆的用户需要引导到一个登陆页面。 试试以下方法:
// 创建一个无会话状态的FacebookRestClient
FacebookRestClient client = new FacebookRestClient ( 你的api密钥 , 你的加密密钥 ) ;
String token = client.authcreateToken () ;
String loginURL = “http : //www.facebook.com/login.php?v=1.0&apikey=&”+ YOUR APIKEY +“&auth_token =”+ token ;
// 这里转向到登陆页面
// 登陆后就会返回会话key
FacebookRestClient.auth_getSession() 以我的经验基本没用。他的作用是把一个无会话的client变成一个有会话的。我发现从CGI变量中获取会话要比试用这个方法简单。
当有一个会话key的FacebookRestClient,你可以调用这个类提供的各种facebook编辑方法。这些方法可以很方便与facebook进行交换操作。但不幸的事这些方法返回的是未经处理的XML文档,这些文档后续的处理会比较麻烦。
比如 friends_get()返回的是
<document>
<friendsgetresponse>
<uid>1</uid>
<uid>2</uid>
<uid>3</uid>
</friendsgetresponse>
</document>
你也许想封装一些提取信息的方法,例如调用friends_get(),试试这个
Document d = client . friends_get () ;
NodeList userIDNodes = d . getElementsByTagName ( " uid " ) ;
int fcount = ids . getLength () ;
List < Integer > friends = new ArrayList < Integer > () ;
for ( int i = 0 ; i < fcount ; i ++ )
{ Node node = userIDNodes . item ( i ) ;
String idText = node . getTextContent () ;
Integer id = Integer . valueOf ( idText ) ;
friends . add ( id ) ; }
这样friends的列表里就填充好了用户的id。
5.servlet返回局部页面
当你生产在facebook中的页面时,比如这样的一个地址http://apps.facebook.com/yourappname/yourpagename,你必须返回的一个HTML或FBML标记的页面片段,而不是一个完全的HTML页面。
6.学习FBML 。
FBML这是一套特有的facebook标签。试用标签可以让你很方便的完成很多功能(比如显示用户的名称和图片)。
7.用户邀请好友
你想完成病毒式推广的邀请好友?facebook最近修改了他的api(2007.11)。新版本主要改进了一个特殊的form,fb:form。具体的说明在这里:http://wiki.developers.facebook.com/index.php/Fb:request-form。
原来完成这功能的方法FacebookRestClient.notifications_sendRequest()已经不再使用了,如果你不慎调用将会得到一个异常。
8.用户档案信息显示页面
要想将一些信息放入用户的档案信息页面,使用FacebookRestClient.profile_setFBML()。这个方法复写了你在应用里设定的默认信息页面。当你设定了用户的个人档案的FBML页面,这些页面被流量时,facebook会缓存这些页面信息而不会即时更新。这样就使得用户信息的动态更新会麻烦一些。当一个事件触发用户信息改变时,你需要重新调用profile_setFBML()更新这些信息。幸运的时既然你已经有一个登陆的客户端可以做任何事情,所以这个客户端也可以任意设置你的用户资料的数据项。
好了,就这些.我还是一个facebookapi的初学者,如果你是专家,请留言斧正。
祝福你们在构建web2.0的路上一路顺风。
原文作者:Daniel 译者:kwyjibo
原文链接:Tips for writing FaceBook applications in Java (来自:译言 kwyjibo编译)
不少人为自己是Java开发者中的一员而感到骄傲,新年伊始,大家一定对这个与自己息息相关的语言和平台有不少的期待。以下为2008年Java开发者五个最迫切的期待,可能其中有不合你意者,但相信大多数Java开发者会对此认同:
JavaFx不再只是空谈
在2007年的JavaOne上,我们听到了一个救世主——JavaFx,不幸的是,当初的所有许诺却没有成为现实。希望2008它能成为一个真正的、简单的、可用选择,从而Java开发者不必在富交互技术领域无“本宗”技术可选。
Glassfish成为应用服务器的选择
Glassfish是一款非常好的开源应用服务器和平台,也是第一个遵从Java EE 5标准的,它强大而有效。然而在企业端它还不被熟知,许多企业主管甚至从未听说它。即使Java开发者,很多也从未下载使用过,甚至部分人还没有用就在印象中觉得它不够正规。希望2008年开发者能够有效利用它。
重量级/轻量级(Lightweight/Heavyweight)之争当停止
由于Java EE正不断吸取各种框架、工具、库等的优点,开发方法变得更加直接和简单,所以传统的所谓的重量级Java和轻量级之间的区别也越来越模糊。然而此间关于重量级和轻量级的争论仍未停止。
Google青睐Java,希望Apple也能
iPhone非常风靡而且许多iPhone应用正在开发,然而迄今Java仍然是iPhone的毒药,希望08年这一局面可以改观。Google已经通过它众多的Java API和服务帮助了全世界的Java开发者,这也再一次证明,强者用之则发扬广大。所以希望包括Apple在内的更多强者可以用Java。
弃糟粕、大统一
凭借Java的枝繁叶茂,再复杂的任务Java都可以提供很好的解决,然而它也因为自身分支和技术的太过丰富而使开发者迷乱。Java开发者花费了几年时间去弄清楚一大堆商业和开源框架、工具、库……希望在2008年,其中的一些可以被废弃。虽然专政(指Java统一)是有害的,但一个统一的领土有更多的优势。(原作者: Shashank Tiwari 译者: 小猪哥)
Version 2.1.3 is a minor update to the 2.1.2 release.
New Features and improvements in Version 2.1.3:
* Big Desktop Performance Improvements
* Complete Desktop Customization with same feature set and configuration as Portal
* Dynamically hide Portlets at request time
* Improved LDAP implementation and documentation for Apache DS 1.0.2
* Full PSML and XML Import / Export Admin Portlet
* Maximize on edit-defaults feature
* New 'Edit Defaults' custom portlet mode
* New 'Config' custom portlet mode
* Parallel rendering on Websphere 6.1
* Preliminary Portlet API 2.0 ResourceURL support allowing full response control
* Provide out-of-the-box Wicket Portlet support
* Support for Pocket PC
Full details of this can be found in the release notes:
http://portals.apache.org/jetspeed-2/release-notes.html
Jetspeed 2.1.3 source and binary distributions, including a standard and a full demo installer, are available from:
http://portals.apache.org/jetspeed-2/download.html
Both Maven-1 and Maven-2 signed jars, wars, POMs and plugins are now available from Maven Central:
http://repo1.maven.org/maven/org.apache.portals.jetspeed-2/
http://repo1.maven.org/maven2/org/apache/portals/jetspeed-2/
We hope you enjoy using Jetspeed! If you have any questions, please consult:
* The web site: http://portals.apache.org/jetspeed-2/
* The jetspeed-user mailing list: http://portals.apache.org/jetspeed-2/mail-lists.html