在我的最后一篇文章中,我解释了如何在WildFly 8.1上使用SwitchYard。 同时,该项目很忙,并发布了另一个Alpha2。 这是一个很好的机会,在这里浏览快速入门并刷新您的记忆。 除了版本更改之外,您仍然可以使用较早的博客来使用最新的Switchyard设置本地WildFly 8服务器 。 与所有框架一样,有很多东西可以探索,而这样做的先决条件是拥有一个可以正常工作的开发环境,以使其变得更容易。
设置JBoss Developer Studio
首先是第一件事。 下载适用于您的操作系统的最新JBoss Developer Studio(JBDS)7.1.1.GA的副本并进行安装。 您应该已经有一个简单的JDK:
java -jar jbdevstudio-product-eap-universal-7.1.1.GA-v20140314-2145-B688.jar
将工作。 简单的9步安装程序将指导您完成必要的步骤。 确保选择合适的JDK安装。 JBDS可以使用Java SE 6.x和7.x,并且已经过测试。 如果愿意,请安装完整的EAP,但这不是本教程的必要条件。 没有EAP的基本设置需要大约400 MB的磁盘空间,并且不应该花费几分钟。 如果完成了那部分,请启动IDE,然后继续并配置工具。 我们需要JBoss工具集成栈(JBTIS)。 通过访问“帮助->安装新软件”来配置它们,并使用“添加”按钮添加新的更新站点。 将其称为SY-Development,并将其指向:“ http://download.jboss.org/jbosstools/updates/development/kepler/integration-stack/”
等待列表刷新并扩展JBoss集成和SOA开发,然后选择所有三个SwitchYard条目。 在向导中单击您的方式,即可重新开始。
安装后,请确保禁用首选项中的“荣誉”所有XML模式位置,即XML→XML文件→验证。 这将防止在switchyard.xml文件中出现错误的XML验证错误。
就是这样。 继续并从先前的博客文章 (导入-> Maven->现有Maven项目)中导入bean服务示例。
有关SwitchYard项目的一般信息
在深入研究bean服务示例之前,让我们进一步了解SwitchYard项目的总体布局。 SwitchYard项目是基于Maven的项目,具有以下特征:
- 项目的META-INF文件夹中的switchyard.xml文件
- 在pom.xml文件中声明的一个或多个SwitchYard运行时依赖项
- 在pom.xml文件中配置的org.switchyard:switchyard-plugin mojo
通常,SwitchYard项目还可以包含用于实现应用程序的各种其他资源,例如:Java,BPMN2,DRL,BPEL,WSDL,XSD和XML文件。 该工具支持您创建,更改和开发SY项目。 您还可以将SY功能添加到现有的Maven项目中。 可以在Eclipse工具的文档中找到更多详细信息。
探索Bean服务示例
Bean-Service示例是对SY产生第一印象的更简单示例之一。 Quickstarts存储库中的所有示例应用程序都包含在安装的quickstarts /目录中,也可以在GitHub上找到 。 bean服务快速入门演示了bean组件的用法。 该场景很简单:通过OrderServiceBean提供的OrderService和通过InventoryServiceBean实现提供的InventoryService负责订单。 订单通过OrderService.submitOrder提交,然后OrderService在InventoryService中查找项目,以查看它们是否有库存,并且可以处理该订单。 到目前为止,它基本上是一个基于CDI的简单Java EE应用程序。 在此应用程序中,通过SOAP网关绑定(用小信封表示)调用了简单的过程。
让我们深入研究实现。 查看OrderServiceBean将揭示更多细节。 定义操作的是OrderService接口的实现。 OrderServiceBean只是一个bean类,很少有额外的CDI批注。 最值得注意的是:
@org.switchyard.component.bean.Service(OrderService.class)
@Service批注允许SwitchYard CDI扩展在运行时发现您的bean并将其注册为服务。 每个bean服务必须具有@Service批注,该批注的值标识该服务的服务接口。 除了在SwitchYard中提供服务之外,Bean还可以使用其他服务。 这些参考文献需要注入。 在此示例中,注入了InventoryService:
@Inject@org.switchyard.component.bean.Referenceprivate InventoryService _inventory;
最后,您所需要的只是switchyard.xml配置文件,其中描述了服务,组件,类型和实现。
<composite name="orders" ><component name="OrderService"><implementation.bean class="org.switchyard.quickstarts.bean.service.OrderServiceBean"/><service name="OrderService"><interface.java interface="org.switchyard.quickstarts.bean.service.OrderService"/></service></component>
</composite>
那是一个非常Swift的失败。 我们还没有涉及Web服务端点,WSDL和Transformer配置和实现。 看看mastertheboss发布的SwitchYard教程 ,并有机会在以下链接中阅读有关SY的更多信息:
- SwitchYard项目文档
- SwitchYard主页
- JBoss.org上的社区页面
- SwitchYard是Fuse ServiceWorks的一部分,可以在完整的SOA套件中尝试一下。
翻译自: https://www.javacodegeeks.com/2014/10/exploring-the-switchyard-2-0-0-alpha2-quickstarts.html