一个RUC应用是运行在WSE Server上的,可以在WSE Console中维护。
RUC如何被使用?
RUC向外界暴露三种接口
1.MDB
2.WS
private SampleRemote_SEIProxy getSampleWS() {
SampleRemote_SEIProxy rucWS = new SampleRemote_SEIProxy();
try {
String endpoint = (new URL("http", RUC_SERVER_HOST,
RUC_SERVER_PORT,
"/ibmse_ruc_sampleRUC_ejbHttpRouter/services/Sample"))
.toString();
rucWS.setEndpoint(endpoint);
} catch (MalformedURLException e) {
e.printStackTrace();
}
return rucWS;
}
3.SLSB
private SampleRemote getSampleSLSB() throws NamingException {
InitialContext ic = new InitialContext();
logText("Looking up ejb/ruc/Sample in InitialContext");
SampleRemote ruc = null;
Object stub = ic.lookup("ejb/ruc/Sample");
if (stub != null) {
logText("Found non-null ejb/ruc/Sample in InitialContext");
ruc = (SampleRemote) PortableRemoteObject.narrow(stub,
SampleRemote.class);
} else
logText("Could not find ejb/ruc/Sample in InitialContext");
return ruc;
}
RUC如何使用其他的接口?
它也在使用其他的服务,服务分为两种,一种是WSE内部的,例如DB。
另外一种是外部的,如ruc.maximo. 首先,内部的接口比较容易被使用,形成了SLSB,JMS,DB三种最容易的方式。使用外部的服务则麻烦一点,例如ITS或maximo,在Maximo中 ,它具备IFM可以让其他系统的集成容易一些,通过IFM生成的WSDL,可以在WSE中使用。于是RTAL中,WSE和Maximo的集成是这样的:WSE中使用一个RUC,RUC调用targetBackend,这个targentBackend就是一系列的WS类。RUC agent通过这个backend模块,使自己在WSE的其他taskagent看起来就像是内部模块一样。