第二个灵魂 发表于 2015-1-18 11:31:44

JAVA编程:采访Spring Social项目卖力人Craig Walls仓酷云

一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。跟着克日SpringSocial的公布,InfoQ约请到了该项目卖力人CraigWall。起首,有请CraigWall注释下是甚么促进了SpringSocial这个项目:
CraigWalls:今朝有很多线上彀站必要用户来保护他们的身份信息。一些交际网站如Facebook和Twitter,为用户供应了接洽朋友及家人并在其间分享生存点滴的功效。就连某些被以为不具有“交际”功效的服务,如Dropbox,如今都具有显现接洽人在线形态的功效。
个中年夜多半服务都是以RESTAPI的情势供应,使用创立后经由过程用户举动与多样化的服务互相感化,能够发生更多超出服务自己功效的体验。陪伴着具有凌驾7亿5万万用户的Facebook、凌驾2亿用户的Twitter,和具有相似用户数目的其他服务供应方,能够预感的是,具有社会化体验和在线体验的使用将具有无穷开展空间。
只管云云,构建这类使用偶然也充斥了应战。固然RESTAPI看上往很复杂,但在利用其接口之前,仍必要获得会见用户资本的受权。一旦经由过程了受权,就会往想怎样把这类长毗连耐久化,以致于不必每次在会见资本时都要再受权。当挪用某个服务时,将呼应与对象模子绑定,从而到达处置任何可产生事务的效果。
经由过程办理毗连历程和将Java与服务的RESTAPI举行绑定,SpringSocial的呈现年夜年夜简化了使用程序的开辟。
InfoQ:您以为哪类使用合适与SpringSocial的毗连器集成?
CraigWalls:只需是必要与一个或多个服务供应方交互的这类使用,SpringSocial都可与其完善集成。一样也能够是一些复杂的操纵,好比从Twitter读取一条信息或向某个用户的Facebook照片墙上上传一张照片等。
别的,使用还能够做一些加倍风趣的能够加强用户体验的事变。好比一个基于音乐流媒体使用,能够起首经由过程SpringSocial猎取用户Facebook上喜欢的音乐家列表,然后以此来优化该用户的播放列表。相似的使用另有经由过程猎取用户的旅游日程,然后向用户推送外地的音乐会或音乐举动等信息。
这类体例的魅力在于,一旦用户得获得会见使用数据的受权,经由过程将无穷的制造力与些数据的集成,能够带来全新的用户体验。
InfoQ:我们都晓得SpringSocial与OAuth接洽严密。这是不是请求与SpringSocial分离的服务供应方都要基于OAuth受权呢?
CraigWalls:SpringSocial的1.0.0版本供应了对可加密用户资本的OAuth的间接毗连撑持;不管是OAuth1.0、OAuth1.0a仍是OAuth2。已将年夜部分的完成OAuth的服务供应方包括了出去,个中不乏一些耳熟能详的供应方:如Twitter、Facebook、TripIt、GitHub、Foursquare和Gowalla等。
换句话说,SpringSocial的毗连框架是可扩大的。除此以外,SpringSocial还可经由过程扩大完成对别的范例受权服务的撑持。
InfoQ:OAuth1.0与OAuth1.0a有着如何的区分?
CraigWalls:OAuth1.0存在一个平安毛病,该毛病同意打击者经由过程开启毗连历程猎取哀求标识,然后使用该标识棍骗被打击者从而猎取用户受权,终极打击者取得对用户资本的会见权。该毛病已在OAuth1.0a中被修复。
但不幸的是,仍旧有一些服务供应方还在部署OAuth1.0。同时,他们中的年夜多半已思索弃用OAuth1.0转而投向OAuth2,同时他们也信任在很短的猎取哀求标识(一般只要几分钟)周期内,很难实行如许的打击。也有一些服务供应方在各自的OAuth1.0完成中增添了分外的束缚(比方限定前往的URL必需同预注册中前往的URL相分歧),以此来加重蒙受打击的风险。也有些服务供应方提示用户只承受可托使用的受权哀求,以此来削减被打击的风险。
为了撑持OAuth1.0,SpringSocial仍然坚持着与这些服务供应方的连通性,个中有出名的Triplt和Dropbox等。但当部署必要毗连OAuth1.0服务的使用时,仍需坚持小心。
InfoQ:Twitter(或是其他)的服务供应方所需用到的密钥必要经由过程加密的体例保留到数据库中,SpringSocial对此是不是供应了撑持?
CraigWalls:固然!受权给使用的标识和密钥,在会见用户资本时城市用到,这些都必要避免被窥伺到。因而,在设置SpringSocial毗连库时,必需为毗连库选择加密机,该加密机将在传输标识和密钥时启动。加密机可经由过程完成SpringSecurity的TextEncryptor接口的体例完成。在我们供应的示例使用中,接纳了不带有任何操纵的文本加密机,以此来简化SpringSocial初学者的进修曲线,但关于上线的使用来讲,利用强健的加密机仍是很有需要的。
InfoQ:最初,基于OAuth的道理和扫瞄器的三条腿认证的特征,您是不是以为SpringSocial次要合用于基于用户扫瞄器的基于Web的体系,关于无头体系(HeadlessSystem,在无鼠标、键盘和显现器情况下事情的体系)SpringSocial是不是也合用呢?
CraigWalls:SpringSocial1.0.0供应了对用户操纵过程当中利用到的OAuth1和OAuth2的撑持。这也就是一般意义上的三条腿OAuth1和OAuth2认证流程。这都必要经由过程用户扫瞄器来重定向到服务供应者举行受权。
但这其实不意味着利用SpringSocial的使用必定如果基于Web的。以Android使用为例,明显不是一个Web使用,但一样可使用SpringSocial来毗连服务供应方。这时候,在必要受权时只需挪用Android设备中的扫瞄器便可,使用中的其他部分完整能够是基于当地化开辟的。
至于无头体系,还可选择其他的无需用户介入的受权战略,比方两条腿OAuth1大概是OAuth2的用户名暗码形式(ResourceOwnerPasswordCredentials),也有客户端考证的体例可供利用。SpringSocial的1.0.0版本中还没有供应对以上认证战略的撑持,可是已思索在将来的公布中增添出来。
更多信息可会见SpringSocial首页,个中列出了可用的其他毗连器。只管1.0版本中包括了Facebook和Twitter毗连器,其他毗连器(比方GitHub、Triplt和LinkedIn等)和其他社区的相似于Foursquare和Instagram的毗连器仍处于开辟阶段。任何干于SpringSocial的成绩,都接待鄙人方的批评中留言。
检察英文原文:InterviewwithSpringSocialLeadCraigWalls
译者贾国清是InfoQ中文站初级筹划编纂,酷爱生存,喜好旅游和体育活动。

你对java乐观有点盲目。java的关键就是在服务器上表现优异,而且它提供了整个开发所需要的工具。应该是说,看哪天。net网页编程有没有机会赶上java。

爱飞 发表于 2015-1-20 17:48:16

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

简单生活 发表于 2015-1-24 15:11:48

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

精灵巫婆 发表于 2015-1-31 12:29:34

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

深爱那片海 发表于 2015-2-6 19:22:18

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

老尸 发表于 2015-2-18 09:13:11

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

小女巫 发表于 2015-3-6 02:16:04

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

若相依 发表于 2015-3-12 18:43:57

是一种使网页(Web Page)产生生动活泼画面的语言

透明 发表于 2015-3-20 01:38:50

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

乐观 发表于 2015-3-21 14:42:30

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

兰色精灵 发表于 2015-3-23 08:23:26

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

蒙在股里 发表于 2015-3-27 20:09:57

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

山那边是海 发表于 2015-4-12 01:03:15

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

因胸联盟 发表于 2015-4-12 19:39:00

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

飘飘悠悠 发表于 2015-4-16 09:51:52

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

柔情似水 发表于 2015-4-22 06:15:07

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

灵魂腐蚀 发表于 2015-4-23 20:19:11

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

admin 发表于 2015-5-1 20:58:11

Java 编程语言的风格十分接近C、C++语言。

活着的死人 发表于 2015-6-6 09:41:36

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

不帅 发表于 2015-6-9 06:22:05

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
页: [1] 2
查看完整版本: JAVA编程:采访Spring Social项目卖力人Craig Walls仓酷云