Histórico da Página
...
A classe AvailabilityEAI2Item é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
status | Status do servidor EAI 2 | String |
...
A classe AvailabilityParamsLoginDatasul é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor JBoss | String |
port | Porta da instância | String |
userName | Usuário | String |
passWord | Senha | String |
remoteServerName | Nome do servidor remoto (WebEnabled) | String |
remoteServerPort | Porta do servidor remoto (WebEnabled) | int |
...
A classe AvailabilityLoginDatasulItem é composta pelos atributos:
Atributo | Descrição | Formato |
status | Status do login | String |
3.9 Disponibilidade Datasul
...
A classe AvailabilityParamsSQL é composta pelos atributos:
Atributo | Descrição | Formato |
databaseType | Tipo de banco (SQLServer ou OpenEdge) | String |
dbName | Nome do banco | String |
urlConnection | Conexão URL | String |
userName | Nome do usuário | String |
passWord | Senha | String |
A classe AvailabilityParamsDatasulDatabases é composta pelos atributos:
Atributo | Descrição | Formato |
appServerName | Nome do servidor AppServer | String |
appServerPort | Porta do AppServer | String |
appServerApp | Instância do AppServer | String |
dbNames | Bancos para consulta | String[] |
A classe AvailabilityParamsEAI1 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
A classe AvailabilityParamsEAI2 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
A classe AvailabilityParamsDatasul é composta pelos atributos:
Atributo | Descrição | Formato |
appServerName | Nome do servidor AppServer | String |
appServerPort | Porta do AppServer | String |
appServerApp | Instância do AppServer | String |
A classe AvailabilityParamsJboss é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
host | Nome do servidor JBoss | String |
port | Porta da instância | String |
A classe AvailabilityParamsLoginDatasul é compostapelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor JBoss | String |
port | Porta da instância | String |
userName | Usuário | String |
passWord | Senha | String |
remoteServerName | Nome do servidor remoto (WebEnabled) | String |
remoteServerPort | Porta do servidor remoto (WebEnabled) | Int |
...
A classe AvailabilityItem é composta pelos atributos:
Atributo | Descrição | Formato |
status | Status da verificação | String |
message | Mensagem | String |
4. Utilização dos métodos para o produto EMS
Com base na implementação do item 2.2, para o EMS, entre os seus itens de disponibilidade, é possível verificar a disponibilidade de:
4.1 Disponibilidade dos bancos
Método publicado no servidor: availabilityEMSDatabases
Parâmetros: AvailabilityParamsEMSDatabases
A classe AvailabilityParamsEMSDatabases é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
dbNames | Nomes dos bancos | String[] |
Bloco de código | ||||
---|---|---|---|---|
| ||||
List<AvailabilityDatabaseItem> avalItems = null;
AvailabilityParamsEMSDatabases paramsEMSDatabases = new AvailabilityParamsEMSDatabases();
paramsEMSDatabases.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsEMSDatabases.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsEMSDatabases.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
String[] dbNames = {"mgadm","mguni","movfis"};
paramsEMSDatabases.setDbNames(dbNames);
avalItems = cloudService.availabilityEMSDatabases(paramsEMSDatabases);
if (avalItems != null) {
for (AvailabilityDatabaseItem item : avalItems) {
System.out.println("DatabaseName: " + item.getItemName());
System.out.println("Status: " + item.getStatus() + "\n");
}
} |
Retorno: List<AvailabilityDatabaseItem>
A classe AvailabilityDatabaseItem é composta pelos atributos:
Atributo | Descrição | Formato |
itemName | Nome do Item | String |
status | Status do item | String |
4.2 Disponibilidade de servidores RPW
Método publicado no servidor: availabilityRPWEMS
Parâmetros: AvailabilityParamsRPWEMS
A classe AvailabilityParamsRPWEMS é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
product | Produto (EMS2 ou EMS5) | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsRPWEMS paramsRPWEMS = new AvailabilityParamsRPWEMS();
paramsRPWEMS.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsRPWEMS.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsRPWEMS.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
paramsRPWEMS.setProduct("EMS2");
List<AvailabilityRPWItem> avalRPWList;
avalRPWList = cloudService.availabilityRPWEMS(paramsRPWEMS);System.out.println("Produto: " + paramsRPWEMS.getProduct());
for (AvailabilityRPWItem item : avalRPWList) {
System.out.println("Cod. Servidor RPW: " + item.getServerCode());
System.out.println("Des. Servidor RPW: " + item.getServerDesc());
System.out.println("Estado: " + item.getState());
if (item.getState().equals("ativo")) {
String execution = item.getExecution() ? "Sim" : "Não";
System.out.println("Executando? " + execution);
}
} |
Retorno: List<AvailabilityRPWItem>
A classe AvailabilityRPWItem é composta pelos atributos:
Atributo | Descrição | Formato |
serverCode | Código do servidor RPW | String |
serverDesc | Descrição do servidor RPW | String |
state | Estado do servidor (Ativo, Inativo ou Bloqueado) | String |
execution | Indica se está em execução | Boolean |
4.3 Disponibilidade do EAI 1
Método publicado no servidor: availabilityEAI1
Parâmetros: AvailabilityParamsEAI1
A classe AvailabilityParamsEAI1 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsEAI1 paramsEAI1 = new AvailabilityParamsEAI1();
paramsEAI1.setProtocol("http");
paramsEAI1.setServer("bomjesus");
paramsEAI1.setPort("8080");
paramsEAI1.setAxisContextName("axis506gens");
AvailabilityEAI1Item eai1Item = cloudService.availabilityEAI1(paramsEAI1);
System.out.println("<<EAI 1>>");
System.out.println("Protocolo: " + eai1Item.getProtocol());
System.out.println("Server: " + eai1Item.getServer());
System.out.println("Port: " + eai1Item.getPort());
System.out.println("Nome contexto axis: " + eai1Item.getAxisContextName());
System.out.println("Status: " + eai1Item.getStatus()); |
Retorno: AvailabilityEAI1Item
A classe AvailabilityEAI1Item é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
status | Status do EAI 1 | String |
4.4 Disponibilidade do EAI 2
Método publicado no servidor: availabilityEAI2
Parâmetros: AvailabilityParamsEAI2
A classe AvailabilityParamsEAI2 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsEAI2 paramsEAI2 = new AvailabilityParamsEAI2();
paramsEAI2.setProtocol("http");
paramsEAI2.setServer("cordas");
paramsEAI2.setPort("8180");
AvailabilityEAI2Item eai2Item = cloudService.availabilityEAI2(paramsEAI2);
System.out.println("<<EAI 2>>");
System.out.println("Protocolo: " + eai2Item.getProtocol());
System.out.println("Server: " + eai2Item.getServer());
System.out.println("Port: " + eai2Item.getPort());
System.out.println("Status: " + eai2Item.getStatus()); |
Retorno: AvailabilityEAI2Item
A classe AvailabilityEAI2Item é compostapelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
status | Status do servidor EAI 2 | String |
4.5 Disponibilidade de login
Método publicado no servidor: availabilityLoginEMS
Parâmetros: AvailabilityParamsLoginEMS
A classe AvailabilityParamsLoginEMS é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
product | Produto (EMS2 ou EMS5) | String |
userName | Usuário | String |
passWord | Senha | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsLoginEMS paramsLoginEMS = new AvailabilityParamsLoginEMS();
paramsLoginEMS.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsLoginEMS.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsLoginEMS.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
paramsLoginEMS.setProduct("EMS2");
paramsLoginEMS.setUserName("super");
paramsLoginEMS.setPassWord("super");
AvailabilityLoginEMSItem loginEMSItem = cloudService.availabilityLoginEMS(paramsLoginEMS);
if (loginEMSItem != null ) {
System.out.println("<<Login EMS>>");
System.out.println("Produto: " + paramsLoginEMS.getProduct());
System.out.println("Usuario: " + paramsLoginEMS.getUserName());
System.out.println("Senha: " + paramsLoginEMS.getPassWord());
System.out.println("Status: " + loginEMSItem.getStatus());
} |
Retorno: AvailabilityLoginEMSItem
AvailabilityLoginEMSItem é composta pelos atributos:
Atributo | Descrição | Formato |
status | Status do login | String |
4.6 Disponibilidade EMS
Método publicado no servidor: verifyEMSAvailabilities
Parâmetros: AvailabilityParamsEMSDatabases, AvailabilityParamsEAI1, AvailabilityParamsEAI2, AvailabilityParamsRPWEMS, AvailabilityParamsLoginEMS
A classe AvailabilityParamsEMSDatabases é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
dbNames | Nomes dos bancos | String[] |
A classe AvailabilityParamsEAI1 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
A classe AvailabilityParamsEAI2 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
A classe AvailabilityParamsRPWEMS é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
product | Produto (EMS2 ou EMS5) | String |
A classe AvailabilityParamsLoginEMS é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
product | Produto (EMS2 ou EMS5) | String |
userName | Usuário | String |
passWord | Senha | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityItem result = null;
/* Montando parametros de disponibilidade de bancos do EMS */
AvailabilityParamsEMSDatabases paramsEMSDatabases = new AvailabilityParamsEMSDatabases();
paramsEMSDatabases.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");paramsEMSDatabases.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsEMSDatabases.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
String[] dbNames = {"mgadm","mguni","movadm"};
paramsEMSDatabases.setDbNames(dbNames);
/* Montando parametros de disponibilidade EAI 1 */
AvailabilityParamsEAI1 paramsEAI1 = new AvailabilityParamsEAI1();
paramsEAI1.setProtocol("http");
paramsEAI1.setServer("bomjesus");
paramsEAI1.setPort("8080");
paramsEAI1.setAxisContextName("axis506gens");
/* Montando parametros de disponibilidade EAI 2 */
AvailabilityParamsEAI2 paramsEAI2 = new AvailabilityParamsEAI2();
paramsEAI2.setProtocol("http");
paramsEAI2.setServer("cordas");
paramsEAI2.setPort("8180");
/* Montando parametros de disponibilidade RPW EMS */
AvailabilityParamsRPWEMS paramsRPWEMS = new AvailabilityParamsRPWEMS();
paramsRPWEMS.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsRPWEMS.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsRPWEMS.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
paramsRPWEMS.setProduct("EMS2");
/* Montando parametros de disponibilidade Login EMS */
AvailabilityParamsLoginEMS paramsLoginEMS = new AvailabilityParamsLoginEMS();
paramsLoginEMS.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsLoginEMS.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf"); paramsLoginEMS.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
paramsLoginEMS.setProduct("EMS2");
paramsLoginEMS.setUserName("super");
paramsLoginEMS.setPassWord("super");
result = cloudService.verifyEMSAvailabilities(paramsEMSDatabases, paramsEAI1, paramsEAI2, paramsRPWEMS, paramsLoginEMS);
if (result != null) {
System.out.println("Status: " + result.getStatus() + "\n Mensagem: " + result.getMessage());
} |
Retorno: AvailabilityItem
A classe AvailabilityItem é composta pelos atributos:
Atributo | Descrição | Formato |
status | Status da verificação | String |
message | Mensagem | String |
5. Utilização do método de verificação do tamanho de diretórios
Para verificar o tamanho de um diretório ou arquivo utilizado pelo cliente nos servidores do Cloud, foi desenvolvido um método para atender a esta necessidade no Datasul Cloud Monitor (a implementação deste método requer a implementação do item 2.2).
Método publicado no servidor: getStorageDirItems
Parâmetros: List<StorageParamsDirItem>
A classe StorageParamsDirItem é composta pelos atributos:
Atributo | Descrição | Formato |
dirName | Nome do diretório | String |
pathDir | Caminho do diretório ou arquivo | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
List<StorageParamsDirItem> storageList = new ArrayList<StorageParamsDirItem>();
StorageParamsDirItem storageParamItem = new StorageParamsDirItem();
storageParamItem.setDirName("Log AppServer");
storageParamItem.setPathDir("C:\\appserver\\cassino8180\\log");
storageList.add(storageParamItem);
storageParamItem = new StorageParamsDirItem();
storageParamItem.setDirName("JBoss log");
storageParamItem.setPathDir("c:\\java\\jboss-4.2.3.GA\\server\\cassino-8180\\log");
storageList.add(storageParamItem);
List<StorageDirItem> result = cloudService.getStorageDirItems(storageList);
System.out.println("<<Diretorios>>");
for (StorageDirItem item : result) {
System.out.println("---");
System.out.println("Nome: " + item.getDirName());
System.out.println("Diretorio: " + item.getPathDir());
System.out.println("Tamanho: " + item.getSizeDir());
} |
Retorno: List<StorageDirItem>
A classe StorageDirItem é composta pelos atributos:
Atributo | Descrição | Formato |
dirName | Nome do diretório | String |
pathDir | Caminho do diretório ou arquivo | String |
sizeDir | Tamanho do diretório ou arquivo | String |
6. Mapeamento da dependência no projeto Java client
Para utilizar o arquivo datasul-cloud-monitor-server-client-1.0-SNAPSHOT.jar (onde contém todas as classes e interfaces para implementação e utilização do serviço) no projeto Java client pode-se utilizar a dependência maven abaixo no arquivo pom.xml:
Bloco de código | ||||
---|---|---|---|---|
| ||||
<dependency>
<groupId>com.totvs.framework</groupId>
<artifactId>datasul-cloud-monitor-server-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency> |