Все формы вызываются из формы MAIN.fmb.
Таблица 1.7.2 Структура web-приложения
Страница |
Функции |
Identification.aspx |
Вход в систему |
Main.aspx |
Главное меню |
Contract.aspx |
Создание, удаление, изменение, поиск контрактов |
Companies.aspx |
Создание, поиск компаний |
Contacts.aspx |
Создание, поиск контактов |
Account.aspx |
Создание, удаление, изменение, поиск ЛС |
App.aspx |
Создание, удаление, изменение, поиск ПО, добавление, закрытие, поиск услуг |
Change_password.aspx |
Смена пароля |
Страница identification.aspx позволяет перейти к странице main.aspx при вводе корректных логина и пароля. Переход на страницы Contract.aspx, Account.aspx, App.aspx, Change_password.aspx осуществляется при нажатии на соответствующие кнопки на странице main.aspx. Companies.aspx и Contacts.aspx доступны со страницы Contract.aspx.
Код триггеров из формы локального приложения, некоторых хранимых процедур и страницы из web-приложения приведен в Приложении 1.
По разработанной технологии существует несколько действий над таблицами базы данных, которые система должна выполнять автоматически с некоторой периодичностью. В таблице 1.8.1 приведены эти действия, соответствующие им процедуры и интервал повторения.
Действие |
Процедура |
Периодичность |
Расчет скорости расходования оборудования |
speed |
По будням в 6-00 и в 14-00 |
Смена статуса оборудования |
change_eq_st |
По будням в 7-00 и в 15-00 |
Начисления за периодические услуги и услуги аренды |
calc_pa |
Ежедневно в 3-00 |
Начисления за телефонные услуги |
charge_calls |
Через каждые 30 минут |
Пакет dbms_job позволяет запланировать однократное или регулярное выполнение заданий в базе данных. Задание представляет собой хранимую процедуру, анонимный блок PL/SQL или внешнюю процедуру на языке C или Java. Эти задания выполняются серверными процессами в фоновом режиме.
Чтобы запланировать выполнение задания, используется функция submit из пакета dbms_job.
declare
l_job number;
begin
dbms_job.submit (job => l_job,
what => ‘<имя процедуры>;’,
next_date => <время следующего выполнения задания>, interval => ‘<функция, вычисляющая время следующего выполнения>’);
end;
Для загрузки биллинговых записей из файлов CDR (файлов, формируемых коммутатором) в базу данных была разработана программа Charger.exe. Программа написана на языке C++ с использованием среды разработки Microsoft Visual Studio 6.0. Подключение к базе и манипулирование данными осуществляется средствами интерфейса OCI, предоставляемого Oracle (используются функции библиотеки oci.dll, статически подгружаемой программой). Формат CDR-файла спроектирован самостоятельно, исходя из потребностей разрабатываемой биллинговой системы, и в дальнейшем может быть легко перестроен под любую модель коммутатора. Выбор формата в пользу одной из моделей коммутаторов лишил бы систему универсальности. Описание формата файла дано в Приложении 2. В реестре операционной системы Windows задаются параметры подключения к базе данных (имя пользователя, пароль, сетевое имя базы) в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Kate\Charger\dbconnect. В реестре задается путь и имя rq-файла очереди HKEY_LOCAL_MACHINE\SOFTWARE\Kate\Charger\Rqfile.
В реестре же задается и период, через который будет производиться чтение rq-файла HKEY_LOCAL_MACHINE\SOFTWARE\Kate\Charger\TimeToUpload в минутах.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.