Язык программирования Alfa

Язык программирования Alfa - это попытка создать инструмент, для удаленного администрирования и автоматизации выполняемых работ на серверах и компьютерах под Windows платформой, с простым и ясным синтаксисом похожим на старый, добрый - Pascal.

Краткая характеристика языка Alfa

Автор: Александр Уваров 

  • Язык Alfa процедурный, типизированный;
  • Программа на языке Alfa состоит из единственного модуля. Выполнение программы начинается с первого оператора после слова begin;
  • Предусмотрены константы и переменные вещественного (real), целого (int), строкового (string), булевского (bool) типа. Ссылочные переменные файлового (file) типа, серверного (server) типа, COM (comobj) типа, процедурного (proc, func) типа;
  • Предусмотрены одномерные массивы перечисленных типов;
  • Переменные серверного типа (server) представляют собой специальный объект сервер, с помощью методов которого, можно удаленно выполнять различные действия на сервере или рабочей станции. Можно запускать и останавливать службы и процессы, определять их текущее состояние, перезагружать сервер, изменять IP адрес, определять доступность любого компьютера или сервера в сети, работать с файлами, папками, общими ресурсами;
  • Предусмотрена работа с внешними серверами автоматизации (COM объектами);
  • Предусмотрены стандартные процедуры и функции для работы с числами, строками, массивами, папками и файлами, а также функции для отправки сообщений электронной почты по протоколу SMTP, функции передачи и приёма файлов по протоколу FTP, функции для работы с INI файлами, функции для работы с COM объектами;
  • Предусмотрен ввод и вывод на консоль, чтение и запись информации в текстовый файл;
  • Предусмотрено выполнение кода написанного на других языках программирования JScript, VBScript;
  • В записи программы разрешены комментарии, которые могут быть вложенными;
  • Большие и малые буквы различаются;
  • Язык программирования Alfa предназначен исключительно для специфических задач удаленного администрирования серверов и компьютеров и не претендует ни на что более.

Скачать

Пример программы на языке Alfa

Задача

Пусть у нас имеется комплекс серверов. Нужно удаленно, с любого рабочего места, как можно быстро, проверить состояние серверов, а так же запущены ли необходимые службы на них. Если службы, по какой либо причине не запущены (“упали”), то запустить их (“поднять”).

Ниже представлен исходный код на языке программированияAlfa, для решения поставленной задачи.

Код:

#on_wait
#on_log
program ControlServers;
var
 I : int;
 // службы на сервере телеобработки
 Main_TO :array4ofstring=
 (
 "Телеобработка",
 "Монитор взаимодействия с Этран",
 "Модуль взаимодействия с АС ЭТД",
 "StatClient"
 );
 // службы на основном сервере приложений
 Main_SP :array4ofstring=
 (
 "Планировщик СП основной",
 "Отчетность АСУСТ (основная)",
 "Сервер подсистемы КСАРМ ВЧД",
 "StatClient(основной)"
 );
 // службы на резервном сервере приложений
 Res_SP :array4ofstring=
 (
 "Планировщик СП резервный";
 "Отчетность АСУСТ (резервная)";
 "Сервер подсистемы КСАРМ ВЧД";
 "StatClient(резервный)";
 );
declare @CUMR04_TO : server
 Title ="Cервер телеобработки";
 Host ="1.2.2.15";
 User ="adm";
 Password ="pass";
 IntervalWait =60;
 WaitReboot =360;
end;
declare @CUMR04A : server
 Title ="Основной сервер приложений";
 Host ="1.2.2.11";
 User ="adm";
 Password ="pass";
 IntervalWait =60;
 WaitReboot =360;
end;
declare @CUMR05A : server
 Title ="Резервный сервер приложений";
 Host ="1.2.2.21";
 User ="adm";
 Password ="pass";
 IntervalWait =60;
 WaitReboot =360;
end;
procedure OutMess (Mess :string; NameService :string);
begin
 ifnot(Mess ="")then
 writeln("Ошибка: ", Mess);
 else
 writeln("Cлужба: "+"'"+ NameService +"'"+" - запущена!");
 endif;
end;
procedure ServiceControl (var @Serv : server; NameService :string);
begin
 @Serv->ControlService(NameService);
 OutMess(@Serv->Get_MessErr(), NameService);
end;
begin
writeln("=========================================");
 writeln("Контроль состояния служб на серверах ЦУМР");
 writeln("=========================================");
// подключение к серверу телеобработки
 writeln("Подключение к серверу телеобработки");
 ifnot @CUMR04_TO->Connect()then
 writeln("Ошибка: ", @CUMR04_TO->Get_MessErr());
 exit;
 endif;
// подключение к основному серверу приложений
 writeln("Подключение к основному серверу приложений");
 ifnot @CUMR04A->Connect()then
 writeln("Ошибка: ", @CUMR04A->Get_MessErr());
 exit;
 endif;
// подключение к резервному серверу приложений
 writeln("Подключение к резервному серверу приложений");
 ifnot @CUMR05A->Connect()then
 writeln("Ошибка: ", @CUMR05A->Get_MessErr());
 exit;
 endif;
writeln("-----------------------------------------");
 writeln(@CUMR04_TO.Title+" ("+ @CUMR04_TO.Host+")");
// проверка запуска служб на сервере телеобработки
 for I :=0to Len(Main_TO)-1
 ServiceControl(@CUMR04_TO, Main_TO[I]);
 endfor;
writeln("-----------------------------------------");
 writeln(@CUMR04A.Title+" ("+ @CUMR04A.Host+")");
// проверка запуска служб на основном сервере приложений
 for I :=0to Len(Main_SP)-1
 ServiceControl(@CUMR04A, Main_SP[I]);
 endfor;
writeln("-----------------------------------------");
 writeln(@CUMR05A.Title+" ("+ @CUMR05A.Host+")");
// проверка запуска служб резервном сервере приложений
 for I :=0to Len(Res_SP)-1
 ServiceControl(@CUMR05A, Res_SP[I]);
 endfor;
writeln("-----------------------------------------");
// запрос на завершение работы
 readln();
end.

Ниже представлен файл протокола программы ControlServers.

Код:

***********************************************************
ControlServers
 Дата: 22.10.2009 Время: 16:03:11
 Время выполнения: 00:11.79
***********************************************************
=========================================
Контроль состояния служб на серверах ЦУМР
=========================================
Подключение к серверу телеобработки
Подключение к основному серверу приложений
Подключение к резервному серверу приложений
-----------------------------------------
Cервер телеобработки (1.2.2.15)
Cлужба: 'Телеобработка' - запущена!
Cлужба: 'Монитор взаимодействия с Этран' - запущена!
Cлужба: 'Модуль взаимодействия с АС ЭТД' - запущена!
Cлужба: 'StatClient' - запущена!
-----------------------------------------
Основной сервер приложений (1.2.2.11)
Cлужба: 'Планировщик СП основной' - запущена!
Cлужба: 'Отчетность АСУСТ (основная)' - запущена!
Cлужба: 'Сервер подсистемы КСАРМ ВЧД' - запущена!
Cлужба: 'StatClient(основной)' - запущена!
-----------------------------------------
Резервный сервер приложений (1.2.2.21)
Cлужба: 'Планировщик СП резервный' - запущена!
Cлужба: 'Отчетность АСУСТ (резервная)' - запущена!
Cлужба: 'Сервер подсистемы КСАРМ ВЧД' - запущена!
Cлужба: 'StatClient(резервный)' - запущена!
-----------------------------------------

Источник: http://feedproxy.google.com/~r/codenet/read/~3/FYieeYgXoJc/

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Язык программирования Alfa | | 2012-10-26 00:09:42 | | Программирование | | Язык программирования Alfa - это попытка создать инструмент, для удаленного администрирования и автоматизации выполняемых работ на серверах и компьютерах под Windows платформой, с простым и ясным | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: