Престижная.
Стратегия подразумевает совершенное решение любых возникающих проблем. Самый дорогой и не всегда самый эффективный с точки зрения использования вложений способ. Для его реализации в качестве партнеров выбираются крупнейшие в мире фирмы-консультанты («Маккинзи», «Эрнст энд Янг», «Прайс Уотерхаузэ», «Артур Андерсен» и т.п.) и/или крупнейшие поставщики высококачественного оборудования и системные интеграторы (IBM, Unisys, DЕС, Sun и т.п.), которые занимаются всеми проблемами в сфере информационных технологий, в том числе и банковскими решениями.
Этот способ предпочтителен для банков, чья активность сосредоточена исключительно на внешних рынках, поскольку скорость адаптации получаемых решений к изменениям российского банковского рынка и законодательства очень низка.
Банки с престижной автоматизацией временно оказываются в наиболее тяжелом положении, поскольку для них вопрос возможной замены системы учета может привести либо к омертвлению ранее сделанных инвестиций, либо к неоправданно высоким затратам для решения срочных проблем.
Заметно первое изменение на Олимпе
Рейтинг известности = “2” + “5” + 2*(“1” + “3” + “4” + “6”);
Заметно первое изменение на Олимпе банковской автоматизации; поколеблено единоличное лидерство фирмы «Диасофт», длившееся с начала 1994 г. до первой половины 1997 г. включительно (завидное постоянство!). Теперь она занимает второе место. Первую строчку с отрывом в 15,8% от второго места (380 баллов против 320) заняла «R-Style Software Lab.». Каждая из этих лидирующих фирм почти вдвое опережает идущую на третьем месте фирму ФОРС (170 баллов) и почти втрое следующих за ними – фирму «ПрограмБанк» (117 баллов – 4 место) и ЦФТ (112 баллов – 5 место).
Еще три фирмы – «МИМ-Технология», «Канопус», БИС – занимают неплохие места; девятое, четырнадцатое и шестнадцатое соответственно. Всего банкиры при ответах на вопросы называли 41 фирму.
Понятно, что абсолютная известность определяется как маркетинговой активностью фирмы, так и распространенностью и перспективностью ее программных технологий. Для характеристики потенциала фирм к расширению бизнеса, был введен дополнительный показатель – «Относительный рейтинг известности», показывающий усредненные (в пересчете на один банк) показатели известности фирмы.
Разработчики АБС |
Используют |
Известность |
Лучшая |
Перспективная |
Хотели бы узнать |
Хотят купить |
Рейтинг Известности |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
ФОРС |
100% |
9,67 |
3,50 |
3,17 |
1,67 |
0,83 |
18,83 |
Диасофт |
100% |
6,95 |
1,41 |
0,59 |
0,50 |
0,55 |
10,00 |
ЦФТ |
100% |
3,70 |
0,90 |
0,90 |
0,50 |
0,70 |
6,70 |
R-Style |
100% |
3,81 |
1,00 |
0,59 |
0,51 |
0,38 |
6,30 |
ПрограмБанк |
100% |
5,31 |
0,31 |
0,31 |
0,15 |
0,15 |
6,23 |
Инверсия |
100% |
4,22 |
0,33 |
0,22 |
0,00 |
0,11 |
4,89 |
Кворум |
100% |
2,85 |
0,46 |
0,23 |
0,08 |
0,38 |
4,00 |
МИМ |
100% |
0,5 |
0,5 |
0,17 |
0,17 |
0,17 |
1,50 |
В относительном рейтинге картина значительно изменилась – на первое место с большим отрывом от других вышла фирма ФОРС (18,83 балла). Вторую строчку очень уверенно занимает «Диасофт» (10,00), далее идет весьма плотная по показателям группа – ЦФТ (6,70), «R-Style Software Lab.» (6,30) и «ПрограмБанк» (6,23).
Привлекательность АБС.
Такой показатель, как «коэффициент привлекательности» рассчитывается по результатам опроса банков – пользователей каждой фирмы. При расчете учитывались ответы банков на вопросы: «Удовлетворяет ли Ваш банк используемая автоматизированная банковская система?» и «Собирается ли Ваш банк и ближайшее время менять или модернизировать используемую АБС (отметьте и при необходимости расшифруйте нужные строки)?» – с вариантами ответов. В расчетах также учитывались значения графы “6” табл. 1 (число банков, собирающихся перейти на АВС каждой из фирм).
Поскольку разные представители одного и того же банка могли отвечать на один и тот же вопрос по разному, а в одной анкете респондент отметил даже несколько позиций, то для устранения некорректности вычислений по каждой фирме были рассчитаны максимальное и минимальное значения коэффициента.
При расчете максимального коэффициента все «многозначности» в ответах представителей одного банка трактовались «в пользу» фирмы-разработчика, а при расчете минимального – «против».
Вычисление такого диапазона значений, пожалуй, более корректно, чем вычисление методической погрешности по одному Банку. Поскольку величина расчетной погрешности по большинству показателей меньше, чем разница минимального и максимального значений, введение диапазона значений позволяет более корректно учитывать многозначные ответы.
Смысл этого коэффициента относительно несложен. Если все пользователи какой-либо АБС вполне удовлетворены этой системой, собираются обновлять версии или ни чего не собираются в ней менять, то эта АБС еще будет жить на рынке и ее «коэффициент привлекательности» равен единице. Если же какие-либо банки собираются переходить на эту ЛБС, то у нее есть перспективы дополнительного развития, и ее «коэффициент привлекательности» выше единицы. А если все пользователи отрицательно оценивают удовлетворенность системой и собираются закупать другую российскую или зарубежную разработку, то данная АБС морально устаревает и ее «коэффициент привлекательности» близок к минус единице.
Значения коэффициента, близкие к плюс единице, можно считать признаком поступательного развития как фирмы в целом, так и ее банковских разработок в частности. Любые положительные значения «коэффициента привлекательности» считаются вполне приемлемыми, а отрицательные – служат сигналом неблагополучия. Близкие к нулю значения позволяют говорить о некотором снижении числа банков-пользователей.
Разработчики |
Опрошено |
Удовлетворяет ли АБС? |
Закупка/модернизация АБС |
Привлекательность |
|||||||||||
Да |
Скорее Да |
Не полностью |
Скорее нет |
Нет |
Нет |
Новую версию |
Другую рос. АБС |
Зарубеж. АБС |
Доработка модулей |
Доработка АБС |
Купить эту АБС |
мах |
min |
||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Форс |
6 |
1 |
3 |
3 |
0 |
3 |
1 |
4 |
0 |
0 |
3 |
0 |
5 |
1,40 |
1,20 |
ЦФТ |
10 |
1 |
5 |
3 |
1 |
1 |
2 |
6 |
1 |
1 |
2 |
0 |
7 |
1,18 |
0,97 |
R-Style |
37 |
2 |
17 |
16 |
1 |
1 |
3 |
34 |
2 |
2 |
11 |
1 |
14 |
1,00 |
0,86 |
Midas-Kapiti |
3 |
2 |
0 |
1 |
0 |
0 |
0 |
2 |
0 |
0 |
1 |
0 |
0 |
1,00 |
0,88 |
Кворум |
13 |
0 |
8 |
4 |
2 |
0 |
5 |
6 |
0 |
0 |
3 |
0 |
5 |
0,99 |
0,90 |
Диасофт |
22 |
2 |
8 |
9 |
2 |
1 |
6 |
13 |
3 |
1 |
7 |
2 |
12 |
0,98 |
0,82 |
МИМ |
6 |
1 |
3 |
2 |
0 |
0 |
0 |
4 |
0 |
0 |
1 |
0 |
1 |
0,90 |
0,90 |
Мебиус |
4 |
0 |
1 |
3 |
0 |
0 |
2 |
2 |
0 |
0 |
0 |
0 |
0 |
0,63 |
0,63 |
ПрограмБанк |
13 |
0 |
5 |
5 |
2 |
2 |
4 |
7 |
3 |
0 |
1 |
0 |
2 |
0,50 |
0,32 |
Инверсия |
9 |
0 |
3 |
4 |
1 |
1 |
0 |
6 |
5 |
0 |
2 |
0 |
1 |
0,25 |
-0,01 |
АСофт |
4 |
0 |
1 |
2 |
0 |
1 |
0 |
3 |
2 |
1 |
0 |
0 |
0 |
0,13 |
-0,13 |
Собственная |
59 |
5 |
10 |
30 |
8 |
6 |
7 |
8 |
15 |
1 |
19 |
21 |
0 |
- |
- |
Киевский ОДБ |
4 |
0 |
0 |
0 |
4 |
0 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
-0,91 |
-0,91 |
Продукты семейства DB2.
DB2 Parallel Edition ориентирована на технологию распараллеливания запросов к очень большим базам данных (VLDB), размещенным на системах с массовым параллелизмом (MPP). Серверы из семейства DB2 Common Server представляют общее решение для рабочих групп, малых и средних организаций, переносимое и масштабируемое на серверах, работающих под управлением OS/2, Windows NT, AIX, HP-UX, Sun Solaris, SCO, SINIX. Существуют также более специализированные серверные продукты типа DataJoiner, который предоставляет клиентам-приложениям оптимизированный доступ к распределенным данным, управляемым Oracle, Sybase, MS SQL Server, DB2, и предлагает единую базу-образ гетерогенной среды.
Поддержка существующих международных отраслевых стандартов, таких как SQL 92 Entry Level, ODBC, XA, JDBC, новых версий SQL и корпоративных стандартов фирмы IBM, является необходимым качеством семейства DB2, обеспечивающим взаимодействие разнообразных программных и аппаратных средств.
Вокруг базовой группы продуктов существует разнообразная инфраструктура комплектующих и дополнительных продуктов, предназначенных для администрирования баз данных – DataHub и компоненты Tivoli, для репликации данных - DataPropagator, семейство средств разработки VisualAge для различных языков программирования (С++, Smalltalk, 4GL, Java, Basic) с CASE-средствами IBM DataAtlas и VisualAge PackBase, пакеты средств формирования запросов и создания отчетов Intelligent Decision Server и QMF, комплексное решение для построения локальных информационных хранилищ данных - Visual Warehouse, средства анализа и поиска информации в базах данных Intelligent Miner, средство для работы с метаданными и построения каталога информационных ресурсов DataGuide, решения для поддержки OLAP-приложений - DB2 OLAP Server and IDS, и так далее.
Professional
– полный комплекс бухгалтерского учета. Отличительные особенности комплекса – это функциональная полнота и комплексное решение всех задач учета: обработка проводок с детальной аналитической информацией; учет затрат на производство и расчет себестоимости продукции с формированием соответствующих записей в Главной книге; элементы финансового анализа; автоматическое начисление процентов и отчисление налогов; мультивалютные операции; генератор отчетных форм; система аппаратной и программной защиты информации; удобный интерфейс.
Программные интерфейсы
ко всем службам, предоставляемым архитектурой Sybase, реализуются через API Open Client и Open Server. Программные интерфейсы Open Client/Server независимы от платформы. Среди поддерживаемых платформ DOS, Windows, MVS/CICS, Macintosh, NetWare, Windows NT, OS/2, UNIX (все главные варианты), VMS и OpenVMS.
При разработке приложений-клиентов на языке 3-го поколения используются библиотеки с Си-интерфейсом: DB-Library, CT-Library или ODBC (только под Windows). При разработке приложений серверного типа используется библиотека Open Server. Этот набор блоков для построения сервера может использоваться, например, для доступа к нестандартному оборудованию или построения шлюзов.
ODBC API представляет собой набор вызовов функций. Доступ к базе данных в нем задается операторами SQL, которые передаются соответствующим функциям в виде строковых параметров. Спецификация ODBC, как и Embedded SQL, поддерживает курсоры. Имеется возможность вызывать хранимые процедуры. Из программы могут выдаваться любые операторы SQL, в том числе DDL-операторы. ODBC-драйверы для Sybase выпускают несколько фирм. Такой драйвер входит в состав Sybase Open Client.
Большинство приложений, связанных с обработкой данных в среде MS-Windows, поддерживают ODBC-интерфейс или DB-Library, и, соответственно, имеют доступ к СУБД Sybase. Среди таких приложений Microsoft Excel, Word, Access, Visual Basic.
Технология и библиотеки OpenServer, входящие в состав Sybase System 11, позволяют разрабатывать собственные приложения, использующие данные от технологического оборудования. Другое применение Open Server - разработка серверных компонент для математической или криптографической обработки данных. Обработчик Open Server может быть использован как приложением-клиентом, так и вызван из хранимой процедуры SQL Server.
Программные Платформы и Базы Данных.
Среди операционных систем для АБС лидирует связка DOS + Novell (в качестве программной платформы DOS на рабочих станциях и операционная система Novell NetWare на файл-серверах) – 47,5% банков предпочитают именно такую, наиболее доступную в финансовом отношении конфигурацию. На втором месте среди операционных систем, в «угрожающей близости» к Novell NetWare находится Windows NT, ее предпочитают 43,7% банков. Поскольку третье место занимает связки операционных систем Windows/Windows'95 - 32,2%, то здесь явно заметен качественный рост влияния продуктов фирмы Microsoft на развитие банковских технологий. Всего лишь четвертое место с показателем 29,0% занимает ОС UNIX. Хотя по динамике изменений в 1994 – 1996 гг. казалось, что разрыв между вторым местом UNIX и бессменно лидирующей связкой DOS + Novell NetWare неизбежно сократится.
Собственно эта тройка (четверка) операционных систем – Novell, Windows (NT), UNIX – и составляет большинство программных платформ в российских банках, поскольку идущие на пятом-шестом местах OS/400 (на аппаратных средствах AS/400) и ОS/2 занимают незначительные доли рынка: 4,9 и 3,3% соответственно. На последнем, седьмом месте находится VAX/VMS с минимальной долей – 0,5%.
Соответственно распределению предпочтений по ОС среди СУБД лидирует «родной» для Novell NetWare менеджер записей Btrieve – 42,6% банков предпочитают именно эти технологии. Второе место с небольшим отрывом занимает профессиональная СУБД Oracle – 35,5%.
Два явных лидера среди СУБД Btrieve и Oracle – опережают в три-четыре раза идущую на третьем месте Sybase (11,5%) и в пять-шесть раз занимающую четвертое место Informix (7,7%).
Эти соотношения позволяют сделать грубую оценку возможного перехода банков пользователей технологий на основе Btrieve на банковские системы нового поколения на основе СУБД Sybase без замены фирмы-разработчика. Так, «новые Sybase-АБС» подготавливаются к промышленному внедрению в основном тремя фирмами – лидерами рынка: «Диасофт», «R-Style Software Lab.» и «Кворум», чьи базовые системы сегодня реализованы на основе Btrieve. Соотношение 42,6% против 11,5% говорит о том, что примерно одна пятая часть банков – пользователей Btrieve-AБC в перспективе может перейти на Sybase-АБС.
Особого комментария заслуживает пятое место Microsoft SQL Server с небольшим показателем 4,9%. Огромная популярность операционной среды Windows в сфере банковских технологий, казалось бы, могла обеспечить этой «дочерней СУБД» более высокие цифры. Но здесь важно следующее: сам инструментарий MS SQL так интенсивно модернизируется и меняется, что серьезные финансовые системы типа АБС, требующие высокой надежности и сделанные на его основе, просто не успевают пройти необходимый цикл тестирования, отладки и обкатки. Конечно же, это существенно сдерживает возможности распространения финансовых приложений на основе Microsoft SQL Server.
Шестое место занимает СУБД Progress – ее предпочитают 3,8% банков, далее с малыми значениями идут Interbase – 2,2%, Gupta/Centura – 1,6%, DB/2 – 1,1%, Ingress – 0,5%.
Примерно один из девяти банков предпочитает работать сразу на нескольких СУБД. Если Windows NT и Windows'95 считать как одну и ту же ОС, то выходит, что примерно каждый третий российский банк работает в гетерогенных программных средах.
Производительность
MS SQL Server при обработке OLTP- и DSS-запросов, что особенно заметно при одновременной работе нескольких сотен пользователей. В опубликованных результатах по тестированию MS SQL Server 6.5 на максимальное число одновременно работающих пользователей приводится цифра 3500, хотя известны реально работающие приложения, где нагрузка доходила до 5000 одновременных пользовательских соединений. За период с октября 1996 г. по декабрь 1997 г. производительность MS SQL Server , измеренная по тестам TPC-C, выросла более чем в 3 раза. Для сравнения заметим, что ежедневный объем транзакций в расчетной системе VISA составляет от 10 до 40 млн. Темп 7,5 тыс. транзакций в минуту означает, что один MS SQL Server способен при режиме работы 24х7 обслужить немногим менее 11 млн. транзакций в сутки. Существует еще один параметр, тесно связанный с производительностью, который, не являясь в строгом смысле слова техническим, очень популярен на Западе при оценке возможностей того или иного сервера баз данных, так как от него существенно зависит стоимость владения продуктом. Речь идет об удельной цене за транзакцию в минуту, иными словами, сколько придется заплатить за достижение такой скорости обработки запроса. За тот же самый период, в течение которого рассматривался рост производительности, показатель "цена/производительность" стал менее 65 долл. за транзакцию в минуту, что говорит о разумной стоимости систем на базе MS SQL Server при высоких требованиях к скорости обработки.
Протокольные службы.
Библиотеки Sybase обеспечивают работу серверных и клиентских компонент со множеством сетевых протоколов от разных производителей, в том числе TCP/IP, SPX/IPX, Named Pipes, DECNet и другие.
Архитектура Sybase позволяет как приложению-клиенту, так и серверу одновременно работать с несколькими интерфейсами. Например, SQL Server для Novell NetWare или Windows NT может одновременно допускать соединения через SPX и TCP/IP.
Проверка взаимных блокировок.
SQL Server использует алгоритм выявления взаимных блокировок транзакций. Имеется возможность сконфигурировать то время, через которое выполняется такая проверка. Цель конфигурирования этого параметра - повышение производительности. Проверка взаимоблокировок - это достаточно длительная операция для сервера. Так как проверка запускается не сразу, выше вероятность освобождения ресурса к моменту запуска проверки. С другой стороны, излишнее увеличение времени задержки может привести к увеличенному времени реакции для приложения, выдавшего взаимоблокирующий запрос.
Работа SQL Server с кэшами в памяти.
Запись в журнал из кэша теперь происходит пакетами. Это снижает уровень конкуренции за доступ к ресурсу журнала и, соответственно, повышает производительность. Системный администратор может разделить кэш SQL Server на несколько именованных областей и приписать эти области различным базам данных и объектам баз данных. Имеется возможность группировать именованные области кэша так, чтобы более эффективно проходил обмен с диском большими блоками. Связывание именованных кэшей и объектов баз данных осуществляется при помощи вызова системных процедур.
При создании таблицы или индекса можно указать максимальное число строк, хранимых на странице данных или странице индекса. Эта возможность позволяет оптимизировать блокировки для часто обновляемых таблиц. SQL Server использует установленное значение при добавлении и удалении строк.
Распределенная среда управления.
В состав MS SQL Server 6.5 входит свыше 20 графических средств управления и утилит командной строки. Кроме этого, MS SQL Server 6.5 включает Web-assistant - программу мастер для подготовки публикации на Web-страницах данных из базы, SQL Mail - утилиту, обеспечивающую интеграцию с электронной почтой MS Mail или MS Exchange, MS Distributed Transaction Coordinator (MS DTC) для проведения распределенных транзакций и некоторые другие средства. SQL Server, MS DTC и SQL Executive функционируют как сервисы операционной системы. Согласованная работа этих компонентов достигается благодаря трехуровневой архитектуре SQL -DMF (Distributed Management Frame-work).
Легко масштабируемая распределенная среда управления позволяет значительно упростить процессы централизованного контроля над многими серверами, которые могут объединяться в группы по соображениям безопасности или с административными целями, и их объектами.
SQL Enterprise Manager интегрирует в себе все функции управления, включая создание баз данных и объектов внутри них, назначение прав доступа, резервное копирование, тиражирование и т.д. При желании имеется возможность автоматизировать процесс составления плана поддержки базы при помощи специальной программы-помощника (Database Main-tenance Wizard). Различные подходы к системному администрированию зачастую могут содержать ряд малоприятных моментов, например необходимость выполнять резервное копирование базы, командировать сотрудников в какой-нибудь удаленный филиал, где отсутствует должным образом подготовленный IT-персонал. MS SQL Server 6.5 позволяет решить эти проблемы, во-первых, за счет централизованного управления удаленными серверами, во-вторых, за счет наличия мощного средства диспетчеризации задач во времени, предоставляемого SQL Executive. Для каждой административной функции может быть назначен временной график ее выполнения. Практически все СУБД содержат развитые средства по ликвидации тех или иных неблагоприятных последствий. Microsoft SQL Server, помимо этого, предоставляет обширный инструментарий диагностики, позволяющий своевременно предотвратить причины сбоев. Утилиты SQL Performance Monitor и Alert Manager могут использоваться для программирования реакции сервера на различные классы событий, возникающих в системе, в том числе и на бизнес-события, MS SQL Server может послать вам (или указанным вами лицам) по электронной почте или на пейджер соответствующее предупреждение и/или выполнить предусмотренный вами скрипт, cmd- или exe-файл для устранения ошибки, а также зафиксировать появление этого события в системном журнале. В целом можно сказать, что распределенная среда управления позволяет существенно упростить жизнь администратора базы данных.
Развитие подхода в Oracle 8.
В отличие от Oracle 7 восьмая версия сервера Oracle не просто предоставляет расширенный набор встроенных типов данных, но и позволяет конструировать новые типы данных со спецификацией методов доступа к ним. Это означает фактически, что разработчики получают в руки не просто систему для хранения и обработки, скажем, видеоданных (что, понятно, нужно далеко не в каждом приложении), а и инструмент, позволяющий строить структурированные типы данных, непосредственно отображающие сущности предметной области. Влияние этого фактора на возможности разработчиков можно сравнить с эффектом от перехода на реляционные СУБД в начале 80-х годов.
Oracle8 фактически опирается на новый стандарт SQL, позволяющий описывать определения новых типов объектов, состоящих из атрибутов (скалярных - т. е. других типов, множеств объектов, ссылок на объекты), и обладающих ассоциированными с ним методами. Любая колонка таблицы может быть любого типа, поддерживаются также вложенные таблицы и массивы объектов переменной длины.
Что касается методов доступа, то они могут быть определены несколькими способами. Более простой из них предполагает контроль ядра сервера за выполнением метода: это достигается, если методы реализуются на PL/SQL (который также расширен для поддержки объектно-реляционных структур) или Java. Поскольку PL/SQL практически не уступает по своей функциональности универсальным языкам программирования, для подавляющего большинства составных типов данных таких возможностей будет достаточно. Если же новый тип данных требует специальной обработки, не реализуемой стандартными средствами ядра СУБД (к примеру, работа с мультимедийными данными, хранимыми в BLOB-полях в БД), можно использовать вызовы внешних процедур (call-outs), которые могут быть написаны, допустим, на языке C.
При использовании внешних процедур возникает серьезная проблема организации их взаимодействия с ядром сервера. Наиболее соблазнительная - на первый взгляд - идея включения их непосредственно в ядро таит в себе угрозу нарушения стабильности этого ядра, поскольку оно оказывается незащищенным перед "чужим" кодом, и, следовательно, при любом сбое (или неправильном функционировании) становится практически невозможно определить, явилось ли это следствием ошибки в самом ядре, или же это "наведенный" эффект от внешней процедуры. Поэтому Oracle изначально отказался от такой идеи и реализует взаимодействие ядра сервера с внешними процедурами в защищенном режиме (т. е. в различных адресных пространствах). Для реализации такого взаимодействия и для доступа из внешних процедур к данным БД требуется наличие специального программного интерфейса. Oracle в данном вопросе пошел по пути поддержки имеющегося стандарта интерфейса Corba, позволяя оформлять расширения ядра сервера как "картриджи данных" (Data Cartridges), входящие в более общую архитектуру сетевых вычислений (Network Computing Architecture).
Для обеспечения постепенной миграции приложений и данных в новую объектно-реляционную среду введены объектные представления (object views), которые позволяют использовать в новых приложениях объектный интерфейс, работая при этом с обычными реляционными таблицами (т. о. сохраняя работоспособность старых приложений).
Новые возможности в администрировании Oracle 8 - управляемые сервером сбросы и восстановления (собственно говоря, это расширенная интеграция применявшейся в Oracle 7 утилиты Enterprise Backup), централизованное хранение паролей (в Oracle 7 достигалось при использовании Advanced Networking Option или при идентификации пользователей через ОС, имеющую соответствующую функциональность), контроль за назначением и устареванием паролей (в Oracle7 - при идентификации пользователей через ОС). Новые режимы взаимодействия с сервером - поддержка очередей приоритетных сообщений, задающих описание транзакции или ее части (эта функциональность, кстати, может быть использована мониторами транзакций), возможность мультиплексирования сессий как на физических, так и на логических каналах связи. Фактическое снятие ограничений на количество BLOB-колонок в таблицах, возможность их тиражирования. Возможность разбиения BLOB-полей и их отдельного хранения (даже вне БД). Расширение функциональных возможностей тиражирования данных, введение программного интерфейса тиражирования, позволяющего реализовать поддержку репликации с самыми разнообразными системами хранения данных. Поддержка таблиц, целиком хранимых в индексах. Это далеко не полный список. Большая часть новшеств возникла не на пустом месте, а скорее представляет собой развитие тех черт, которые уже содержались в том или ином виде в Oracle7. Это не случайность: Oracle гарантирует совместимость версий сервера снизу вверх, при переходе к Oracle8 пользователям даже не потребуется перестраивать свои БД.
Репликационный сервер Sybase Replication Server
, входящий в состав Sybase System 11, использует асинхронную модель репликации транзакций. При разработке модели данных проектируются и правила репликации. Затем проводится конфигурирование системы. При работе прикладной программы изменения данных отслеживаются системными средствами и в соответствии с конфигурацией требуемые данные передаются в удаленную СУБД.
Репликационный сервер представляет собой отдельную задачу, запускаемую одновременно с СУБД. Он имеет свой входной язык и стандартный для продуктов Sybase сетевой интерфейс Open Server. Такое разделение снижает нагрузку на СУБД и делает систему в целом более открытой.
Транзакция может вносить изменения в одну или несколько таблиц базы данных. Выбранные для репликации таблицы специальным образом помечаются. Для каждой такой таблицы или группы ее строк, выбранной по заданному условию, определяется один узел, в котором данные таблицы являются первичными. Это тот узел, в котором происходит наиболее активное обновление данных. Репликационному серверу, обслуживающему БД с первичными данными, задается описание тиражирования (replication definition). В этом описании, в частности, могут быть заданы интервалы значений первичного ключа таблицы (или другое условие на первичный ключ), при выполнении которого измененные данные будут тиражироваться из этого узла к подписчикам. Если условие не задано, то описание тиражирования действует для всех записей таблицы.
Возможность тиражирования группы записей таблицы означает, в частности, что часть записей таблицы может быть первичными данными в одном узле, а часть - в других. В одном или нескольких узлах (СУБД), которым нужны измененные данные, в обслуживающем его репликационном сервере создается подписка (subscription) на соответствующее описание тиражирования.
В узле, содержащем первичные данные, для каждой тиражируемой базы данных запускается специальная компонента - репликационный агент (Replication Agent - RA). Он подключается к серверу БД и получает от него уведомления о завершении транзакций. Измененные данные передаются репликационному серверу, обслуживающему этот узел. Репликационный сервер в соответствии с описанием тиражирования и подписками отправляет данные в специальном эффективном протоколе по месту назначения - соответствующим репликационным серверам в удаленных узлах.
Именно в этом месте - между репликационными серверами - связь может быть медленной или недостаточно надежной. Передаваемые данные в составе транзакции при недоступности узла-получателя записываются в стабильные очереди на диске и затем передаются по мере возможности. Данные могут передаваться в удаленный узел по маршруту, содержащему несколько репликационных серверов. Данная возможность лежит в основе построения иерархических систем репликации.
СУБД, хранящая вторичные данные, может быть любой СУБД, доступной через шлюз, в том числе Oracle, Informix, Ingres, DB2, RMS, ISAM, или даже приложение Open Server. СУБД, хранящая первичные данные, требует наличия для нее RA. Сейчас RA имеется для Sybase SQL Server, Oracle, DB2, Sybase SQL Anywhere. Готовятся RA и для других СУБД. Интерфейс RA открыт и возможно создание RA для нестандартных источников данных.
Важно, что репликационный сервер тиражирует транзакции, а не отдельные изменения в базе данных. Метод тиражирования транзакций гарантирует целостность внутри транзакции, и, как следствие, невозможность нарушения ссылочной целостности. Схема обновления первичных данных и копий данных исключает возможность возникновения конфликтов (конфликты могут быть вызваны только неправильным проектированием системы или сбоем).
В различных узлах предприятия используются базы данных от разных производителей. Например, в системе принятия решений это может быть Sybase, а в геоинформационной системе - Oracle.
Самой главной задачей компьютерного департамента
Самой главной задачей компьютерного департамента банка зачастую является выбор наилучшего решения из предлагаемых на рынке вариантов АБС или выбор стратегии разработки или модернизации существующей АБС. Рассмотрим критерии такого выбора.
Требования к сложной банковской системе существенно зависят от объема операций, проводимых банком. Целью является создание АБС, которая обеспечивала бы персонал и клиентов банка необходимыми видами услуг, при условии, что расходы на создание и эксплуатацию не превышают доходов от внедрения АБС. Для выбора наиболее удачного решения необходимо учитывать:
Стоимость АБС. Здесь следует обратить внимание на выбор вычислительной платформы, сетевого оборудования и ПО. Немаловажна и стоимость обслуживания и сопровождения системы. Важно учитывать стандартность платформы и число независимых поставщиков оборудования и ПО. Очевидно, что конкуренция поставщиков увеличивает шансы найти более дешевое решение.
Возможность Масштабирования. В случае роста банка стоимость модернизации при неудачном выборе резко возрастает. Необходимо, чтобы выбранная вычислительная платформа допускала бы постепенное наращивание ресурсов в тех частях системы, где это требуется.
Использование существующих ресурсов. От эффективности использования уже имеющихся компьютеров, сетей и каналов связи существенно зависят и затраты на построение АБС.
Наличие системы защиты информации. Безопасность данных является одним из главных требований к АБС. Должна быть предусмотрена как устойчивость работы при неправильных действиях персонала, так и специализированные системы защиты от преднамеренного взлома АБС с корыстными или иными целями. На сегодняшний день безопасность АБС так важна, что мы рассмотрим этот вопрос подробнее. Система защиты и безопасности информации в АБС предполагает наличие:
1) Средства физического ограничения доступа к компьютерам АБС (идентификационные карточки, съемные блокирующие устройства и т.п.).
2) Предоставление полномочий, привилегий и прав доступа к АБС на уровне отдельного пользователя (сотрудника или клиента банка).
3) Средства централизованного обнаружения несанкционированных попыток проникнуть к ресурсам АБС, дающие возможность своевременно принять соответствующие меры.
4) Защита данных при их передаче по каналам связи (особенно актуально при использовании открытых каналов связи, например сети Internet). Здесь возможно использование "цифровой электронной подписи" и других криптографических методов.
5) Надежность системы. Отказы отдельных элементов АБС не должны приводить к ее полному выходу из строя. Кроме того, необходимо обеспечить высокую устойчивость работы АБС в условиях дестабилизирующих факторов (например помех в линиях связи или ошибочных действий персонала банка).
6) Наличие средств восстановления при сбоях. В АБС должны быть предусмотрены средства для прогноза, фиксации и локализации различных нештатных ситуаций и отказов оборудования (таких как: повреждений и перегрузок каналов связи; перегрузок устройств внешней памяти; нарушения целостности БД; попыток несанкционированного доступа в систему и т.д.)
7) Возможность адаптации к изменениям финансового законодательства или структуры банка и другим событиям.
8) Возможность работы в режиме реального времени. В настоящее время системы типа OLTP (On-line Transaction Processing) становятся все более распространенными при создании АБС. Внедрение систем OLTP требует от банка весьма больших инвестиций, но преимущества таких систем оправдывают все затраты.
Server.
Эксплуатация реляционных баз данных поставила перед разработчиками практические задачи по дополнению СУБД новыми возможностями и привела к появлению нового поколения систем управления базами данных, так называемых расширенных реляционных (extended relational) СУБД. К этому классу относят системы управления базами данных, поддерживающие ряд дополнительных возможностей, которые выходят за рамки реляционной алгебры, - триггеры, хранимые процедуры, контроль целостности и т. д.
На сегодняшний день практически все системы управления реляционными базами данных ведущих производителей, в том числе DB2, можно отнести к категории расширенных.
Целью проекта IBM Starburst в конце восьмидесятых годов было создание такой расширяемой системы управления реляционными базами данных. Практическим результатом проекта Starburst и его продолжения проекта Starwings было появление семейства DB2 Common Server в 1993 г.
Для поддержки OLTP-приложений в DB2 Common Server реализовано большое число механизмов, улучшающих производительность, включая разнообразные алгоритмы буферизации, алгоритмы контроля ресурсов и методы мониторинга, конфигурации и настройки параметров системы, использующие статистику системы.
Система управления буферизацией использует алгоритмы распараллеливания операций ввода/вывода, предварительного чтения данных и индексов, асинхронной записи на диск и многие другие. DB2 Performance Monitor, поставляемый вместе с DB2, предоставляет широкие возможности для сбора и анализа данных о производительности системы, включая информацию о событиях и периодические срезы параметров производительности.
Оптимизатор DB2 является одним из наиболее важных компонентов, обеспечивающих DB2 высокую производительность и адаптацию к различным задачам. DB2 строит так называемую QGM (Query Graph Model) для внутреннего представления запросов и использует ее на этапах проверки семантики запросов, преобразования запросов к оптимальному виду и построения плана исполнения запроса. Расширяемость QGM позволяет легко добавлять к SQL DB2 новые конструкции.
При анализе плана исполнения запроса оптимизатор, используя статистику каталогов и параметры аппаратной части, оценивает эффективность того или иного плана исполнения запроса и выбирает наилучший. Один из административных компонентов DB2, Visual Explain, позволяет наглядно представить выбранный план исполнения запроса и даже оценить его эффективность при изменении параметров системы.
сервисов операционной системы Windows NT
предусматривает использование "родных" сервисов операционной системы Windows NT для управления потоками, памятью, операциями дискового чтения/записи, сетевыми службами, функциями безопасности, а также для поддержки параллельного выполнения потоков на нескольких CPU. Использование потоков Windows NT позволяет MS SQL Server автоматически масштабироваться при работе на многопроцессорных платформах, что исключает необходимость дополнительной конфигурации или программной настройки. Например, на Comdex была продемонстрирована работа MS SQL Server на платформе AlphaServer 8400 производства Digital, оснащенным 12 процессорами, 28 Гбайт памяти и 39-ти терабайтным хранилищем. В отличие от большинства распространенных СУБД, вынужденных иметь в своем составе механизмы дублирования ядра операционной системы для обеспечения кросс-платформенной переносимости, MS SQL Server обладает достаточно легковесной прозрачной архитектурой, не перетяжеленной несвойственными ей функциями. В результате, например, при смене типа процессора не требуется заново приобретать MS SQL Server для новой аппаратной платформы. Он ставится, по определению, на все, на чем работает Windows NT (на сегодня это Intel, Alpha, MIPS и PowerPC). По мере того как Windows NT завоевывает все большее признание и все ведущие производители СУБД уже выпустили версии своих продуктов под этой операционной системой или уже заявили о своей готовности это сделать в ближайшее время, изначальная ориентированность MS SQL Server 6.5 на тесную интеграцию с Windows NT выступает в качестве одного из серьезных преимуществ.
На каждое пользовательское соединение в MS SQL Server назначается отдельный рабочий поток (порядка 55К) в рамках единого серверного процесса. Так как каждый из этих потоков в действительности является потоком Win32, на них распространяются соответствующие функции контроля операционной системы, включая защиту памяти, правила доступа к оборудованию и планирование выполнения потоков во времени (thread scheduling). Это предоставляет улучшенные способности к масштабированию при росте числа одновременно работающих пользователей, динамическую балансировку при загрузке процессоров и повышенную надежность, так как пользовательские запросы, исполняющиеся на разных потоках, защищены друг от друга. Несмотря на то что пул соединений ограничен 1024 потоками, динамическое управление пользовательскими соединениями и свободными потоками позволяет увеличить эту величину до 32 767. Кроме этого, другие пулы потоков могут использоваться для параллельного выполнения операций сканирования данных, удаления и обновления, резервного копирования, проверки целостности базы, индексирования, асинхронного опережающего чтения данных в кэш на основе алгоритмов предсказания, создания и управления курсорами и т. д.
Сетевые службы Windows NT обеспечивают MS SQL Server поддержку протоколов TCP/IP, NWLink IPX/SPX, Named Pipes (NetBEUI), Banyan Vines, AppleTalk (ADSP) и DECNet. В версии 6.5 к ним добавилась дополнительная сетевая библиотека – multi-protocol network library, которая "умеет слушать" порты TCP/IP, сокеты SPX или поименованные каналы (named pipes), которые обычно выбираются динамически. Несомненным достоинством multi-protocol является наличие сетевого сервиса, обеспечивающего взаимодействие между процессами при помощи вызовов удаленных процедур, что позволяет, например, использовать шифрование при передаче данных.
Многопоточное ядро и интеграция со службами планирования потоков Windows NT обеспечивает высокую
Сервер Баз Данных.
Из-за отсутствия вытесняющей многозадачности и защиты памяти NetWare вряд ли можно назвать подходящей платформой для сервера БД. Windows NT и Unix-машины хорошо зарекомендовали себя в качестве сервера БД, но, благодаря большей масштабируемости и наличию кластерных технологий, Unix лучше подходит в качестве мощного сервера БД для распределенных сетей.
Сервер Прикладных Программ.
По совершенно не понятной причине, когда говорят о сервере приложений, часто под этим термином подразумевают сервер БД. Никто не спорит, сервер БД очень важен, но это только одно из возможных приложений. Зачем же подменять понятие сервера приложений понятием сервера БД (а еще краше SQL-сервером).
Поскольку о серверах БД уже упоминалось, мы поговорим об использовании ОС в качестве программной платформы для общего сервера приложений, каким, например, является сервер вычислений.
Допустим, для каких-либо дорогих и очень ресурсоемких программ (серьезных САПР или, скажем, программ расчета и отображения динамических процессов в ядерном реакторе) понадобилось приобрести мощную вычислительную технику категории "Number Crashing" ("перемалыватель чисел"), допустим 12-процессорный Alpha-Server. Конечно же, на него поставят Unix (или OpenVMS) с тем, чтобы его вычислительной мощью могли пользоваться одновременно несколько пользователей. Для этого обычно задействуют различного типа терминалы, рабочие станции или эмуляторы терминалов на ПК. Из-за отсутствия встроенной поддержки многопользовательского интерфейса Windows NT не очень хорошо подходит для такого сервиса (а о NetWare лучше даже и не заикаться).
Правда в последнее время растет нужда в системах, способных исполнять основное – "тяжелое" – приложение на мощном высокопроизводительном сервере, а результаты деятельности по запросам передавать на маломощные клиентские станции, реализуя модель клиент-сервер. Переход с больших мэйнфреймов на современные системы на базе ПК средней и большой мощности как раз и требует такого решения. Windows NT, изначально построенная по схеме клиент-сервер, отлично приспособлена для работы в системах клиент-сервер в качестве сервера приложений. В первую очередь такими приложениями являются системы управления базами данных, системы информационного обмена, системы управления. Именно поэтому в Microsoft BackOffice входят Microsoft SQL Server – сервер баз данных, Microsoft System Management Server – сервер управления системой, Microsoft Exchange – сервер информационного обмена, SNA Server – сервер связи с мейнфреймами и Internet Information Server – сервер Internet.
Кроме приложений корпорации Microsoft, существует более 2000 разработок других фирм: серверы баз данных (Informix, Oracle, IBM и т.д.), системы управления сетями (HP, DEC), управления производством (SAP), документооборота (Lotus, Saros), финансовые (Platinum) и многие другие системы для бизнеса.
У Windows NT есть поддержка Network OLE. Аналогичные спецификации для Unix пока только в стадии разработки, и еще не понятно, как они будут стыковаться с клиентскими местами на основе Windows.
Службы Файлов и Печати.
Судя по тестам, самой производительной сетевой файловой системой обладает NetWare 4.1. Очень близко к ней находится Windows NT, но все-таки при большом количестве клиентов и при подключении сервера к высокопроизводительному сетевому каналу архитектурные особенности NetWare дают ей некоторые преимущества.
Файловый сервер в NetWare является обычным ПК, сетевая ОС которого осуществляет управление работой ЛВС. Функции управления включают координацию рабочих станций и регулирование процесса разделения файлов и принтеров. Сетевые файлы всех рабочих станций хранятся на жестком диске файлового сервера, а не на дисках рабочих станций.
Кроме возможности выполнения приложений, написанных для других операционных систем, в Windows NT поддерживаются и различные типы файловых систем. Можно использовать жесткий диск, отформатированный в одной из трех систем: FAT, HPFS и NTFS (разработанной специально для Windows NT). Очень надежная, файловая система NTFS позволяет применять длинные имена файлов и контролировать доступ к определенным файлам. В 4 версии файловая система HPFS больше не поддерживается, так как не предлагает никаких преимуществ по сравнению с двумя другими.
Сетевая файловая система - самое слабое место в Unix. Стандартной для Unix и общепринятой в мире открытых систем является NFS. Она была разработана Sun более десятка лет назад. С тех исторических времен для Unix было предложено много других, более совершенных спецификаций сетевых файловых систем, но они не получили широкого распространения.
NFS отличается низкой производительностью, ограниченными средствами управления правами и недостаточной защищенностью от несанкционированного доступа. К тому же многие системы Unix имеют ограничения в 2 Гбайт (что слишком мало для современных программ) на максимальный размер файла.
Службы печати во всех трех ОС достаточно близки по своим функциональным возможностям, и, какая из них лучше, оценить трудно. Несомненно, только то, что удобнее всего управлять печатью в Windows NT, а сложнее всего - в Unix.
Собственная разработка.
Этот этап в развитии автоматизированных технологий в разное время был пройден подавляющим большинством российских банков, поэтому ему стоит уделить внимание. В этот же сегмент включены так называемые «эксклюзивные» разработки, выполненные под заказ одного банка и не поддающиеся тиражированию. Основные признаки подобной стратегии:
- первыми автоматизируются исторически «базовые» функции банковской системы – бухгалтерия и расчетно-кассовое обслуживание, существующие по крайней мере в двух-трех десятках тиражируемых российских систем;
- не разделены служба разработки и служба эксплуатации банковской системы, не выделены моменты передачи версий банковской системы в эксплуатацию, и, как правило, понятие «версия АБС» вообще не приемлемо;
- неполноценное документирование системы (частичное наличие проектной и эксплутационной документации) либо полное отсутствие документации.
- С точки зрения специалистов, имеющих опыт создания и внедрения АБС в крупных и средних банках, разумными основаниями для собственной разработки могут являться:
- интеграция нескольких систем при числе автоматизированных рабочих мест в банке более 200;
- разработка целых модулей системы при числе автоматизированных рабочих мест в банке более 500;
- наличие у банка уникальных бизнес требований и уникальной стратегии информатизации, удовлетворить которые не в состоянии ни специализированные системные интеграторы, ни разработчики промышленных тиражируемых решений. В этом случае требования и стратегия должны быть явно сформулированы во внутренних документах банка с соответствующим контролем (аудитом) их реализации;
- столь динамичное развитие банка, что бизнес требования не могут быть выдвинуты даже на год вперед. В этом случае разрабатываемая система является только макетом будущей информационной системы. Сегодня это уже в прошлом: наступает этап стабильного развития банковской системы.
С точки зрения специалистов, имеющих опыт профессионального банковского консалтинга, помимо приведенных причин, собственная банковская разработка может быть оправдана:
- для небольшого по количеству персонала одно-филиального банка с небольшим количеством ежедневных операций – «домашнего» банка крупной промышленной либо торговой компании, консорциума, холдинга (примеров тому довольно много);
- как связующее звено для автоматизации головного офиса многофилиального банка при установке однотипных тиражируемых решений в филиалах и отделениях;
- для узкоспециализированного банка со значительным преобладанием операций, не характерных для банковского сообщества в целом;
- для крупного универсального банка в части автоматизации передовых финансовых технологий, пока еще недостаточно освоенных российским банковским рынком. При отсутствии адекватного предложения на рынке тиражируемых решений такая разработка бывает оправданной в части указанных финансовых технологий вплоть до их сопряжения с основной AБC. Эта причина становится все менее определяющей, поскольку промышленные решения ведущих российских разработчиков быстро развиваются в функциональном отношении;
- для среднего банка, имеющего целью стать «законодателем технологической моды» в области автоматизации финансовых операций при сильной динамике развития банковского рынка в целом (например, Инком банк, Кредо банк, Сибирский Торговый банк, Оптимум-банк). Однако и эта причина осталась в прошлом как из-за нынешней стабилизации банковского рынка, так и из-за наличия большого числа конкурентоспособных предложении. Заметим также, что правильнее изначально ставить задачу создания «отчуждаемых технологий», а не «технологий для себя».
Основным недостатком собственной разработки является сложность интеграции консолидированных технологий в получаемые проектные или программные решения. Кроме того, обычно собственные разработки характеризуются низким (в большинстве случаев) качеством закладываемых проектных проработок, которые позволяют получить решение проблемы лишь «на сегодня», но не дают возможности оперативно отслеживать изменение внешних условий в будущем (отчетность, развитие финансового рынка, введение новых банковских операций, развитие информационных технологий вообще).
Еще одна опасность заключена в неоправданном завышении приоритетов системных требований (аппаратное обеспечение, операционная среда, инструментарий разработки, коммуникации) перед бизнес-требованиями (функциональность, надежность, безопасность, поддержание и развитие технологий).
Одним из негативных последствий этого преобладания является то, что в банке могут более или менее успешно решаться только текущие проблемы автоматизации типа «не проводится документ», «потерян клиентский платеж», «требуется более мощный компьютер», «нет связи с филиалом/отделением». Кроме того, хотя все пользователи знают, что в далеком будущем банк будет работать на «самой лучшей» программно-аппаратной платформе типа Sun + Oracle или Hewlett-Packard + Informix, никто не знает, как будет развиваться автоматизированная система в среднесрочной перспективе и какие финансовые технологии «завтрашнего дня» можно использовать «уже сегодня», хотя бы в ограниченном объеме.
Замеченная еще в 1995 – 1996 гг. тенденция к снижению относительного качества и количества собственных разработок сегодня получает дальнейшее развитие. В 1997 г. существенно сузится тот сегмент технологий банковской автоматизации, где представлены собственные разработки. В дальнейшем, на рынке останутся лишь те, которые выполнены по законам классической программной инженерии: Техническое задание ® Технический проект ® Информационная модель ® Прототип АБС ® Система комплексной автоматизации.
SQL
. Microsoft SQL Server 6.5 был первой СУБД, прошедшей сертификационные испытания Правительства США на соответствие входному уровню (entry level) федеральных стандартов обработки информации (FIPS) 127.2. Эти тесты основываются на известных стандартах ANSI SQL92 и включают дополнительные требования, в частности по поддержке трехуровневых архитектур. MS SQL Server 6.5 содержит большое количество черт и функций, относящихся к более высоким уровням стандарта ANSI SQL92 (intermediate и full), например скроллируемые в обоих направлениях курсоры с абсолютным и относительным позиционированием. Насколько мне известно, ни одна из СУБД на сегодня не достигла полного соответствия уровню ANSI SQL92, более высокому, чем входной.
Transact-SQL включает операторы для изменения настроек сервера, пользовательской сессии, просмотра и редактирования данных, создания и модификации баз и их объектов. В настоящее время в MS SQL Server поддерживается только строгий (restrict) тип ссылочной целостности.
Помимо обычных хранимых процедур MS SQL Server предоставляет возможность динамической загрузки и выполнения функций, которые называются расширенными хранимыми процедурами и выполнены в виде dll-библиотек. Расширенные процедуры объединены в dll-библиотеки в целях повышения производительности по сравнению с оформлением в виде отдельных процессов. Кроме расширенных процедур, входящих в Transact-SQL, MS SQL Server позволяет создавать пользовательские расширенные процедуры c использованием кода на C при помощи MS Open Data Service (ODS) API. MS ODS является мощным средством разработки и применяется также для создания шлюзов к неподдерживаемым штатно пользовательским ресурсам, программирования задач аудита, извещения о событиях и пр. Дополнительный уровень защиты обеспечивается обработчиком исключений MS SQL Server, который предотвращает сервер от сбоя в случае нарушений защиты памяти в расширенной процедуре.
В версии 6.5 в Transact-SQL вошли хранимые процедуры для работы с объектами OLE Automation. Таким образом, фактически появилась возможность писать расширенные хранимые процедуры на любом языке программирования, поддерживающем создание серверов OLE Automation: Visual Basic версии 4 и выше, Visual FoxPro 5.х и т. д. Экземпляр соответствующего объекта создается непосредственно в коде Transact-SQL.
Механизм вызовов удаленных хранимых процедур (RPC) позволяет организовать межсерверное взаимодействие и является мощным средством построения распределенных баз. RPC означает вызов с одного сервера процедуры, принадлежащей другому серверу баз данных. Клиентское приложение может вызывать процедуру на своем основном сервере, которая неявно для клиента может порождать каскад вызовов удаленных хранимых процедур на других серверах. RPC представляет собой достаточно удобный способ работы с распределенными данными без необходимости внесения изменений в клиентскую часть приложения.
составная часть Sybase System 11
- составная часть Sybase System 11 (Sybase SQL Anywhere - это новое название для пятой версии Watcom SQL). С объединением компаний Sybase и Powersoft в феврале 1995 года фирма Watcom вошла в состав Sybase, Inc. SQL Anywhere работает на платформах Windows 3.x, Windows NT и Windows 95, OS/2, DOS, Novell NetWare и QNX. Среди поддерживаемых сетевых протоколов - TCP/IP, Named Pipes, IPX/SPX.
Приложения-клиенты могут разрабатываться с использованием ODBC, Embedded SQL и собственного интерфейса Watcom HLI. Имеется собственный DDE-сервер для интеграции, например, с Excel, Word или Visual Basic.
Включение SQL Anywhere в состав линии продуктов Sybase придало новые качества продукту: собственная репликация данных (SQL Remote); поддержка системы репликации (Sybase Replication Server); графический инструмент администрирования (SQL Central); поддержка (Transact-SQL); поддержка ODBC2.1; повышение производительности и мониторинг производительности; расширения языка Watcom SQL; универсальный серверный интерфейс SQL Anywhere Open Server.
База данных SQL Anywhere может участвовать в схеме репликации Sybase Replication Server. Для интеграции с Replication Server используется специальный шлюзовой компонент - Open Server Gateway для SQL Anywhere, который "транслирует" стандартный для продуктов Sybase интерфейс Open Client/Server в интерфейс SQL Anywhere. Для отслеживания изменений в базе данных SQL Anywhere предусмотрен компонент Replication Agent.
Другой механизм репликации (SQL Remote) - это система репликации только между базами данных SQL Anywhere. Это менее гибкая система, чем Replication Server; например, в ней жестко требуется, чтобы имена объектов тиражирования были одинаковыми во всех базах данных. Зато SQL Remote легко администрируется, пригоден для широкого использования в том числе и в случаях, когда базы данных не имеют прямого соединения друг с другом.
SQL Remote - это система репликации (тиражирования данных) между базами данных SQL Anywhere, основанная на передаче сообщений. Эта система администрируется из единого центра и наиболее подходит для обмена данными с laptop-компьютерами и другими пользователями, связь с которыми есть от случая к случаю. Система SQL Remote может использовать для репликации средства электронной почты (MAPI, VIM, SMTP), файловый обмен и готовящийся к выходу механизм Sybase Messaging Services.
SQL Remote реплицирует данные между "консолидированной" БД и одной или несколькими "удаленными" БД. В качестве удаленных могут выступать как сетевые серверы SQL Anywhere, так и локальные однопользовательские БД. SQL Anywhere поддерживает иерархическую модель репликации.
SQL Central
- графическое средство администрирования БД, работающее под Windows 95 и Windows NT. Из SQL Central осуществляются все административные действия от создания баз данных, загрузки/выгрузки до создания таблиц, процедур и назначения полномочий. SQL Central также управляет системой репликации SQL Remote, описанной выше. Для удобства предусмотрен drag-and-drop интерфейс, контекстная подсказка и контекстное меню по правой кнопке мыши.
SQL Anywhere 5.0 включает набор расширений языка Watcom SQL в сторону диалекта
SQL-DMO (Distributed Management Objects).
В качестве промежуточного слоя в архитектуре распределенной среды управления выступают распределенные объекты управления (DMO), которые играют исключительно важную роль в концепции построения MS SQL Server и потому заслуживают более тщательного рассмотрения. По мере того как приложения приобретали все менее централизованный характер, поддержка распределенных баз данных становилась одним из самых актуальных вопросов построения современных СУБД. SQL Enterprise Manager позволяет осуществлять удобное администрирование распределенных серверов из единого центра, однако наряду с этим хотелось бы иметь возможность программного обращения к административным функциям из высокоуровневых языков. Обычно использовавшимся для этих целей в других СУБД сценарным языкам типа REXX или PERL недоставало функциональных возможностей, библиотек классов, отладчика и т. д.
Поэтому в случае с Microsoft SQL Server был избран более открытый подход: сервер был разработан как совместно с набором объектов управления, которые могли быть вызваны из любого языка программирования, поддерживающего технологию СОМ (Component Object Model). MS SQL Server 6.5 предоставляет интерфейс OLE Automation с более, чем 70 объектами, обладающими 1500 свойствами.
Это означает, что фактически любая из административных задач, включая операции над базами данных, ограничениями (constraints), триггерами, таблицами, представлениями, полями, индексами, пользователями, группами, публикациями и пр., может быть оформлена как вызов соответствующего метода соответствующего объекта и выполнена (при наличии прав доступа) из Visual Basic, Visual C++, Visual J++, Visual FoxPro и т. д.
В основе практически всех вышеперечисленных утилит лежит код языка
Стратегии развития АБС.
Семилетняя история автоматизации российских банков позволяет узнать: есть ли общие черты в путях автоматизации российских банков. При описании базовых стратегий технологического развития банков (в части программных решений) удобно использовать классификацию, предложенную В. Колсаноным (в прошлом – начальник управления банковских технологий Тверьуниверсалбанка). Любая стратегия технологического развития банка подразумевает формулирование функциональных и экономических требований (с различной степенью детальности) к системе автоматизации и соответствующую реализацию этих требовании.
СуперМенджер
, предназначенная для автоматизации бухгалтерского учета на предприятиях сложной структуры различных форм собственности. Система позволяет оперировать операциями: аналитического и синтетического учета; автоматического учета курсовой разницы; приведения учетных данных к любой национальной валюте; ведения журналов-ордеров, главной книги и баланса в любой валюте и сводно по эквиваленту; формирования сложных проводок; консолидации данных различных организаций и филиалов.
СуперМенджер работает в различных компьютерных сетях и на компьютерах IBM и Macintosh. Существуют версии программ для DOS, Windows и Macintosh.
Программа
Sybase Backup Server
- это специальный сервер для выгрузки и загрузки баз данных, не требующий остановки SQL Server и не снижающий его производительности.
Дамп базы данных и журнала производится без прекращения использования БД. Поэтому имеется возможность выполнять дамп часто, что повышает надежность системы. Backup Server выполняет весь необходимый ввод-вывод. Команды на дамп или загрузку выдаются непосредственно для SQL Server, который обращается к Backup Server.
Выгрузка производится в два этапа - сначала выгружается состояние данных на момент начала дампа, а затем оно дополняется изменениями, произошедшими за время дампа. Имеется возможность получения как полного дампа базы данных, так и дампа изменений.
Для анализа функционирования сервера Sybase предоставляет компоненту SQL Monitor, представляющую на любом компьютере-клиенте в графическом виде данные по загрузке сервера, вводу/выводу, интенсивности транзакций, использованию памяти сервером. SQL Monitor как клиент взаимодействует с SQL Monitor-сервером, выполняющемся на том же компьютере, что и SQL Server. SQL Monitor-сервер использует разделяемую память для доступа к информации о работе SQL Server, и поэтому не загружает SQL Server.
Для
Sybase IQ.
В системах поддержки принятия решений используется два типа продуктов. Одни оптимизированы для предварительно известных запросов, а другие - для запросов "на лету" (т.е. заранее неизвестных). Sybase IQ не требует заранее определять "пути", то есть не требует использовать предварительные знания о структуре запросов.
С использованием побитовой схемой индексации Sybase IQ практически все данные в БД могут быть проиндексированы. Поэтому никакой запрос не приведет к просмотру записей таблиц.
Sybase IQ не требует изменений в приложениях - любая программа, работающая с SQL Server, будет работать с IQ. Собственно Sybase IQ не выполняет отдельных обновлений данных. Он в прозрачном для клиента режиме передает их для выполнения SQL Server. Sybase IQ очень эффективно выполняет пакетные дополнения к базе данных. В отличие от технологий, основанных на B-деревьях, при добавлении 10 миллионов строк в таблицу, где уже есть десятки миллионов строк, Sybase IQ просто построит дополнительные страницы индекса и не потребует перестраивать весь индекс целиком.
Sybase MPP
- это расширение архитектуры Sybase SQL Server, разработанное и оптимизированное для массовой параллельной обработки. Он обладает открытой параллельной архитектурой, предназначенной для поддержки очень больших баз данных (VLDB). Sybase MPP использует стандартный SQL и открытые интерфейсы. С ним работают те же приложения, что и с SQL Server, без необходимости перепрограммирования.
Sybase MPP выполняет параллельно операции считывания (выборки), добавления, обновления и удаления записей. Параллельно выполняются и загрузка/восстановление, и создание индексов. Архитектура Sybase MPP не содержит узких мест, связанных с разделяемой памятью или разделяемым дисковым пространством. При выполнении параллельной выборки Sybase MPP использует индексы.
Дополнительные процессоры и диски могут добавляться в систему постепенно, достигая масштабируемости в сотни раз. Имеется возможность тиражировать и перестартовать ключевые компоненты системы так, чтобы обеспечить быстрое восстановление при сбоях.
С точки зрения приложений, пользователей и разработчиков Sybase MPP выглядит как сервер с одной логической базой данных. Для этой базы данных работает оптимизатор запросов. Поддерживаются хранимые процедуры и глобальный репозитарий, где хранится информация о размещении данных. Для управления системой имеются графические утилиты.
Sybase OmniConnect
осуществляет унифицированный доступ приложений к разнородным источникам данных. Специальные шлюзовые компоненты организуют работу в системе с любой промышленной СУБД, включая Oracle, Informix, Ingres, DB/2, RMS, ISAM. Приложения-клиенты при этом работают только с сервером OmniConnect на диалекте SQL фирмы Sybase (Transact-SQL), а необходимая трансляция языка SQL и преобразование типов данных автоматически осуществляется шлюзовыми модулями. Для работы с хранилищами данных на "больших" ЭВМ (mainframe) Sybase поставляет также продукцию фирмы Micro Decisionware (Sybase купила фирму MDI в начале 1994 года). MDI предоставляет шлюзы в DB/2, SQL/DS, SQL/400, в том числе через IBM DRDA-интерфейс.
OmniConnect хранит информацию о размещении таблиц на том или ином сервере БД. Централизованно хранятся и исполняются глобальные хранимые процедуры. Приложение-клиент может осуществлять транзакции, в которых участвуют таблицы из различных БД, а также выполнять процедуры, которые OmniConnect при работе с СУБД, отличными от Sybase, прозрачно преобразует к соответствующему диалекту SQL.
Типы блокировок
:
- shared - для операций, не изменяющих содержимое данных, например select;
- update - когда сервер намеревается изменить данные, во время непосредственной записи обновлений этот тип блокировки изменяется на exclusive (для таблиц см. intent);
- exclusive - при модификации данных (insert, update, delete).
Товаров
. Это значит, что может существовать еще нигде не использованный налог, и может существовать товар, не облагаемый налогом. При изменении значений в таблице
Товаров
. С другой стороны удаление какого-нибудь налога не ведет к удалению товара. Ссылка на налог устанавливается в значение NULL.
Товары
. В ней хранится информация о товарах для каждого счета.
Товары
. При удалении счета-фактуры, удаляются все товары, связанные с этим счетом-фактуры.
Transact-SQL Sybase
, используемого в Sybase SQL Server на различных платформах. Диалект Transact-SQL сам по себе не является лучше или хуже диалекта Watcom SQL. Достигнутая совместимость означает, что на нижних уровнях распределенной информационной системы можно использовать "легкую" по ресурсам, мощную по функциональности и дешевую СУБД SQL Anywhere, а на уровне выше - промышленную высокопроизводительную СУБД Sybase. При этом приложения, работающие с этими СУБД, окажутся инвариантны к тому, с какой СУБД они работают.
Использование журнала транзакций в SQL Anywhere уменьшает время фиксации каждой транзакции. Сервер SQL Anywhere является 32-разрядным (кроме платформы Windows 3.X).
СУБД использует оптимизатор, который выбирает лучшую стратегию для выполнения каждого запроса. Для этого оптимизатор определяет стоимость каждой стратегии, оценивая требуемое количество считываний и записей на диск. Выбранная стратегия задает, в каком порядке происходит доступ к таблицам в запросе и следует ли использовать индекс для каждой таблицы. Окно статистики в интерактивном средстве для формирования запросов (ISQL) позволяет просмотреть выбранный план выполнения любого оператора SQL.
В SQL Anywhere предусмотрен набор статистической информации, предназначенной для оценки производительности. Эта информация доступна из инструмента администратора SQL Central и приложений-клиентов. В дополнение, подобная информация предоставляется из SQL Anywhere в монитор производительности Windows NT.
UNIX
создавалась за несколько этапов. Все началось в 1965-69 гг. в Bell Labs концерна AT&T в рамках проекта MULTICS (Multi-user Timesharing Interactive Computing System) для большой машины General Electric GE-645. В 1969 г. Bell Labs решает выйти из проекта MULTICS, чтобы сосредоточить усилия на создании мобильной операционной среды под условным названием UNIX.
Первоначально UNIX была написана на ассемблере для DEC PDP-7. Затем, в 1973 г., Денис Ритчи, который в то время уже разработал язык В, предложил переписать основную часть UNIX на В. В процессе осуществления этой идеи, язык В настолько усовершенствовался, что преобразился в С. Так было достигнуто невиданное тогда качество – мобильность. В отличие от всех операционных систем, на 100 процентов написанных на ассемблере для определенной машины, UNIX имела только 10 процентов (1000 строк) кода на ассемблере. Для того чтобы работать на произвольной машине, новая ОС нуждалась единственно в написании нескольких страничек на ассемблере и компиляторе языка С. Уже в 1976 г. в первый раз UNIX была перенесена на другую машину - Interdata 8/32.
В 1971 г. торговая марка UNIX была запатентована Bell Labs для серии машин DEC PDP-11/20, наиболее тогда распространенных в университетской среде. За несколько лет UNIX претерпела в Bell несколько изданий, из которых наиболее популярны были шестое (1976 г.) и седьмое (1979 г.).
Нарастающая популярность UNIX заставила Калифорнийский университет в Беркли предложить свой вариант UNIX - BSD (Berkeley Software Distribution), на базе которого по заказу DARPA (Агентство перспективных проектов военного ведомства США) компания BBN реализовала в системе BSD 4.1 протоколы TCP/IP. Так возникла сеть Интернет.
Необходимо вспомнить и разработанную в Массачусетском технологически институте систему X-Window (1984 г.). Основанная на TCP/IP, она обеспечивает мобильный графический интерфейс, к которому прилагается, концепция клиент-сервер, наиболее революционная для своего времени. Сегодня UNIX и X-Window почти неразделимы.
В это же время начались попытки стандартизации. Известный американский институт инженеров по электротехнике и электронике (IEEE), создал рабочую группу 1003, которая разработала стандарт переносимой системы (Portable Operating System). Имя этого стандарта - POSIX, который, конечно же, прежде всего, относится к UNIX. В 1990 г. документ POSIX 1003.1 с редакционными изменениями был принят в качестве стандарта ISO.
Другим опытом стандартизации UNIX является документ Х/Open Portability Guide. Популярно третье издание - XPG3 (1989 г.), которое основано на POSIX 1003.1, но содержит и ряд новых элементов, рассматривающих не только ОС, но и потребительский интерфейс, базы данных, коммуникации.
Шагом к стандартизации UNIX является и появление в 1989 г. ANSI стандарта для языка С (16 лет спустя после его рождения).
Долгим и тернистым был также и путь UNIX на рынок программных средств. Считается, что только с 1 января 1984 г. дочерняя компания AT&T Bell Labs (позднее переименованная в USL - UNIX System Laboratories) вышла на рынок с UNIX в качестве торгового продукта. Под благовидным предлогом стандартизации UNIX, Компания AT&T ввела SVID (System V Interface Definition), и этим ходом вновь отождествила UNIX со своей System V (1983 г.).
Другим важным событием в 1987 г. стало соглашение АТ&Т с ведущими UNIX производителями Sun и Microsoft, о так называемой унификации UNIX. Проект предусматривал создание четвертого издания System V (SVR4), которая объединяла характеристики XENIX Microsoft (другое на звание UNIX для микрокомпьютеров, основанной на седьмом издании и испытавшей сильное влияние System V), SunOS (система UNIX фирмы Sun Microsystems, основанной на BSD) и System V 3.2. В 1987 г. AT&T в первый раз лицензировала имя UNIX.
В мае следующего года несколько ведущих компаний, между которых были Apollo, Bull, HP, IBM и Siemens, учредили Фонд открытых систем OSF (Open Software Foundation) - организацию с целью разработки и распространении открытых программных систем. Она финансировала разработки программного обеспечения в соответствии с наиболее современными требованиями к открытым системам, специфицированными в соответствующих стандартах для разработки: системный интерфейс OSF/AES, графический потребительский интерфейс OSF/Motif, распределенные системы OSF/DCE и т. д. Основой проекта являлся выбор UNIX-технологии. После внимательного изучения выбрали ядро Mach, разработанное в университете Карнеги-Меллон (100 тыс. строк исходного кода; код первой UNIX был на порядок скромнее), а все остальное (OSF-1 имеет, в общем, около 800 тыс. строк кода) предлагалось взять из IBM AIX третьей версии.
Выбор AIX не понравился AT&T. Концерну было предложено принять членство OSF, но он поставил неприемлемое условие заменить AIX на SVR4. В результате AT&T, Sun, UNISYS, XEROX и др. создали в марте 1989 г. организацию UNIX International (UI), которая дала широкую дорогу USL. Разработка и лицензирование софтвера оставалась привилегией USL, но общий контроль был сохранен за AT&T. Взаимные столкновения и несовместимость продуктов OSF и UI явились кульминационным пунктом в так называемых UNIX-войнах.
Между тем уже в наши дни появился Windows NT, который в отличие от своих предшественников DOS и Windows располагает арсеналом средств настоящей ОС. Этот факт заодно с безграничным доверием и поддержкой миллионов клиентов Microsoft всерьез стал угрожать UNIX-производителям. В июне 1992 г. OSF и UI объявили о совместном проекте Destiny, который положил конец UNIX-войнам.
Вдобавок основной конкурент Microsoft в мире персональных компьютеров фирма Novell сделала ряд вполне понятных шагов навстречу UNIX. Компания стала собственником USL (декабрь 1992 г.) и благородным жестом передала торговую марку UNIX в руки Комитета X/Open. X/Open создал XPG4, с которым примирил SVID и AES. Была разработана и серия тестов для отбора в кандидаты открытых систем.
Событием большого значения для будущего открытых систем является проект COSE, созданный ведущими производителями программного обеспечения. Сейчас в этом направлении сделан первый шаг (Common Open Desktop), унифицированный графический потребительский интерфейс. Кроме того, мир открытых систем, безусловно, будет обогащен и развитием объектно-ориентированных технологий.
Управление транзакциями.
Архитектура Sybase System 11 поддерживает как синхронную, так и асинхронную модель управления транзакциями. Модель выбирается в соответствии с требованиями предметной области.
Централизованное хранение данных и доступ к центральной БД в условиях географически распределенной системы приводят к необходимости установления соединений между центральным сервером, хранящим данные, и компьютерами-клиентами. Большинство компьютеров-клиентов отделены от центрального сервера медленными и недостаточно надежными линиями связи, поэтому работа в режиме удаленного клиента становится почти невозможной. Обмен данными на практике часто реализуется регламентной передачей файлов, либо через модемное соединение, либо "с курьером". То, что данные доставляются к месту назначения не системными средствами, а путем экспорта/импорта файлов, приводит к необходимости участия человека в процессе обмена, что влечет за собой неоперативность поступления данных и необходимость реализации внешних механизмов контроля целостности и непротиворечивости. Результатом является высокая вероятность ошибок. Кроме того, реализация всех алгоритмов обмена данными и контроля в этом случае возлагается на прикладных программистов, проектирующих АРМ. Объем работ по программированию и отладке подпрограмм обмена соответствует числу различных АРМ. Это также приводит к повышению вероятности ошибок в системе.
В современной технологии АРМ объединены в локальную сеть. АРМ-клиент выдает запросы на выборку и обновление данных, а СУБД исполняет их. Запросы клиента в соответствии с требованиями задачи сгруппированы в транзакции. Если все операции с базой данных, содержащиеся внутри транзакции, выполнены успешно, транзакция в целом выполняется успешно (фиксируется). Если хотя бы одна из операций с БД внутри транзакции не выполнилась успешно, то все изменения в БД, произведенные к этому моменту из транзакции, отменяются (происходит откат транзакции). Такое функционирование обеспечивает логическую целостность данных в базе данных.
При распределенной обработке изменения, проводимые приложением-клиентом, могут затрагивать более чем один сервер СУБД. В этом случае для поддержания целостности необходимо применение транзакционного механизма, реализуемого системными средствами, а не прикладной программой.
Производители современных промышленных СУБД обеспечивают поддержку распределенной обработки транзакций. Распределенная обработка данных основывается на синхронных или асинхронных механизмах обработки распределенных транзакций. Эти механизмы могут использоваться совместно. Выбор того или иного механизма зависит от требований конкретной подзадачи, так как каждый механизм обладает сильными и слабыми сторонами.
Управления конфигурацией
сервера имеется как набор хранимых процедур и set-команд, так и графическое средство. При работе с параметрами конфигурации в командном режиме введено три уровня представления - базовый уровень, служащий для управления основными параметрами, промежуточный уровень и детальный уровень, на котором доступны все параметры тонкой настройки (рис.10). Параметры организованы иерархически в соответствии с группами функций SQL Server, которыми они управляют. Имеется возможность создать несколько поименованных конфигураций и переключаться между ними.
Времена статических страниц объявлений
Времена статических страниц объявлений и рекламы миновали - бурное развитие бизнеса в Internet предполагает непосредственное участие клиента в совершении сделок. Говоря об использовании MS SQL Server при построении активных Internet/intranet-приложений, мы снова должны обратиться к преимуществам его тесной интеграции со всеми продуктами семейства Microsoft BackOffice. На этот раз речь пойдет об Internet Information Server (IIS).
Помимо исполнения CGI-скриптов MS IIS предоставляет разработчикам возможность создания с помощью соответствующего прикладного программного интерфейса (ISAPI) приложений в виде динамических библиотек, запуск которых происходит в ответ на команду или выбор линка на Web-странице. В отличие от CGI, где каждый скрипт исполняется как иной, нежели Web-сервер, процесс, что быстро "съедает" ресурсы даже достаточно мощной машины при большом количестве заходов на сервер, ISAPI-приложение выполняется в адресном пространстве Web-сервера, что, естественно, повышает скорость работы и существенно экономит машинные ресурсы. В зависимости от сложности сайта и приложений, dll могут быть предзагружены одновременно с запуском сервера, либо подгружаться/выгружаться из памяти по мере необходимости. К наиболее известным средствам разработки приложений на основе ISAPI относятся входящий в состав MS IIS Internet Database Connector (IDC), а также свободно распространяемый dbWeb.
Microsoft dbWeb представляет собой шлюз между 32-битными ODBC-ресурсами и MS IIS. dbWeb предусматривает создавание схемы, содержащей описание данных и связанных с ними Web-страниц. Он поддерживает исполнение запросов в реальном режиме времени на основе "pull"-модели публикации, позволяя тем самым создавать активные Web-страницы. Microsoft dbWeb структурно состоит из двух основных компонентов: dbWeb Service и dbWeb Administrator. dbWeb Service является типичным ISAPI-приложением, которое обрабатывает пользовательские запросы, направляемые посетителем страницы через броузер, и управляет соединениями между броузером, ODBC-ресурсом и IIS. К функциям dbWeb Administrator относится создание HTML-страниц, содержащих результаты выполнения запросов на основе уже упоминавшихся схем, с помощью которых осуществляется управление публикуемыми данными.
IDC входит в состав MS IIS. С помощью вызовов функций ODBC API он обеспечивает прямую связь между полями HTML-формы и соответствующим ODBC-достижимым источником данных. Для доступа к данным и публикации на Web IDC использует файлы двух типов - .idc и .htx. Файл с расширением idc (см. пример) содержит всю необходимую информацию о соединении с источником данных, текст запроса, а также ссылку на соответствующий htx-файл. Файл с расширением htx (см. пример) служит шаблоном страницы, на которой будут опубликованы данные из базы, а также элементы оформления в виде статического текста, графики, видео и т. п.
SQL Web Assistant, входящий в состав MS SQL Server 6.5, в отличие от двух только что рассмотренных инструментов, не является ISAPI-приложением и работает только с MS SQL Server . Web Assistant имеет интерфейс мастера (wizard), благодаря которому, администратор может сэкономить время по выполнению рутинного HTML-кодирования и получить готовую (в HTML-кодах) страницу, содержащую результаты опубликования произвольного запроса к базе. Полученная страница не является активной в строгом смысле этого слова, так как публикуется при помощи push-метода, т. е. обновление происходит по инициативе сервера и не допускает обновления со стороны клиента. Однако сервер может производить обновление (перегенерацию) страницы на триггерной основе или на основе расписаний задач под управлением SQL Executive.
Active Data Objects (ADO) в достаточно грубом приближении служат VB-интерфейсом к OLE DB. Их роль видится особенно важной в развитии компонентного подхода и технологий универсального доступа к данным. Активные серверные страницы представляют собой инструмент для эффективной разработки серверных Web-приложений, интегрирующих в своем составе HTML-код, VBScript и компоненты ActiveX. С их помощью в уже существующие наработки легко могут быть встроены фрагменты кода на VBScript или JavaScript, а также вызовы соответствующих объектов ActiveX.
MS SQL Server 6.5 представляет собой мощный полнофункциональный сервер баз данных, отличающийся высокой производительностью, быстротой освоения и удобным интерфейсом администрирования. Под его управлением могут работать базы данных в широком диапазоне от уровня среднего звена предприятия до распределенных баз масштаба корпорации. Доступ к MS SQL Server возможен из большого числа средств разработки клиентских front-end, настольных баз данных и офисных продуктов. MS SQL Server изначально ориентирован на интеграцию с другими серверами MS BackOffice, что позволяет непосредственно охватить решение комплексных задач автоматизации хранения и обработки информации, электронной почты и документооборота, построения Internet/intranet приложений и т. д. MS SQL Server работает в как в традиционных клиент-серверных платформах, так и в многоуровневых средах.
и мелких российских предприятий информационные
Для большинства средних и мелких российских предприятий информационные решения с использованием сетей персональных компьютеров являются фактическим стандартом. В тоже время, прикладное программное обеспечение, используемое этими предприятиями (такое как автоматизированные системы документооборота, системы управления промышленными и торговыми предприятиями, бухгалтерские системы и др.), создано при помощи инструментария предыдущего поколения, и не способно эффективно использовать ресурсы, предоставляемые новыми технологиями. К современным информационным системам уровня предприятия предъявляются очень высокие требования производительности, надежности, обеспечения целостности и безопасности данных (особенно при сегодняшнем развитии Internet), защиты от системных и аппаратных сбоев, масштабируемости, возможности взаимодействия с другими системами, работы в гетерогенных распределенных вычислительных сетях.
В течение последнего времени большое распространение получила новая технология построения баз данных – технология «клиент-сервер». Эта технология дает ряд неоспоримых преимуществ, по сравнению с технологией предыдущего поколения – технологией «файл-сервер». В частности, она предоставляет большие возможности по защите данных от несанкционированного доступа и разграничение прав доступа на уровне отдельных записей и полей, дает возможность работы с большими мультимедийными и нестандартными данными. Также новая технология позволяет работать как в локальных сетях, так и в глобальных и Internet, и многое другое. Системы, построенные на новой технологии «клиент-сервер», отличаются высокой степенью безопасности, территориально независимости и не требовательности к аппаратной мощности клиентских станций.
В настоящее время, в области баз данных и проектировании систем, с использованием новой технологии «клиент-сервер», ведутся работы в разных направлениях. Во-первых, продолжают вестись работы по усовершенствованию технологии и уменьшению требований к аппаратному и программному обеспечению, с одновременным увеличением производительности. Во-вторых, ведутся работы в направлении переноса всех программ, использующих технологию предыдущего поколения «файл-сервер», на новую и более современную технологию «клиент-сервер».
Весьма актуальным является проблема переноса бухгалтерских программ, рассчитанных на малые и средние предприятия и фирмы, на новую технологию. Это обусловлено тем, что область данных программ осталась почти не тронутая новой технологией. К тому же, все больше пользователей переводят свои персональные компьютеры под управление 32-разрядными операционными системами. 32-разрядные операционные системы клиентов, такие как Windows’95 и Windows NT Workstation, используют удобный в работе графический пользовательский интерфейс и предоставляют все необходимое для эффективной работы в распределенной среде.
Выбор языка программирования.
Delphi - это потомок Турбо Паскаля, который был выпущен для операционной системы CP/M в 1983 году. В феврале 1994 года Турбо Паскаль был перенесен на операционную систему MS-DOS.
На раннем этапе развития компьютеров IBM PC, Турбо Паскаль являлся одним из наиболее популярных языков разработки программного обеспечения - главным образом потому, что это было вполне серьезный компилятор, который, включая компилятор, редактор и все остальное, стоил всего $19.95 и работал на машине с 64 Kb оперативной памяти.
Под Windows - Турбо Паскаль был перенесен фирмой Borland в 1990 году. А самая последняя версия Borland Pascal 7.0 (имеющая теперь такое название), не считая Delphi, вышла в свет в 1992 году. Разработка Delphi началась в 1993 году. После проведения beta-тестирования Delphi показали на "Software Development '95". И 14 февраля 1995 года официально объявили о ее продаже в США. В торговлю Delphi попала спустя 14 дней, 28 февраля 1995 года.
Delphi обладает рядом отличительных особенностей. Многократно используемые и расширяемые компоненты. Delphi устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели и множество других многократно используемых компонентов, которые позволяют экономить время и программные усилия при разработках для Windows. В Delphi также имеются предварительно определенные визуальные и не визуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно обеспечить вывод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию. Предоставляемый Delphi внушительный список объектов ставит эту систему во главе сред разработки, предоставляющих архитектуру повторно используемых компонентов.
Поддержка стандарта VBX(Visual Basic Extensions). Delphi дает возможность интегрировать VBX-объекты непосредственно в Палитру компонентов (Component Palette) для облегчения доступа к этим объектам и инструментам.
Шаблоны приложений и форм. Delphi предоставляет встроенные шаблоны форм и приложений, которые можно использовать для того, чтобы быстро начать разработку собственных прикладных программ. В систему также включены часто используемые диалоговые панели.
Настрой на среды разработки. Палитра компонентов, редактор кода, шаблоны приложений и форм – примеры областей, где Delphi может быть полностью настроена в соответствии с пожеланиями программиста.
Компилируемые программы. Утверждается, что другие известные визуальные средства разработки приложений Windows также «компилируют» программы. Однако это не совсем верно, в действительности происходит компиляция только части программы и последующая компоновка программы-интерпретатора и Р-кода в исполняемый модуль. Так работали раньше, хотя многие программисты сталкивались с ограничением производительности при использовании этого подхода. Delphi не использует ни интерпретатор, ни Р-код и создает действительно откомпилированные программы, готовые для исполнения. Поэтому программы Delphi столь же быстры, как и программы, написанные на языках третьего поколения. Delphi является самым быстрым в мире инструментом разработки баз данных. Простые программы Delphi могут поставляться в виде единственного исполняемого модуля без дополнительных библиотек DLL, необходимых при использовании иных сред разработки.
Существует два важных различия между файлами EXE, созданными в Delphi, и файлами EXE, созданными VB. Delphi создает чисто машинный код, непосредственно исполняемый компьютером, в то время как VB транслирует исходный код в промежуточную форму (р-код). Файл EXE, сгенерированный VB, в действительности является программой-интерпретатором р-кода с добавленным в конце р-кодом программы пользователя.
"Библиотека времени выполнения" (run-time library) стандартных функций для всех программ VB хранится в файле VBRUN300.DLL. Каждая программа VB, попавшая к конечному пользователю, должна включать этот файл, либо приходится рассчитывать, что такой файл у пользователя уже есть. Дистрибутивный комплект программы должен также содержать файлы VBX для каждого управляющего средства VB, не включенного в VBRUN300.DLL. Программы Delphi включают необходимую часть библиотеки времени выполнения Delphi, а также используемые компоненты. В результате EXE-файл Delphi обычно больше по объему, чем эквивалентный EXE-файл VB, но он не зависит ни от каких внешних файлов.
Широкие возможности доступа к данным. В Delphi встроен BDE – механизм работы с базами данных (Borland Database Engine). BDE является тщательно продуманной системой, результатом развития ODAPI и IDAPI. BDE в настоящее время является стандартным промежуточным слоем, используемым для доступа ко всем популярным форматам современных баз данных. BDE также используется в системах «клиент/сервер» и обеспечивает доступ к таким продуктам этого типа, как Sybase SQL Server, Microsoft SQL Server, Oracle и Borland Interbase. Можно утверждать, что BDE просто блистает на фоне ODBC – продукта Microsoft, обеспечивая существенный выигрыш в производительности за счет более тесной связи с форматами баз данных.
Выбор СУБД
для реализации довольно сложен, хотя после выбора операционной системы сервера достаточно очевиден. Прозрачный и не отегощенный не нужными функциями, Microsoft SQL Server является оптимальным решением. По всем международним тестам он находится среди лидеров реляционных СУБД. Пиковая производительность систем и их стоимость в пересчете на одну транзакцию продолжают быстро улучшаться. В настоящее время лидерство по отношению стоимость/производительность принадлежит комбинации продуктов Compaq/Windows NT/Microsoft SQL .
Windows NT Advanced Server
появились в продаже в июле 1993 года. Тогда их использовали лишь энтузиасты и крупные компании. Во многом это было связано с довольно высокими требованиями системы к аппаратуре. С выходом версии 3.5, заметно снизившей уровень этих требований и включившей в себя ряд новых функций, начался стремительный рост популярности Windows NT. Сегодня она широко применяется самыми разными организациями, банками, промышленностью и индивидуальными пользователями. Все больше становится поклонников этой удобной и надежной системы и в России. Версия 4.0 – это следующий шаг в распространении Windows NT: новый интерфейс и масса новых полезных свойств, привели к широкому внедрению этой системы на персональных рабочих местах. Сейчас еще рано что-либо говорить о Windows NT 5.0, поскольку только недавно вышла бета-версия операционной системы.
Microsoft не публикует данные об инсталлированной базе Windows NT, однако утверждает, что более 40 компаний собираются использовать Windows NT Workstation в качестве операционной системы более чем на 10 тыс. ПК. К тому же, по данным нескольких консалтинговых фирм, в месяц продаётся более 30 тыс. копий ОС Windows NT Server. Фирмы Compaq, Dell и Getaway готовят NT - серверы на базе микропроцессоров Pentium Pro компании Intel. Ожидается, что Windows NT станет ведущей операционной системой для процессоров Pentium Pro, поскольку Windows’95 содержит 16-ти разрядный код и работает на Pentium Pro не так быстро, как полностью 32-ух разрядная NT.
Ранние версии Windows поддерживали неприоритетную многозадачность, из-за чего работа системы зависела от корректности запущенных задач. Все приложения делили процессорное время путем периодического опроса друг друга. Если какое-либо приложение отказывалось отвечать, система не знала, что в таком случае делать. В Windows NT действует принцип приоритетов, позволяющий приложениям с более высоким приоритетом "вытеснять" имеющие более низкий. Так как система всегда контролирует события, процессорное время используется эффективнее, а "сбойное" приложение не приведет к зависанию системы.
Операционная система
WSQL Dynamic Data Exchange (DDE)
- это метод взаимодействия приложений. DDE использует архитектуру клиент-сервер. Так, приложение-клиент может запрашивать данные у приложения-сервера.
WSQL DDE-сервер - это Windows-приложение, которое позволяет выбирать и изменять данные в БД SQL Anywhere. Получаемые данные могут передаваться приложению-клиенту через буфер в памяти или через Clipboard.
Sybase System 11 - семейство интегрированных продуктов, нацеленных на каждую область применения реляционной СУБД, от обработки данных в реальном времени до задач принятия решений и хранилищ данных, от тысяч пользователей и очень больших баз данных до "легкого" сервера для рабочих групп, который работает на персональном компьютере.
компьютеров пытались решить задачу создания
В течение 80-х годов поставщики мэйнфреймов и мини- компьютеров пытались решить задачу создания систем обработки транзакций на базе языка SQL, способных обрабатывать более 1000 транзакций в секунду.
В период с 1989 по 1992 годы по таким параметрам, как производительность и отношение стоимость/производительность, первенство принадлежало патентованным системам. В частности, лучшие показатели имели компьютеры VAX компании Digital и Cyclone/CLX компании Tandem. Наилучшая производительность компьютеров компании HP была зарегистрирована для ее продукта Allbase. В то же время линия изделий AS/400 компании IBM также имела впечатляющие параметры (существенно превосходящие соответствующие характеристики изделий серии RS/6000-AIX). Характерно, что компания IBM никогда не публиковала результаты тестирования системы DB2 на своих мэйнфреймах. Конечно, СУБД DB2 имела превосходную производительность (оценивавшуюся в сотнях транзакций в секунду), но она работала на дорогих мэйнфреймах. Вероятнее всего, IBM не хотела показывать неэкономичность своих мэйнфреймов путем публикации результатов контрольных испытаний на тесте TPC-A. Единственным поставщиком мэйнфреймов, рискнувшим опубликовать результаты тестирования, оказалась компания Unisys, система которой показала отношение стоимость/производительность примерно на уровне 45 K$/tps. В то время этот показатель вдвое превышал соответствующие показатели ее конкурентов.
В период между 1989 и 1993 годами операционные системы (SCO Unix, NetWare, NT), системы управления базами данных (Oracle, Informix, Sybase, Ingres) и мониторы транзакций (Tuxedo, VIS/TP, Encina), которые сегодня смело можно отнести к разряду продуктов массового потребления, резко улучшили свою производительность при решении задач обработки простых транзакций.
В 1993 году комбинация продуктов Unix/ Oracle/ Tuxedo стала лидером по отношению стоимость/производительность. Oracle, Tuxedo и операционная система Dynix, работающие на многопроцессорной системе компании Sequent, построенной на базе процессоров Intel 486, были первыми, преодолевшими барьер 1 Ktps, который продержался более десятилетия. Чуть позже СУБД Rdb и Oracle преодолели этот барьер с несколько лучшим отношением стоимость/производительность при выполнении тестов на шестипроцессорной системе Alpha AXP компании Digital, работающей под управлением ОС VMS. Аналогичных результатов добились и компании HP и Sun. В 1994 году лидером по отношению стоимость/производительность оказалась комбинация продуктов Compaq/SCO Unix/Oracle. Системы компаний Digital, HP и Sun имели более высокую производительность, но и более дорогие решения.
Еще несколько лет назад о компьютерах, построенных на базе платформы Intel (например ПК-совместимых системах компании Compaq), сравнивая их с системами компаний Digital, HP, IBM и Sun, можно было сказать, что в них отсутствует контроль четности в памяти или процессоре, что они используют сравнительно малонадежные диски, или что для них, например, отсутствует программное обеспечение для оперативной обработки транзакций (OLTP). Естественно, такие машины, попросту говоря, не были конкурентоспособными. Сегодня ситуация полностью изменилась. Компания Compaq является не только самым крупным в мире поставщиком серверов уровня рабочих групп, но и самым крупным поставщиком дисковых массивов уровня RAID-5. "Корпоративные" версии ее продуктов имеют мощные средства встроенной диагностики, удаленного обслуживания, интегрированные источники бесперебойного питания и даже некоторые средства резервирования узлов.
Еще два года назад наиболее отработанная технология кластеризации была ограничена операционной системой Guardian компании Tandem, системой DBC/1024 компании Teradata и операционной системой VMS компании Digital. Однако уже в то время практически каждый крупный поставщик вычислительных систем предлагал свои средства кластеризации на базе операционных систем Unix и NT.
Company |
System |
Thrughput (tpmC) |
Price/Perf ($/tpmC) |
Database Software |
Compaq |
ProLiant 5000 6/166 4/Pentium Pro/200MHz |
6184.90 |
$111 |
Microsoft SQL Server 6.5 |
Digital |
AlphaServer 8400 5/350 8/DECchip21164/350MHz |
14227.25 |
$269 |
Oracle Rdb7 V 7.0 |
Digital |
AlphaServer 4100 5/400 4/DECchip21164/400MHz |
7985.15 |
$174 |
Oracle Rdb7 V 7.0 |
Digital |
AlphaServer 4100 5/400 4/DECchip21164/400MHz |
7998.63 |
$152 |
Sybase SQL Server 1.0 |
HP |
HP 9000 Model D370 2/PA-RISC 8000/160MHz |
5822.23 |
$148 |
Sybase SQL Server 1.0 |
HP |
HP 9000 Model K460 4/PA-RISC 8000/180MHz |
12321.87 |
$187 |
Sybase SQL Server 1.0 |
IBM |
RS6000 Power PC Server J40 8/Power PC 604/112MHz |
577.07 |
$243 |
Sybase SQL Server 1.0 |
SGI |
Challenge XL Server 16/R4400/250MHz |
6313.78 |
$479 |
Informix OnLine V.7.11.UDI |
Sun |
Ultra Enterprise 4000 12/UltraSPARC/167 MHz |
11465.93 |
$189 |
Sybase SQL Server v.11.0.2 |
Sun |
Ultra Enterprise 3000 6/UltraSPARC/167 MHz |
6662.47 |
$152 |
Sybase SQL |
Кроме того, оказалось, что новое программное обеспечение существенно проще использовать. На пример, комбинация продуктов NT/Sybase обеспечивает единообразный механизм доменов наименования и секретности, графический интерфейс для администрирования и работы, а также современные инструментальные средства разработки. Хранимые процедуры SQL, генераторы приложений типа PowerBuilder, SQLWindows, Windows 4GL и другие средства значительно упрощают построение TP-приложений клиент-сервер, поддерживающих более сотни пользователей на каждом сервере. Правда, масштабирование системы для обслуживания значительно большего числа пользователей требует разделения задачи на несколько меньших серверов или использования традиционных мониторов обработки транзакций типа Tuxedo, Encina, ACMSxp или CICS. Программное обеспечение для автоматизации построения подобного рода систем клиент-сервер может быть реализовано с помощью инструментальных средств типа Ellipse и Forte.
Таким образом, времена изменились. Полным ходом идет процесс перевода на массовую технологию систем, ранее базировавшихся на мэйнфреймах. Программное обеспечение массового потребления установило и новые точки отсчета в области ценообразования.
Системы управления базами данных (СУБД) являются одним из наиболее распространенных классов прикладных систем для серверов, выпускаемых большинством компаний-производителей компьютерной техники. Следует отметить, что приложения, ориентированные на использование баз данных, и сами СУБД сильно различаются по своей организации. Если системы на базе файловых серверов сравнительно просто разделить по типу рабочей нагрузки на два принципиально различных класса (с интенсивной обработкой атрибутов файлов и с интенсивной обработкой самих данных), то провести подобную классификацию среди приложений баз данных и СУБД просто невозможно. Стандартный язык реляционных СУБД (SQL) намного богаче, чем набор операций сетевой файловой системы.
Результаты испытаний многих систем на тестах TPC-A, TPC-B, TPC-C и TPC-D продемонстрировали, что на сегодняшний день имеются все предпосылки (необходимая производительность и соответствующее ПО) для полного переноса приложений оперативной обработки транзакций и систем поддержки принятия решений с мэйнфреймов на системы, построенные на базе микропроцессоров. При этом одной из актуальных задач является выбор аппаратно-программной платформы и конфигурации системы.
Оценка конфигурации все еще остается некоторым видом искусства, но к ней можно подойти с научных позиций. Для выполнения анализа конфигурации система должна рассматриваться как ряд соединенных друг с другом компонентов. Ограничения производительности некоторой конфигурации по любому направлению (например, в части организации дискового ввода-вывода) обычно могут быть предсказаны исходя из анализа наиболее слабых компонентов.
Поскольку современные комплексы почти всегда включают несколько работающих совместно систем, точная оценка полной конфигурации требует ее рассмотрения как на макроскопическом уровне (уровне сети), так и на микроскопическом (уровне компонентов или подсистем).
Заданием являлось создание клиентских частей
Заданием являлось создание клиентских частей под SQL базу данных для операционных систем Windows’95 и Windows NT Workstation.
В данной работе был выполнен обзор систем управления базами данных (СУБД), реализованных на технологии «клиент-сервер».
Далее было проведено исследование предметной области. По результатам исследования был сделан вывод, что область бухгалтерского учета, а именно учет счетов-фактур, на технологии «клиент-сервер» отдельно не реализована.
Затем была проанализирована существующая программа учета счетов-фактур фирмы «ИНФИН» и составлен проект переноса структуры базы данных для работы в архитектуре «клиент-сервер». Также был составлен алгоритм переноса необходимых для дальнейшей работы данных.
Для разработки программного обеспечения, платформой для создания серверной части SQL базы данных бала выбрана операционная система сервера Microsoft Windows NT Server 4.0 и система управления базами данных Microsoft SQL Server 6.5. Для разработки пользовательского интерфейса был выбран язык программирования Borland Delphi.
Был разработан и отлажен клиентский интерфейс к SQL базе данных под операционные системы Windows’95 и Windows NT. Разработанное программное обеспечение общим объемом занимает около 2,5 тысяч строк программного кода.
Тестирование разработанной программы проводилось по-модульно и комплексно. Затем была проведена отладка программы в реальных условиях работы, когда с базой данных работают несколько пользователей на разных станциях сети.
Разработанная на технологии «клиент-сервер» программа позволяет ее эксплуатировать как в сетевых условиях, так и на локальной машине, без изменений в структуре базы данных и программы.
Сейчас программа успешно функционирует на предприятии, заменив старую.
Журнал счетов
. В таблице хранится информация обо всех выданных/полученных счетах фактуры. В ней хранится только общая информация о счете. Поле
Журнал счетов
. Это значит, что не может существовать товара без счета-фактуры. В тоже время у одного счета-фактуры может существовать несколько товаров. При изменении в
Журнала счетов
. Это значит, что может существовать клиент, на которого еще не заведено ни одного счета-фактуры. С другой стороны не может существовать счета-фактуры, у которого нет ссылки на клиента или такой ссылки нет. При изменении записей в таблице
Журнале счетов
. Удаление клиента, у которого уже существует счет-фактуры невозможно.