张卫滨

张卫滨

注册时间:2013-06-17

Java应用架构设计:模块化模式与 OSGi(序)

“分而治之”是解决复杂问题的有效方式。 面对业务功能复杂的企业级软件,我们会寻找各种方式和标准进行拆分,其目的无非是降低每一部分的复杂性并提高软件重用的便利性。在本书中,作者提供了解决这类问题的另一种方案,那就是模块化。借助模块化技术,我们可以提升软件的架构水平,填补架构师和开发人员在相互理解上的鸿沟,同时又能提升软件的可重用性,控制软件的复杂性。


Java应用架构设计:模块化模式与 OSGi(1)

模块化的理由: 市面上从来不缺乏软件设计方面的图书。有很多的书会教导你面向对象设计的基本和高级 理念。你还会发现几乎有同等数量的书来教导你 面向服务架构的基本和高级概念。但是,这里缺失了一部分:模块化。将系统的最高层架构和内部代码结合起来的深刻讨论,你应该很少见到。 在本书第一部分中,我们首先在模块这个词上达成共识。然后马上会讨论模块化的两个方 面:运行时模型和开发模型。从这里开始,将会考 察模块化怎样帮助我们实现“自上而下的架构”,这是通过将重要的 高层架构组件与更具体的实现结合在一起做到的。复杂性是我们要征服的怪兽,而重用是我们想得到的灵丹妙药,模块化在这两个方面都会给我们提供帮助,我们会讨论它在这个过程中所扮演的重要角色。最后,在进入模块化模式之前,会通过一个样例练习介绍模块化的收益。在整个过程中,我们为使用模块化找到了充分的理由。


Java应用架构设计:模块化模式与 OSGi(2)

模块化包含两个方面:运行时模型和开发模型。现在,关注的重点是运行时模型,出现了一些支持运行时模块化的框架。但最终,随着运行时模型的采用,开发模型的重要性将会占据主导地位。在本书中,关注开发模型的模式称为设计范式(design paradigm)。


Java应用架构设计:模块化模式与 OSGi(3)

模块化在软件架构中扮演着重要的角色。它填补了自从用Java开发企业软件系统以来就一直存在的空白。本章将会讨论这个空白领域并探讨模块化是如何作为重要的中间技术填补这个空白的。


OSGi中该使用Blueprint还是声明式服务?

在OSGi中,服务是实现bundle间交互和应用灵活性的基石。Blueprint与声明式服务简化了开发人员的服务注册工作,不过这两种方式的实现原理与适用场景均有所不同,最近来自Redhat的首席软件工程师Ioannis Canellos撰文对此进行了分析。


OSGi中的服务模式与扩展者模式

  在OSGi中,服务模型和扩展者模型是实现bundle间交互和扩展性的常用手段,最近在Stackoverflow上出现了关于这两种方式利弊和适用场景的讨论,OSGi的资深专家 Peter Kriens和Neil Bartlett对此进行细致的阐述。


2014-08-31 07:40评论 "【分享】张卫滨老师 QClub 演讲材料":

现在换了一家新公司,对OSGi使用的少了,但是我觉得OSGi是很棒的技术,值得持续关注,目前正在翻译一本书,等翻译完后我会抽时间将自己使用OSGi的一些经验总结一下

2014-08-26 05:18评论 "【分享】张卫滨老师 QClub 演讲材料":

因为听众基本上都不了解osgi,所以内容比较基础~

2013-10-10 04:25评论 "Java应用架构设计:模块化模式与 OSGi(序)":

回复ajiaoJoan: 希望对您有用

2013-10-10 04:24评论 "Java应用架构设计:模块化模式与 OSGi(2)":

回复北海飞舞: 是的 不过作者在书中有不少的章节展开讲这些内容,希望你能中奖,呵呵

2013-10-10 04:23评论 "Java应用架构设计:模块化模式与 OSGi(1)":

回复北海飞舞: 作者在最后一章提出了这样的一种愿景,不过要实现的话,恐怕还要有一段路要走

2013-08-06 11:59评论 "GlassFish OSGi-JavaEE Part1: GlassFish与企业级OSGi开发":

回复罗俊杰: 好的 3ks

2013-08-06 11:32评论 "GlassFish OSGi-JavaEE Part1: GlassFish与企业级OSGi开发":

请指明原文链接吧

2013-06-17 09:48评论 "模式7:Container Independence":

《Java应用架构》这本书由华章图书引进,本人翻译,目前已经交稿了,预计8月底出版,到时候可以和出版社商量一下,发一些样章上来<br>ps:这个社区很不错