Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование     Программное обеспечение Программное обеспечение

MIDAS. Практическое применение

Совок №5.
Длина совка: 22 см. Цвет в ассортименте, без возможности выбора.
18 руб
Раздел: Совки
Карабин, 6x60 мм.
Размеры: 6x60 мм. Материал: металл. Упаковка: блистер.
44 руб
Раздел: Карабины для ошейников и поводков
Ручка "Помада".
Шариковая ручка в виде тюбика помады. Расцветка корпуса в ассортименте, без возможности выбора!
25 руб
Раздел: Оригинальные ручки

Роман Игнатьев Введение Необходимые знания: Перед прочтением рекомендуется ознакомиться с технологией MIDAS хотя бы на уровне демонстрационных приложений, поставляющихся с Delphi. Технология MIDAS (Mul i- ier Dis ribu ed Applica io Services Sui e, Сервис для создания многоуровневых распределенных приложений) была предложена фирмой Borla d уже довольно давно, первое приложение с ее использованием я написал еще в 98 году, на Delphi 4. И с тех пор практически все приложения для работы с базами данных создаются мной именно на основе MIDAS. О преимуществах, думаю, говорить не надо – даже простое разделение приложения на две части, одна из которых работает с базой данных (сервер приложений), а другая обеспечивает интерфейс пользователя, создает значительные удобства как при разработке приложения, так и при его использовании. Сейчас существует множество статей и книг по технологии создания многозвенных приложений на Delphi, но, к сожалению, мне не удалось найти литературы, в которой бы рассматривались некоторые интересующие меня вопросы. Дело в том, что во всех примерах создается трехзвенное приложение, в котором сервер приложений просто соединяет сервер БД с клиентской частью, просто абстрагируя работу с базой данных. С одной стороны, это дает некоторое преимущество при переходе с двухуровневой технологии (клиент-сервер) на трехуровневую, для чего компоненты доступа к базе данных из клиентской части переносятся в сервер приложений. С другой стороны, хочется большего, а именно переноса на сервер не только работы с таблицами базы данных, но и основной логики приложения, оставляя клиентской части только задачу взаимодействия с пользователем. Ниже рассматривается очень простое приложение для работы с сервером БД. База данных, с которой работает это приложение, содержит всего 3 таблицы. С его помощью мне хотелось бы показать некоторые способы создания полноценного сервера приложений, обеспечивающего полную обработку данных. Все, что написано ниже, относится к Delphi 5, в качестве сервера выбран I erbase 5.6. Именно эти продукты я использовал в большинстве проектов. Однако база данных работает и на более старших версиях I erbase, я проверял ее работоспособность, в частности, на IB6, а исходные тексты приложения с минимальными изменениями можно компилировать на старших версиях Delphi. К сожалению, некоторые изменения делать все же придется, так как MIDAS постоянно развивается. Но, как правило, такие изменения носят косметический характер, и сделать их несложно. Как изменить проект для компиляции на Delphi 6, будет рассказано в заключительной части. Несмотря на то, что в сервере приложений используются компоненты прямого доступа I erbase Express (IBX), нетрудно перейти на другой сервер БД, просто заменив компоненты доступа и немного изменив текст методов. Исходя из практических соображений ниже описано создание трехуровневого приложения, включая разработку структуры базы данных. Мне не хотелось пользоваться готовыми примерами, входящими в поставку I erbase и Delphi, чтобы не придерживаться шаблонов, навязываемых ими. Постановка задачи Я собираюсь на простом примере показать возможности технологии, поэтому приложение будет работать всего с одним логическим объектом – некоторым абстрактным документом, состоящим из заголовка и содержимого.

Такая структура была выбрана из-за того, что связь “мастер-таблица - подчиненная таблица” (mas er-de ail) очень часто встречается на практике, и также часто в приложениях встречается обработка различных документов. “Документ” здесь понимается как некоторая абстракция, напоминающая реальные документы, такие, как накладная или счет. Разумеется, необходимо обеспечить одновременную работу с документами нескольких пользователей. Описание документа Заголовок документа прост, и состоит из следующих полей: Номер – номер документа. Дата – дата выписки, по умолчанию текущая. Поставщик – имя, телефон. Получатель – также имя и телефон. Сумма – общая сумма по документу. Поставщик и получатель будут выбираться из единого справочника клиентов, содержащего только два поля: имя и телефон. Документ содержит записи со сведениями о перемещении неких товаров. Содержимое документа – это таблица в базе данных, записи которой состоят из следующих полей: Порядковый номер Номер документа, к которому относится. Наименование - наименование товара. Количество. Цена. Сумма. Результат может выглядеть следующим образом: номер п/п наименование количество цена сумма 1 Что-то 1 30.00 30.00 2 Что-то еще 2 10.50 21.00 . Пользователю должен выдаваться список документов с указанием реквизитов документа и его итоговой суммы. Сумма документа будет рассчитываться сервером приложений на основе его содержимого. Кроме этого, создадим итоговый отчет – "шахматную" ведомость, где по одной оси расположены поставщики, а по другой – получатели: За период с &l ;дата> по &l ;дата> (по дате документа) От кого Кому Получатель1(имя) Получатель2(имя) . Поставщик1(имя) Сумма Сумма Поставщик2(имя) Сумма Сумма . В отчет будут входить суммы из документов, даты которых попадают в заданный период. Отчет, разумеется, получается также достаточно оторванным от жизни, мне просто хотелось показать с его помощью дополнительные возможности MIDAS. Блокировки Поскольку работать с БД будут сразу несколько пользователей, важно заблокировать документ на время редактирования документа пользователем. “Почетная обязанность” синхронизации работы пользователей возлагается в данном случае на сервер приложений. В принципе, все это можно реализовать и средствами SQL сервера, но, во-первых, для сервера I erbase блокировки записей довольно неестественны, во-вторых, как будет видно ниже, сервер приложений позволяет легко блокировать сразу весь документ как единый объект. Структура БД Требования к приложению описаны, и теперь можно приступить к следующему этапу – созданию БД. Нам нужны три таблицы (магическое число три выбрано исключительно для простоты): для документа, содержимого документа и справочника клиентов. Документ содержит две ссылки на справочник клиентов – “Поставщик” и "Получатель", а содержимое документа имеет ссылку на документ. На рисунке 1 представлена ER-диаграмма этой БД. Рисунок 1. ER-модель БД. В данной базе целостность данных обеспечивается по следующим правилам: При упоминании в каком-либо документе поставщика или получателя удаление этой строки из справочника клиентов не допускается.

При удалении документа удаляются и все связанные с ним строки из таблицы "Содержимое документа". Вставка в таблицу "Содержимое документа" допускается только при условии, что поле ID ссылается на существующий документ. Как видно, в таблице "Заголовок документа" есть поле "Сумма". Это поле должно содержать полную сумму документа (сумму полей "Сумма" содержимого документа). При изменении содержимого документа приходится пересчитывать значение этого поля. Наличие такого поля, является нарушением принципов нормализации. Эту сумму всегда можно посчитать в SQL-запросе при выводе данных пользователю. Но при выдаче списка документов расчет суммы каждого из них увеличивает нагрузку на сервер БД. Отслеживать актуальность этого поля можно на триггерах СУБД, но раз уж мы создаем сервер приложений, почему бы не возложить на него эту задачу? К тому же, это обеспечивает некоторую независимость от особенностей функционирования сервера БД, что может оказаться полезным, например, при переходе на другой сервер. Ниже приведен скрипт, создающий подопытную БД: / Определены следующие типы данных:  Имя клиента  Количество для содержимого документа  Цена  Сумма / crea e domai D ame varchar(180); crea e domai DCou umeric(15,4) defaul 1 o ull; crea e domai DCurre cy umeric(15,2) defaul 0 o ull; crea e domai DSum umeric(15,4) defaul 0 o ull; / Справочник поставщиков и получателей / crea e able CLIE (  CLIE ID i eger o ull,   AME D ame o ull, / Имя /  PHO E varchar(40),  / Телефон /  co s rai PK CLIE primary key (CLIE ID) ); / Заголовок документа / crea e able DOC I LE (  DOC ID i eger o ull,      / ID /  DOC UM varchar(40) o ull,    / Номер /  DOC DA E da e o ull,       / Дата /  FROM ID i eger defaul 0 o ull, / Поставщик /   O ID i eger defaul 0 o ull,  / Получатель /  DOC SUM DSum,            / Сумма /  co s rai PK DOC I LE primary key (DOC ID),  co s rai FK DOC FROM CLIE foreig key (FROM ID)  refere ces Clie (CLIE ID)   o upda e cascade,  co s rai FK DOC O CLIE foreig key ( O ID)  refere ces Clie (CLIE ID)   o upda e cascade ); / Содержимое / crea e able DOC BODY (  DOC ID i eger o ull,    / сcылка на заголовок /  LI E UM i eger o ull,   / Номер п/п /  CO E varchar(250) o ull, / Наименование /  COU UM DCou ,        / Количество /  PRICE DCurre cy,        / Цена /  co s rai PK DOC BODY primary key (DOC ID, LI E UM),  co s rai FK DOC BODY I LE foreig key (DOC ID)  refere ces DOC I LE (DOC ID)   o dele e cascade   o upda e cascade ); Скрипт создает три таблицы: CLIE (поставщики/получатели), DOC I LE (документ), DOC BODY (содержимое документа). Следующий этап – формирование списка документов. В заголовке документа содержится только ссылка на поставщика и получателя. Вывод списка удобно организовать отдельным запросом, а в данном случае – хранимой процедурой. Пусть для удобства имя клиента в списке показывается в виде "Имя (Телефон)". Для этого сделаем процедуру CLIE FULL AME, которая извлекает эту строку, и будем вызывать ее из процедуры выдачи списка LIS DOC. Эта же процедура пригодится для отображения имени поставщика и получателя на форме редактирования документа: crea e procedure CLIE FULL AME(ID i eger) re ur s (FULL AME varchar(224)) as  declare variable AME varchar(180);  declare variable PHO E varchar(180); begi  selec AME ,PHO E   from clie   where CLIE ID = :ID  i o : AME, :PHO E;  FULL AME = '';  if ( AME is o ULL) he   FULL AME = AME;  if (PHO E is o ULL) he   FULL AME = FULL AME ' (' PHO E ')'; e d crea e procedure LIS DOC (FROM DA E da e, O DA E da e) re ur s (DOC ID i eger, DOC UM varchar(40), DOC DA E da e, FROM ID i eger,   O ID i eger, FROM AME varchar(224), O AME varchar(224),  DOC SUM umeric(15,4)) as begi  for selec DOC ID, DOC UM, DOC DA E, FROM ID, O ID, DOC SUM   from DOC I LE   where DOC DA E >= :FROM DA E a d DOC DA E &l ;= : O DA E  i o :DOC ID, :DOC UM, :DOC DA E, :FROM ID, : O ID, :DOC SUM  do begi   FROM AME = ULL;   O AME = ULL;   execu e procedure CLIE FULL AME (:FROM ID)   re ur i g values :FROM AME;   execu e procedure CLIE FULL AME (: O ID)   re ur i g values : O AME;   suspe d;  e d e d Осталась процедура для отчета: crea e procedure REP I OU (FROM DA E da e, O DA E da e) re ur s (FROM ID i eger, FROM AME varchar(180), O ID i eger, O AME varchar(180),      FULL SUM umeric(15,4)) as begi  for selec FROM ID, O ID, sum(DOC SUM)   from DOC I LE   where DOC DA E >= :FROM DA E a d DOC DA E &l ;= : O DA E   group by FROM ID, O ID   i o :FROM ID, : O ID, :FULL SUM  do begi   FROM AME = ULL;   O AME = ULL;   selec AME    from clie    where CLIE ID = :FROM ID   i o :FROM AME;   selec AME    from clie    where CLIE ID = : O ID   i o : O AME;   if (FULL SUM is ULL) he    FULL SUM = 0;   suspe d;  e d e d Процедура выдает то, что нужно для отчета, но, к сожалению, не в виде перекрестного отчета, а по строкам: От кого Кому На сумму &l ;Поставщик> &l ;Получатель> Сумма .

И это действительно так. Однако если было решено, что эвтаназия - даже пассивная - в каком-то конкретном случае желательна, то это означает в то же время, что смерть не является в данном случае большим злом, чем продолжающееся существование пациента. И коль скоро это правильно, обычная причина нежелания быть поводом для чьей-либо смерти здесь просто не относится к делу. Наконец, врачи могут думать, что все это представляет лишь академический интерес, что вопросы такого рода могут интересовать философов, но не имеют никакого практического применения в их собственной работе. В конце концов, врачи должны заботиться о правовых последствиях того, что они делают, а активная эвтаназия четко запрещена законом. Но при всем том врачи должны также считаться с тем, что закон навязывает им моральную доктрину, которая не может быть оправдана, и это оказывает значительное воздействие на их практику. Конечно, большинство врачей не находятся в положении принуждаемых и не считают для себя возможным просто следовать тому, что требует закон

1. Определение эффективности применения информационной технологии

2. Применение компьютеров в медицине

3. Кулисный механизм. Практическое применение

4. Применение информационных технологий в процессе обучения химии

5. Электронный учебник с применением мультимедийных технологий

6. Опыт практического применения нового гестагенного контрацептива "Чарозетта"
7. Психолого-педагогические особенности тестовой формы контроля и методы составления тестовых заданий; их практическое применение при обучении студентов зубоврачебного отделения
8. Применение Интернет - технологий во внеурочной деятельности учащихся

9. Психологические последствия применения информационных технологий

10. История развития ЭВМ и практическое применение в обучении

11. Теории мотивации, их взаимосвязь и практическое применение на примере магазина

12. Совершенствование учебного процесса по курсу "биомеханика" на основе применения компьютерных технологий

13. Объект и предмет социологии труда. Практическое применение этой науки

14. Практическое применение Гамавита для повышения работоспособности лошадей

15. Особенности геолого-технологического контроля проводки скважин на депрессии с применением колтюбинговой технологии

16. Исследование геодинамических процессов с применением GPS-технологий

Деревянная рамка для картин, белая с золотом, 40x50 см.
Деревянная багетная рамка прекрасно дополнит любую картину, придаст ей законченный вид. Утонченная, изящная рамка, выполненная в
1078 руб
Раздел: Размер 40x50
Набор детской посуды "Корова", 3 предмета.
Набор посуды для детей включает в себя три предмета: суповую тарелку, обеденную тарелку и кружку. Набор упакован в красочную, подарочную
363 руб
Раздел: Наборы для кормления
Мозаика, 654 элемента.
Магнитная мозаика - это набор простейших геометрических фигур разных цветов, который позволяет детям создавать чудесные образы. Ваш
845 руб
Раздел: Магнитная

17. О проблемах практического применения нового порядка переоценки основных средств

18. Применение колтюбинговой технологии в бурении

19. Детектор лжи и его практическое применение в следственно-судебной практике

20. Применение PR-технологий в СМИ на примере журнала "ТОМСК Magazine"

21. Возможности практического применения программных продуктов CorelDraw и Photoshop для разработки элементов наружной рекламы

22. Применение информационных технологий в анализе затрат на производство и себестоимости продукции
23. Юридическое определение терроризма в законодательстве России, США и документах ООН. Его практическое применение на примере движения Хамас
24. Практическое применение нормативных материалов для нормирования труда на предприятиях машиностроительной промышленности

25. Применение информационных технологий в туризме

26. Прогноз применения цифровых технологий в кинематографе

27. Реферат по технологии приготовления пищи "Венгерская кухня"

28. Обоснование выбора пестицидов для борьбы с вредными объектами и разработка технологии их эффективного и безопасного применения

29. Особенности формирования учебной деятельности младших школьников при обучении математике с применением персональных компьютеров

30. Практические аспекты применения различных видов контрацептивов в подростковом возрасте

31. Практическое задание по теме "Организация и технология отрасли"

32. Компьютер: инструкция по применению

Подставка под горячее с пробкой "FIFA 2018".
Подставка под горячее с пробкой + окантовка. Диаметр: 16 см. Материал: керамика.
346 руб
Раздел: Кружки, посуда
Набор детской посуды "Принцесса", 3 предмета.
Набор посуды для детей включает в себя три предмета: суповую тарелку, обеденную тарелку и кружку. Набор упакован в красочную, подарочную
397 руб
Раздел: Наборы для кормления
Настольная игра "Найди пару", арт. ВВ2411.
Игра помогает тренировать память, концентрировать внимание и развивать зрительно-моторную координацию движений. Игра способствует
411 руб
Раздел: Прочие

33. Классификация компьютеров общего назначения по областям применения

34. Структура готовности будущего учителя к применению технологий открытого образования

35. Обоснование выбора пестицидов для борьбы с вредными объектами и разработка технологии их эффективного и безопасного применения при защите подсолнечника культурного в условиях Ставропольского края

36. Организация сети передачи данных по энергосетям с применением технологии PLC

37. Применение технологии Macromedia Flash для разработки сайта

38. Проектування триланкової розподіленої інформаційної системи для роботи з БД із використанням технології DataSnap (MIDAS)
39. Разработка Web–приложений с применением Java Servlet-технологии
40. Современные технологии для персональных компьютеров

41. Изучение исторических источников на основе применения количественных методов и новых информационных технологий

42. Управление смарт-картами с применением персонального компьютера

43. Применение компьютерных информационных технологий в создании учредительных документов для подготовки деятельности фирмы ООО "Медиатур"

44. Особенности применения технологии квантового обучения в преподавании математики

45. Применение технологии знаково-контекстного обучения во время изложения дифференциальных уравнений

46. Формирование приемов практической деятельности на уроках технологии

47. Применение технологий личностного коучинга как условие уменьшения страха перед экзаменом и повышения уверенности в себе

48. Экспериментальное исследование явления электромагнитной индукции и практическое его применение

Фоторамка на 11 фотографий С31-021 Alparaisa "Family", коричневый, 47x53,5 см.
Размеры рамки: 47x53,5 cм. Размеры фото: - 10х15 см (4 штуки), - 15х10 см (7 штук). Фоторамка-коллаж для 11-ти фотографий. Материал:
868 руб
Раздел: Мультирамки
Портфель "Attache", A4, серый.
Одно отделение.
375 руб
Раздел: Папки-портфели, папки с наполнением
Пенал-книжка для начальной школы "Ever After High", 21x14 см.
Пенал-книжка для начальной школы. 1 отделение, держатели письменных принадлежностей. Застегивается на молнию. Размер: 21х14х3 см.
303 руб
Раздел: Без наполнения

49. Практические рекомендации по применению ультрафильтрации для концентрации шерстного жира из сточных вод предприятий первичной обработки шерсти

50. Технология возведения одноэтажного промышленного здания

51. Применение фильтра Калмана в задаче идентификации отказов двигателей стабилизации космического аппарата

52. Мсб /БТР/ в наступлении на подготовленную оборону противника /ФРГ/ с ходу во втором эшелоне полка в условиях применения противником СДМ

53. Философские основы кибернетики и методология ее применения в военном деле

54. Применение ЭВМ для повышения эффективности работы штаба ГО РАТАП
55. Великобритания (расширенный вариант реферата 9490)
56. Экономическая сказка-реферат "НДС - вражья морда" или просто "Сказка про НДС"

57. Механизм применения антимонопольных законов

58. Применение норм права

59. Содержание и порядок применения единого налога на вмененный доход для субъектов малого предпринимательства

60. Дисциплинарная ответственность. Применение дисциплинарного взыскания

61. История развития компьютеров (Silicon Valley, its history & the best companies)

62. Латинский язык: Практические задания для студентов заочного отделения исторического факультета

63. Несколько рефератов по культурологии

64. Роль техники и технологии в процессе развития культуры

Точилка для кухонных ножей.
Точилка электрическая – это прибор, который сделает вашу жизнь проще. Острый угол заточки позволяет быстро и без усилий сделать острыми
725 руб
Раздел: Точилки для ножей
Табурет-подставка.
Простой, компактный и безопасный для вас и вашего ребенка табурет-подставка. Оригинальная форма в сочетании с рельефной поверхностью
306 руб
Раздел: Подставки под ноги
Машинка "Бибикар (Bibicar)" с полиуретановыми колесами, зеленая.
Эта модель оснащена улучшенными колесами, выполненными из высококачественного полиуретана. Теперь езда на этой удивительной машинке стала
2650 руб
Раздел: Каталки

65. Реферат перевода с английского языка из книги “A History of England” by Keith Feiling

66. Реферат по книге Фернана Броделя

67. Ctp-технология, глубокая печать, брошюровочно-переплетные процессы

68. Компьютер для чайников. Компьютер для начинающих (краткие сведения)

69. Безопасность информационных технологий

70. Технология ADSL
71. Современные сетевые и информационные технологии
72. Информационные технологии в экономике. Основы сетевых информационных технологий

73. Принципы работы системы управления параллельными процессами в локальных сетях компьютеров

74. Разработка технологии ремонта, модернизации сервера с двумя процессорами Pentium

75. Компьютеры как средство общения людей

76. Безопасность информационных технологий

77. Проблемы использования и пути развития интернет-компьютерных технологий в России

78. Реализация сетевых компьютерных технологий в системе международного маркетинга

79. web дизайн: Flash технологии

80. Удалённый доступ к частной сети через Интернет с помощь технологии VPN

Настольная игра "Матрешкино".
В сказочной деревне Матрешкино сегодня с самого утра переполох! Юные красавицы затеяли хитрую игру: каждая матрешка придумала свое
418 руб
Раздел: Карточные игры
Увлекательная настольная игра "Делиссимо", новая версия.
В этой милой игре вам предстоит немало потрудиться, так как вы работаете на известную и уважаемую итальянскую пиццерию «Делиссимо». Её
632 руб
Раздел: Карточные игры
Крышка силиконовая универсальная, 31 см.
Универсальная силиконовая крышка изготовлена из высококачественного пищевого силикона — экологичного и долговечного материала. Не теряет
318 руб
Раздел: Крышки

81. Wi-Fi - технология беспроводной связи

82. Семейство компьютеров PS/2

83. Устройство компьютера

84. Современное поколение персональных компьютеров

85. Новые технологии в организации PC

86. Устройство компьютера и его основные блоки
87. Внешние устройства персонального компьютера
88. Архитектура персонального компьютера

89. История компьютера и компьютерной техники

90. Управление звуковой картой компьютера

91. Если разобрать компьютер

92. Использование компьютеров в управлении предприятием

93. Как появились компьютеры

94. Лекции по информационным технологиям

95. Организация обмена информацией между микроконтроллером семейства MCS-51 фирмы Intel и персональным компьютером

96. Персональный компьютер, его состав и назначение

Каталка детская Bradex "Движение" (цвет: розовый).
У Вас очень активный ребенок? Только недавно исполнился годик, а он уже требует ролики, самокат и велосипед, как у взрослых товарищей?
1859 руб
Раздел: Каталки
Средство для сантехники "Cillit", от налета и ржавчины, спрей, 450 мл, 2 штуки.
"Cillit" для удаления известкового налета и ржавчины. Восстанавливает блеск различных поверхностей в ванной и на кухне: -
482 руб
Раздел: Для сантехники
Бумага "Color copy", белая, А4, 250 гр/м2, 125 листов.
Бумага предназначена для цветного копирования и полноцветной печати. Для нее характерна повышенная плотность, благодаря которой
613 руб
Раздел: Формата А4 и меньше

97. Применение ЭВМ в управлении производством

98. Основные устройства компьютера

99. Разработка АРМ на основе персонального компьютера для дома


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.