JMS -- Java Messaging System
JMX -- Java Management Extension
JMX allows you to remote access other application from within your application. Imagine a local Java application calling a remote server to start jobs, getting information or do what ever you like. JMX allows you to connect your application between multiple servers across the Internet or a LAN.
AOP -- Aspect Oriented Programming and Inversion of Control
Cross Cutting Concerns -- 横切关注点
什么是面向方面编程?
面向对象的分析和设计引入了继承、抽象和多态等概念,由此为我们提供了降低软件复杂性的工具。但是,开发人员在软件设计过程中仍然经常会面对无法用面向对象软件开发技术轻易解决的问题。这些问题之一就是如何处理应用程序中的横切关注点(Cross-cutting concerns)。
横切关注点
关注点就是设计人员感兴趣的某一概念或区域。例如,在一个订货系统中,核心关注点可能是订单处理和生产,而系统关注点可能是事务处理和安全管理。
横切关注点是影响多个类或模块的关注点,即未能很好地局部化和模块化的关注点。
横切关注点的表现有:
·代码纠结——当一个模块或代码段同时管理多个关注点时发生这种情况。
·代码分散——当一个关注点分布在许多模块中并且未能很好地局部化和模块化时发生这种情况。
这些现象会从几个方面影响软件;例如,它们会导致软件难以维护和重用,并且难以编写和理解。
关注点的隔离
面向方面编程试图通过引入“关注点的隔离”这一概念来解决这些问题。采用这一概念,可以以一种模块化而且适当局部化的方式实现关注点。AOP解决这个问题的办法是在设计空间中增加额外一维,并且引入了一些构造,这些构造使我们能够定义横切关注点,将它们转移进新的维,并且以模块化方式将它们打包。
The rest is needed but hhmm.. do I need the rest here? It makes the code difficult to read and even more difficult to test.This is where Aspect Oriented Programming comes on the scene.(on the scene出现, 到场, 在场)
Spring allows you to use so-called(adj.所谓的, 号称的) POJO (Plain Old Java Objects) for your domain classes
(domain class = e.g. a class Book representing a entity book) or your business logic. This will keep your code clean and easily to understand.
This is true to some extend (in some measure – to some extend or degree在某种程度上:His failure is in some measure due to lack of confidence.她的失败在某种程度上是由于缺乏信心。in great/large measure在很大的程度上) but in my opinion at least the user should not see a Java stack trace from an exception when using the application.
mediocre (adj. 普普通通的) developers as me
This is by far too much.
(by far 最,显然:到达极为明显的程度:到目前为止。
She is by far the best executive in the company.
她目前是公司中最为优秀的决策人)