Java 这是一个面向服务的体系结构吗?

Java 这是一个面向服务的体系结构吗?,java,soa,Java,Soa,我在大型j2eeweb应用程序和高事务性核心java应用程序方面有多年的经验,但从未有过SOA方面的经验 目前我正在做一个新项目,但架构已经完成。我们Java开发人员开发EJB服务,最终将基于JAXB的Java对象发送到C.net客户端,以呈现仅在公司11000用户中使用的UI。我们的想法是,未来世界各地可能会有互联网用户,我们将开发一个基于J2EE的web应用程序,该应用程序将使用相同的服务 这真的是一个面向服务的体系结构吗?SOA可以通过使用JAXB绑定的Java对象(可以从许多平台使用)以

我在大型j2eeweb应用程序和高事务性核心java应用程序方面有多年的经验,但从未有过SOA方面的经验

目前我正在做一个新项目,但架构已经完成。我们Java开发人员开发EJB服务,最终将基于JAXB的Java对象发送到C.net客户端,以呈现仅在公司11000用户中使用的UI。我们的想法是,未来世界各地可能会有互联网用户,我们将开发一个基于J2EE的web应用程序,该应用程序将使用相同的服务

这真的是一个面向服务的体系结构吗?SOA可以通过使用JAXB绑定的Java对象(可以从许多平台使用)以这种方式完成吗


我从来没有做过任何SOA工作,所以我想更正一些术语。多谢各位

SOA架构必须遵守以下规则:

•SOA组件是松散耦合的。当我们说松耦合时,意味着每个服务都是自包含的,并且逻辑上独立存在。例如,我们使用“支付网关”服务并将其连接到不同的系统

•SOA服务是黑盒子。在SOA中,服务隐藏着内在的复杂性。它们仅使用消息进行交互,并根据这些消息发送服务。通过将服务可视化为黑匣子,服务变得更加松散耦合

•SOA服务应该是自定义的:-SOA服务应该能够定义自己

•SOA服务在列表中维护:-SOA服务在中央数据库中维护 存储库。应用程序可以在中央存储库中搜索服务并相应地使用它们

•可以对SOA组件进行编排和链接,以实现特定的功能。可以以即插即用的方式使用/编排SOA服务

只要您不违反上述任何规则,您使用的技术/语言并不重要

有关更多信息:


SOA的所有含义都是外部组件可以使用功能。通常SOA指的是XML/RESTful接口,但这只是惯例


SOA与EJB或JAXB等实现细节无关。SOA就是要创建松散耦合、谨慎的服务,通常是web服务。然后,这些服务可以由任何业务逻辑层运行,以满足业务需求

然后,您可以在业务逻辑层上添加一个UI层,比如JavaSwing或SWT,以创建一个客户端应用程序,类似地,您也可以创建一个web应用程序。在每种情况下,您都使用相同的web服务。这就是SOA

这真的是一个面向服务的体系结构吗? SOA是一个时髦词。您还可以将其视为RBMDC=>可由许多不同的客户机架构重用

它与实际的数据类型XML、JSON、binary等无关。。也不使用HTTP、TCP/IP、SOAP等协议

归根结底,您拥有X个业务功能,这些功能可供外部或内部客户机使用。这些业务功能在技术上被标记为服务,因此您的体系结构是面向服务的


您在示例中描述的是buzz架构师所称的SOA=>答案是肯定的。

肯定。这正是SOA的含义。问自己以下问题:

您是否正在开发一个封装业务逻辑的层。。这样做时可能与数据库交互? 该层的设计方式是否允许多个视图或其他层调用以获取信息? 如果答案是肯定的,那么这就是SOA。您将有多个客户端->在网关上调用,网关可能是您的web服务器->将请求定向到您的服务。然后返回数据

一旦您开发了网关,那么您需要集中精力开发服务,其他模块可以使用它

松耦合很好,不是吗


我在一个项目中做的正是你正在做的。后端的C SOA和Java EJB..:

SOA指的是一组广泛的体系结构,这些体系结构满足一组被广泛理解的需求。无论如何,这不是一个时髦词。它是千方百计的。这种喧嚣造成的伤害远大于好处。如果您今天构建了您的团队,并且它实际上包含了可靠的开发人员=>您的最终产品将是您称之为SOA的产品,但是这些开发人员中没有一个会说出或使用这个术语。固态体系结构促进了可重用性、不变性等。。我不明白现代程序员对SOA原则的理解如何意味着SOA本身就是一个时髦的词。我不确定SOA原则是否被很好地理解。我没有遇到任何人能清楚地解释这些问题。这个问题的公认答案是用一系列其他流行语来定义SOA!