PureAS包含兩種pattern,將來有可能會演化成一種。
從Amazon 和VMware Cloudfundry等云產品中,我們發現用戶使用的中心不是操作系統,而是中間件。
是及時的獲取mysql,tomcat,httpd等應用程序。而且廠商還能提供策略,托管這些中間件。
PureAS作為IBM的云產品,也是這樣來考慮,怎么樣將它傳統的中間件跑在云上。開發者可以直接拿到Db2,was,Scaling,monitoring,backup等應用或功能。
因為IBM有自己的硬件和軟件。所以,在云計算,尤其是私有云的市場上,優勢還是很明顯。
微軟在這些對手面前,真是捉襟見肘。
網絡能力不行,硬件能力不行。就憑一個個漸漸在云端弱化的操作系統。
不看好。
一個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看起來就像是內部模塊一樣。
sudo apt-get cleancd /var/lib/aptsudo mv lists lists.oldsudo mkdir -p lists/partialsudo apt-get cleansudo apt-get update