在 2 月 2 日由 @百度主办、 @InfoQ 负责策划组织和实施的第 35 期百度技术沙龙活动上,来自百度商业运营团队架构组负责人、百度商业运营产品 Java 开发框架 (BJF) 的研发负责人谢马林和甲骨文公司 Java 与嵌入式系统事业部资深业务发展与解决方案顾问慕睿涛分享了在 Java 方面的的经验与实践,话题涉及“百度商业产品 Java 技术实践”,以及“拥抱物联网——JavaME 的新方向”等。本文将对他们各自的分享做下简单的回顾,同时提供相关资料的下载。
主题一:百度商业产品 Java 技术实践(下载讲稿)
百度商业运营团队架构组负责人、百度商业运营产品 Java 开发框架 (BJF) 的研发负责人谢马林第一个为大家分享,话题涉及三个方面的内容:商业产品的开发挑战、构建商业产品开发平台、面向集成的架构平台。
商业产品由于是纯业务需求驱动、业务和系统交互复杂等原因,在开发时面临很多挑战:
- 需要同时覆盖开发技术和专业知识
- 复杂的业务逻辑加重设计难度
- 集成难度大,业务扩展速度快
- 单元测试与集成测试实现难度和成本高
- 运维成本高
基于以上挑战,谢马林谈到了他们在构建商业产品时的一些期望,即提升开发效率、提升开发质量、提升安全,性能,稳定性与管理、降低维护成本和统一标准化的开发模式。
在提升产品开发效率方面百度主要做了如下的改进:
- 改进开发模式,通过 JRIA(Java Reload-Intime Agent) 提供 Java 实时开发模式的支撑,缩短开发与部署时间;
- 开发工具支持,通过 RJDT(Remote Java Development Tool),一款 Eclipse 插件,提供远程增量与全量部署,并且具有 Web 版代码生成工具、ETL 数据转换工具、敏捷脚本开发等;
- 简化开发难度,主要是通过建构组件化开发平台,全注解化的 BJF 开发框架来完成;
在提升产品开发质量方面,他们通过提供分析与优化工具(在线的分析工具 Fishing Net 来支持可扩展的监控与分析、SQL 分析与优化工具实现非侵入式的离线与在线的 SQL 分成与优化功能)、组件化等方式做出保障。
在提升产品安全与管理方面,百度通过数据加密服务平台、权限管理平台、基于 Web/JMX 的内置服务管理等方式来实现,并通过统一的日志规范、无侵入式的 Java 监控解决方案和统一的监控模型定义来降低产品的维护成本。
主题二:拥抱物联网——JavaME 的新方向(下载讲稿)
甲骨文公司 Java 与嵌入式系统事业部资深业务发展与解决方案顾问慕睿涛第二个为大家分享,他谈到了当前物联网发展中遇到的障碍:
- 私有的软硬件方案
- 缺乏标准化应用开发平台
- 硬件平台不统一
- 开发者数量优先、软件开发的产业结构尚未成型
- 带宽限制
- 平台成本以及计算能力限制
针对这些问题,他列举了 10 点优势指出“Java 是物联网应用开发平台最佳的选择”:
- 有效分离软硬件开发周期,软件可以完全独立于硬件进行研发
- 软件开发与测试工作能够在桌面系统完成,并借助模拟器进行大部分调试工作
- 成熟的编程语言、API、运行环境与工作
- 易于创建高性能、安全、稳定的跨平台应用
- Java 有效的隔离了不同平台在语言以及系统上的差异
- 支持大多数流行的嵌入式 CPU 体系结构
- 支持嵌入式应用对于低内存占用、电源管理、低相应延迟等关键性需求
- 充分利用已有的 Java 开发者资源与代码资源
- 易于与 Java 后端服务集成、创建端到端的解决方案
- 基于开放标准解决平台差异化带来的问题,在保持设备多样性的同时,为开发者提供标准化的软件平台
随后他列举了 Java 物联网终端软件架构所必须的平台:CLDC、IMP-NG/MIDP,以及一些推荐 JSRs 等。对于 CLDC 8,他介绍了一些关键特性,如:语法改进、Virtual Machine 更新、GCF 支持 Multicast UDP 等。
最后他以集装箱运输管理为案例指出通过“转变嵌入式开发方式”以及“D2D(终端到数据中心)”的发展,将会带来物联网应用开发的新变革!
为了促进参会者与我们每期的嘉宾以及讲师近距离交流,深入探讨在演讲过程中的疑问,本次活动依然设置了 Open Space(开放式讨论)环节,大家在现场针对自己感兴趣的话题进行分组讨论。
会后,一些参会者也通过新浪微博分享了他们的参会感受:
瑞阳:昨天参加了百度技术沙龙关于应用开发框架和 J2ME 物联网应用主题的分享,延展了架构的想法,要不断开阔视野,更要细分领域专注耕种,早上好。
闪联 - 云朋:百度技术沙龙主讲有点风趣,讲到的使用 JavaME 作应用开发,硬件的性能的支持,应用交互都需要有经验的人加入进来,也需要更多的 Oracle 的支持和推广。
venuswuu :百度技术沙龙感觉第一个话题可以总结几个词“解耦”、模块分工清晰、复用、扩展性强 ;“大而强” 日志都上升到平台的高度了,这是什么样的需求“深入”钻到 JVM 里面去了,最后那个集成平台神马的没太听懂。
tt_iceberg :编辑团队已经提出系统变慢,在百度技术沙龙中收到一部分经验,考虑到工作量和人数打算采用持续小规模重构,阶段性大规模重构,SQL 分析等各个方面来综合分析解决。
杨高超:百度技术沙龙这一次讲的商业开发模式对开发团队能力的提升非常有用。
有关百度技术沙龙的更多信息,可以通过新浪微博关注 @百度技术沙龙,或者参加百度技术沙龙微群,InfoQ 上也总结了过往34 期所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览内容。
特别提示:第36 期百度技术沙龙将在3 月16 日,在北京举行,欢迎关注 @InfoQ 、 @百度技术沙龙获取后续的活动信息。
评论