伟大的印度开发者峰会 (GIDS) 2015 于 4 月 21 日至 24 日在班加罗尔举行,后续的 GIDS.Mini 于 4 月 25 日在海得拉巴举行。 GIDS 无疑是南亚最大、最重要的开发者盛会。也许反映了全球软件开发人口结构的变化,GIDS 现在也可能成为世界上最大的开发者大会之一。这是该活动又一个非常成功的一年。像往常一样,它吸引了 Java 及其他领域最优秀、最聪明的人。能够在活动中发言真的是一种荣幸,我更幸运的是在那里参加了许多 Java EE 会议。在印度时,我很高兴地说,在 GIDS 之前和之后,我还在 Madras JUG(金奈)和海得拉巴 JUG 的几个完全由社区驱动的 JUG 活动中发表了演讲。 GIDS 非常慷慨地全力支持我参与两个 JUG。
4 月 21 日,我带着 Madras JUG 在金奈开始了我的印度之旅。他们非常热情地邀请我并组织了为期一天的活动。对于新成立的 JUG 来说,这是一次非常勇敢、充满激情的努力,主要的 JUG 成员都在发言。您可以 在此处 查看完整议程。
我以题为“为什么开放标准和 Java/EE 很重要”的演讲开始了这一天。设计为主题演讲,演讲涵盖了一个非常重要的主题,我认为那里的材料太少了。它讨论了 Java EE 等标准在维护健康竞争市场方面的核心价值主张。它将开放技术标准与所谓的“事实标准”区分开来,并探讨了开放源代码与开放标准之间的关系。我还谈到了社区可以做些什么来使标准真正发挥作用。演讲涉及我在职业生涯中从未从事过的研究领域之一,而且似乎很少有开发人员真正掌握经济分析的基本知识。这是我等了很多年的演讲,我很高兴我终于能够开始演讲了。在某种程度上,它体现了许多核心动机,这些动机让我继续努力推动 Java EE 标准向前发展。演讲的幻灯片在这里(如果看不到嵌入式幻灯片,请单击 此处 ):
午饭后,我发表了今年的主要推动演讲,题为“Java EE 8 的新功能”。演讲涵盖了 Java EE 8 的可能性,例如 HTTP 2/Servlet 4、服务器发送事件 (SSE)、新的标准面向操作的 Web 框架、安全简化、REST 管理/监控、更好的 JSON 支持、CDI 2、平台范围的 CDI 对齐、更多修剪、JCache、JMS.next() 和 Java SE 8 对齐。我还介绍了 Adopt-a-JSR 。演讲的幻灯片在这里(如果看不到嵌入式幻灯片,请单击 此处 ):
请注意,我在可下载的 PowerPoint 演示文稿中添加了详细的演讲者注释供您使用。这意味着如果您愿意,您可以自己发表演讲。
当天结束时,我给出了一个非常初步的、即兴的纯幻灯片版本,这是我最新的一次演讲,标题为“使用 Java EE 的脚踏实地的微服务”。谈话有两个目的。首先是尝试做正确的事情来解释微服务到底是什么以及何时应该考虑(或不考虑)它们。第二个目标是展示为什么 Java EE 对于开发合理的微服务(所谓的“单体”以及介于两者之间的一切)具有完美的自然意义。我还简要探讨了 Java EE 社区的某些部分正在做的工作,以支持我亲切地称之为“微服务极乐世界”的东西(剧透:我认为我们大多数人都不能或不需要达到这种极乐世界)。本次演讲的幻灯片如下(如果看不到嵌入式幻灯片,请单击 此处 ):
我真的很高兴在 Madras JUG 会见所有好人,并希望在机会允许的情况下尽快再次在那里发言。
我印度之行的下一站是 4 月 23 日去班加罗尔参加 GIDS.Java。我选择乘公共汽车从金奈到班加罗尔,而不是再坐一次沉闷的航班。我绝对推荐它作为一种了解真正的印度乡村的方式,尽管人们应该期望这是一种崎岖、脚踏实地的体验,无法与大多数印度人口预算之外的航班相提并论.我在早上开始了 GIDS,并发表了关于 Cargo Tracker/Java EE + DDD 的非常受欢迎的演讲。本次演讲基本上概述了 DDD,并描述了 DDD 如何使用来自 Cargo Tracker Java EE Blue Prints 项目的代码示例/演示映射到 Java EE。下面是演讲的幻灯片(如果看不到嵌入的幻灯片,请单击 此处 ):
谈话进行得很顺利,座无虚席。在整个会议期间以及之后,我都收到了一些很好的问题。下午,我发表了我最近的一次演讲,题为“Reactive Java EE - 让我数数方式!”。它使 Java EE 与核心反应式编程原则保持一致。尽管很多人没有意识到,Java EE 长期以来一直很好地支持异步、事件驱动、非阻塞的可扩展系统。这包括 JMS、消息驱动 Bean、异步会话 Bean、CDI 事件/观察者、异步 Servlet/NIO、服务器/客户端 JAX-RS、WebSocket 异步支持和 Java EE 并发实用程序等功能和 API。这些功能可以以高度响应的方式使用,尤其是与 Java SE 8 lambda、流和 CompletableFuture 结合使用。演讲的幻灯片在这里(如果看不到嵌入的幻灯片,请单击 此处 ):
这次演讲也很紧凑而且很受欢迎——到目前为止,我每次演讲时基本上都是如此。我结束了 GIDS.Java 的另一篇非常流行(但较旧)的演讲是关于使 Java EE 7 与 HTML 5/JavaScript 富客户端格局保持一致。我在演示中使用 AngularJS,但这些概念可以应用于任何使用 Java EE 7 后端的 JavaScript(甚至本机移动)前端。这次会议也是座无虚席,会后反馈非常好。演讲的幻灯片张贴在下面(如果看不到嵌入式幻灯片,请单击 此处 ):
本次演讲的目标之一实际上是为您提供探索此类架构的入门代码。演示代码发布在 GitHub 上: https ://github.com/m-reza-rahman/javaee-javascript。如果您需要帮助启动和运行演示,请告诉我,但这应该非常简单。
我的下一站是 GIDS.Mini 和 Hyderabad JUG 的海得拉巴。我又坐了一次很酷的巴士,从班加罗尔到海得拉巴。 GIDS.Mini 本质上是班加罗尔为期四天的活动的精简版。我为 GIDS.Mini 重复了 JavaScript/HTML 5 + Java EE 演讲。与班加罗尔相比,考虑到更紧凑的形式因素、更少的人群和更少以 Java 为中心的观众,出席人数适中。
在 GIDS.Mini 之后的第二天,Hyderabad JUG 举办了 官方 Java EE 7 动手实验室 全天研讨会。在 Rajmahendra 非常有能力的领导下,JUG 是印度最成熟和最活跃的。该活动在 Oracle 海得拉巴办事处举办。研讨会座无虚席,自始至终都得到了极好的反馈(只需在活动页面上查看 非常友好的评论 )。我的目标是让实验室体验尽可能顺畅。我必须说我认为我终于完善了实验室以实现这一目标。我的下一个挑战是要么远程运行实验室,要么帮助其他人完全独立运行。如果您有兴趣探索其中任何一个,如果您伸出手,我将很高兴 :-)。
公开可用的动手实验室实际上是一个非常好的资源,可以让您亲身体验 Java EE 7。整个实验室被巧妙地编写成逐步说明的脚本,并植入了一些入门代码,以便在很大程度上是自我指导和自定进度。这个想法是任何人都应该能够自己完成实验室,甚至可以在自己的组织中领导实验室。现在,我什至为想要自己运行实验室的任何人添加了入门指南。如果时间允许,我的下一步是创建一个入门视频(Rajmahendra 的一个很好的建议!)。
我特别感谢 Lars(位于左上角的照片)和 Rajmahendra(位于左下角的照片)整天帮助运行实验室!这可能是迄今为止我所见过的规模最大、最成功的实验室执行,我期待着在机会允许的情况下尽快再次回到 JUG。
尽管像这样的长途多目的地旅行可能会很艰难,但好处是人们可以利用他们的个人时间来探索您的目的地。我充分利用我在钦奈、班加罗尔和海得拉巴之间的休息时间探索了一些景点,例如马哈巴利普拉姆的联合国教科文组织世界遗产古石庙、钦奈的 Valluvar Kottam、班加罗尔的蒂普苏丹宫殿以及海得拉巴的 Golkonda 堡垒、Charminar 和 Qutab Shahi 陵墓。这是我第二次去班加罗尔和钦奈,但对我来说,印度似乎永远是一片充满奇迹的土地。要明白我的意思,请查看下面的相册(如果看不到嵌入的幻灯片,请单击 此处 ):
我还必须说,从我的飞机降落到起飞的那一刻,印度证明了这是一片热心、善良、好客的国家。我指的不仅仅是 Java 社区中的好人,而是我在印度遇到的众多人中的每一个人。印度人可能仍然有许多他们必须放弃的东西,但印度人并不缺乏自豪感、希望、礼貌和好客。总而言之,我的印度之行非常愉快,我期待很快再次回来。