IB(Integration Broker)是PeopleSoft SOA的基础。PeopleTools 8.4引入了该技术,目的是提供一种机制,该机制可以将PeopleSoft应用元素作为web service以及消费其他web service。IB 可以在PeopleSoft系统之间或者PeopleSoft系统与其他应用之间发送消息。可以同步的或者异步的处理这些消息。
当PeopleSoft系统与其他系统进行接口数据交换,以及在PeopleSoft系统之间使用PeopleSoft门户(Protal)技术创建无缝的环境时,这种技术变得越来越普遍了。Oracle在2007年应用集成架构(AIA)声明中强调了该项技术的重要性。其他ERP赞助商(包括Oracle)附带了API以允许其系统间的消息集成。
最普遍的消息传送可能就是将数据从一个系统复制到另一个系统,通常是异步的方式。例如,消息传送可以用于同步PeopleSoft系统间的操作者密码,或者将HCM中的全球薪资数据发送到PeopleSoft或其他财务系统的总账模块中。
同步消息传送的一个例子就是调用web service获取另一个系统的实时信息。
入站消息发送到PeopleSoft系统集成网关(Integration Gateway)。该网关是web服务器中的另一个servlet,虽然它经常在单独的web 服务器中被使用。然而,一个网关可以被多个PeopleSoft数据库共享。网关将PeopleSoft节点映射到应用服务器域,与JSL/JSH进程通信的方式类似于其他servlets。PSAAPSRV以和在线用户相同的方式处理同步服务请求。异步入站消息被存储在数据库的应用消息订阅(application message subscription)队列表中,然后被订阅进程(subscription process,该集成会对新消息进行轮询)获取以及处理。
出站消息通过应用服务器或者AE批处理进程产生。异步出战消息会被放置到应用消息发布(application message publication)队列表中,然后发布服务器进程(publication server processes)获取该消息并对其进行处理。下图显示了具有发布和订阅服务器的应用服务器域:
总共有三对进程类型:Broker调度器(Dispatcher)、Publication调度器、Subscription调度器以及Broker处理器(Handler)、Publication处理器、Subscription处理器。
调度器进程(PSBRKDSP, PSPUBDSP, 和 PSSUBDSP)通过定期的对数据库中的消息队列表进行轮询操作来查找没有被处理的异步消息,将异步的Tuxedo服务请求提交给相应的处理器(handler)队列,相应的处理器进程就会对该队列进行处理。在单个的域中,每种类型的调度器只能运行一个。与PSAPPSRV进程相似,处理器进程(PSBRKHND、PSPUBHND和PSSUBHND)处理服务请求,但是此处的服务请求来自于调度器进程,而不是JSH。因为循环利用以及必须处理大量负载的原因,每种类型的处理器进程至少应该有两个实例。