Posts Tagged ‘БД’

Web браузер как средство доступа к БД

Суббота, Август 11th, 2012 Нет комментариев

Under : , , , , ,

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

Самый быстрый способ определить количество пользователей на сайте онлайн

Вторник, Апрель 17th, 2012 Нет комментариев

Under : , , , ,

Наверное, путешествуя в Сети, вы не раз натыкались на подобного типа надпись «Сейчас на сайте 99 человек», что означает, что кроме вас в данный момент этот сайт просматривает 98 человек. Скорее всего, вы хотели написать такую вещь, но не знали как. Следующая статья покажет как самому написать скрипт, считающий количество посетителей на сайте в данный момент, то есть онлайн.

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

Защита форм от спама

Вторник, Апрель 17th, 2012 Нет комментариев

Under : , , , ,

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

WAP и ASP — Часть III

Вторник, Апрель 17th, 2012 Нет комментариев

Under : , , , ,

В этой статье мы рассмотрим практическое приложение, созданное с использованием WML и ASP. Мы разработаем «корзину» для магазина некой компании по продаже бумаги для печатающих устройств. Предложенное приложение покажет продавцу компании состояние склада, используя его WAP-телефон, и в то же время позволит ему разместить заказ для клиента. Это приложение иллюстрирует некоторые концепции в WML и то, как WML и ASP могут использоваться вместе для создания динамических WAP-приложений.

Проектирование БД (далее…)

10 вопросов, которые необходимо задать хостинг-провайдеру

Понедельник, Апрель 16th, 2012 Нет комментариев

Under : , , , , ,

Выбор хостинг-провайдера — основа успешного представительства в сети. Существующие компании не всегда предоставляют лучший сервис. Рассмотрим требования, которые необходимо предъявить любому провайдеру хостинга.

1. Объем дискового пространства

Большинство хостинг-провайдеров предоставляют пространство от 50, 100, 200 Мб по минимальному хостинг-плану. Это удовлетворяет запросам большинства клиентов. Однако, если ваше представительство в сети намечается достаточно масштабным (интернет-магазин, архивы ПО и графики), то, скорее всего, вам будет необходимо большее дисковое пространство. (далее…)

Советы и трюки по PHP

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , ,

Небольшое вступление
Началом написания серии статей «Советы и трюки» послужил отчет «Tips and Tricks» Расмуса Лирдофа (Rasmus Lerdorf) с конференции PHPCon2002, которая состоялясь 24 октября 2002 года в городе Milbrae, Калифорния, США. Изначально планировалось просто перевести отчет по просьбам членов Клуба разработчиков PHP, но по мере чтения статей возникло много спорных вопросов и разногласий с автором, поэтому я постарался как можно более четко определить и разъяснить преимущества и недостатки того, или иного подхода оптимизации решений. (далее…)

ASP. Отображение картинки из БД напрямую — создание своего HttpHandler

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

В форуме достаточно часто поднимается вопрос типа <а как отобразить картинку, если она сохранена в БД?>. И ответ всегда звучал примерно так: <создать файл, который получает картинку из БД и пишет ее содержимое клиенту предварительно установив правильный ContentType>.

Но зачем использовать дополнительный файл для получения картинки, если в ASP.NET есть такое замечательно средство обработки запросов, как HttpHandler? :) (далее…)

Методология построения корпоративных информационных систем на основе технологии EJB.

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , , , , ,

Введение

Думаю, расхваливать то, что будет написано мной сразу не стоит. Лучше сказать чего я постараюсь не написать. Если Вы хотите увидеть здесь учебник по которому можно научится основам EJB, то лучше Вам почитать книжки типа Corba за 14 дней. Если Вы ждете моих вздохов по перспективности и крутости технологии EJB, то Вам лучше почитать обзоры популярных компьютерных журналов. Если Вы ожидаете найти здесь обилие исходных примеров, да еще что бы они компилировались и работали, то Вам лучше почитать Manual от любого поставщика коммерческой или некоммерческой версии EJB сервера. В общем получается, что не совсем понятно, для кого я это все буду писать. Не знаю, как даже охарактеризовать моего потенциального читателя. Думаю, что я пишу это для себя самого. Но не для себя в данный момент, а для себя несколько месяцев назад. Дело в том, что не так давно я писал линейные программы без объектно-ориентированного подхода. Хотя прекрасно знал об ООП, но не использовал, так как считал это неудобным. Мне, к сожалению, пришлось решать несколько довольно сложных задач. И решал я их без ООП. Решал вполне успешно. Но вот когда пришло время модернизации разработанных систем… Я был просто подавлен. И тут меня судьба свела с человеком, который мне показал способы применения ООП: отображение объектов в БД, коллекции объектов и т.д. Имя этого человека Сергей Резинкин. Выражаю ему благодарность. Если бы не он… Другими словами мне нужен был толчок в верном направлении. Я стал интересоваться UML, потом CORBA, потом вышел на EJB и многое другое. Так вот я хочу Вам дать толчок в верном направлении. Я обозначу Вам путь. Многое здесь Вы, возможно, не воспримите по причине краткости изложения или отсутствия опыта, который бы позволил верно воспринять некоторые вещи. Надеюсь Вас задеть, что бы Вы сами дальше начали копать в этом направлении.

Архитектура технологии EJB

Чаще всего системы строятся следующим образом. Есть клиентское приложение, которое соединяется с сервером БД и посредством SQL запросов манипулирует данными, отображаемыми в клиентском GUI интерфейсе. Клиентская часть таких систем обычно очень сложная и на сервер баз данных возлагается, в основном задача, хранения и поддержки целостности данных. Иногда базы данных поддерживают хранимые процедуры, что позволяет снизить сетевой трафик между сервером и клиентом. Такая система изображена на рис. 1.


Рис.1Такой подход имеет свои плюсы и минусы. В плюс идет относительно простая архитектура системы и относительно высокая скорость работы при небольшом количестве клиентских обращений к серверу. В минус идет то, что такую систему сложно модернизировать, так как изменение в БД влекут за собой изменения в клиентской части и наоборот. В случае нехватки ресурсов сервера, приходится либо наращивать его вычислительную мощность либо использовать распределенную БД, которая не всегда сможет решить возникшую проблему.

Существует другой подход построения информационных систем. Система разделяется на три уровня. Каждый уровень имеет свои обязанности и функциональные возможности. На первом уровне находится клиентское приложение, которое обычно «легкое» и занимается в основном презентационным слоем системы. Второй уровень отвечает за бизнес логику системы и взаимодействует с презентационным слоем, отвечая на его запросы. Вторым уровнем называют сервер приложения. На третьем уровне находится база данных, которая, как уже говорилось выше, отвечает за хранения данных и за их целостность. Такая система изображена на рис. 2.


Рис.2Такой подход тоже имеет свои плюсы и минусы. В плюс идет разделение системы на уровни, позволяющее относительно легко модернизировать систему. Например, сегодня у Вас СУБД MySQL, а завтра Вы купили ORACLE и для этого Вам нужно поправить только второй уровень, а презентационный слой даже не заметит изменений. Или, например, Ваш второй уровень не очень оптимально работает и Вы решили его усовершенствовать, нет проблем: первый и третий уровень могут быть не затронуты. Еще одним преимуществом является возможность групповой работы над системой, в которой каждый из уровней разрабатывается независимо. Кто-то проектирует структуры баз данных, кто-то «рисует» презентационные слои, а кто-то пишет оптимальные алгоритмы. В добавок ко всему, компонентная технология EJB ориентирована на возможность распределения второго уровня, т.е. если Ваш сервер приложений не справляется с нагрузкой, то есть возможность без единого изменения кода сервера приложений, разнести его на несколько вычислительных машин. А компоненты, из которых состоит второй уровень, не будут чувствовать разницы между работой на одной вычислительной машине и на нескольких машинах. Минусом таких систем является их направленность на крупные корпоративные решения. Если Вы решаете задачу в которой небольшое количество обращений к серверу и малый бюджет на создание системы, то связавшись с EJB Вы будете стрелять из пушки по воробьям.

Многие спросят, а зачем вообще пользоваться EJB технологией? Можно и самому построить такую же систему, например, используя C++. Это конечно верно, но Вы будете изобретать велосипед и придете к такому же архитектурному решению, как в EJB, да и к тому же создание такой архитектуры довольно не тривиальная задача. Значительно дешевле и быстрей разобраться в правилах построения компонентов EJB архитектуры и строить по ее принципам свою систему на отлаженных технологиях. Да, чуть не забыл: EJB — Enterprise JavaBeans. Кстати на счет CORBA. Кто-то спросит, а почему бы не использовать CORBA архитектуру вместо EJB, которые работают не на очень скоростном языке JAVA? Отвечу довольно просто. В CORBA пока что не готова спецификация компонентов CORBA. Ну а тем более нет реализаций еще не готовой спецификации. Ну а кто вспомнит про DCOM, тех отсылаю к статьям, где проводится сравнительный анализ с CORBA, а после прочтения этих статей мой ответ сводится к тому, что DCOM пытается конкурировать с CORBA и проигрывает по нескольким критериям, да и к тому же не является компонентной технологией в «чистом» виде как EJB.

На самом деле JAVA продвигает 5 уровневую архитектуру на основе EJB, показанную на рис.3.


Рис.3Пояснять ее я не буду, дабы не запутать читателя, а привел только для того, что бы часть читателей успокоилось на счет возможности построения много-уровневых систем на основе EJB.

Источник: http://www.javaportal.ru/java/articles/infsysejb.html
Автор: Евгений Игумнов

Системы безопасности для клиентов. Создание доверенного апплета для реализации цифровой подписи с использованием криптосистем открытого ключа

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , , ,

Обзор

первой статье из серии мы рассказывали о создании доверенного (trusted) апплета наделенного правом доступа к локальной файловой системе. Настоящая статья является продолжением цикла и в ней рассматривается одна из специфических задач требующая реализации алгоритма шифрования MD5 with RSA/SHA1 with DSA («RSA/DSA ореn key crypto system») на стороне клиента и дешифрования сообщения клиента на стороне сервера, которая практически не может быть реализована java апплетом без доступа к файлам на машине клиента. Примером из практики с которым вы можете столкнуться уже в ближайшее время (достаточно вспомнить проект «Электронная Россия» недавно принятый правительством РФ) является случай заверения удаленным клиентом платежного документа или договора выставляемого ему владельцем сайта, например банком, или любой другой финансовой организацией. (далее…)

Работа с БД. Анализ логов

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , , ,

Хочу снова похвалиться своим «творчеством».

В декабре я описал, как проще всего собирать логи. Сейчас я покажу, как их можно анализировать.

Что там было в таблице? Дата, адрес от корня виртуального хоста ($PHP_SELF), броузер, реферер, ip-адрес пользователя и имя хоста. Строка вставлялась так:

@mysql_query(«INSERT INTO logs (date, ip, host, address, referer, browser) VALUES (NOW(), ‘$REMOTE_ADDR’, ‘». gethostbyaddr($REMOTE_ADDR). «‘, ‘$PHP_SELF’, ‘$HTTP_REFERER’, ‘$HTTP_USER_AGENT’)»);

А что мы хотим видеть в статистике? Просто посмотрим разные варианты: посещения по дням, распределение посещений по времени суток. Затем эти же две выборки, только не для всех логов, а для главной страницы. Распределение по дням недели, посещаемость за последние недели и месяцы. Количество посетителей, пришедших с других сайтов. Бывает интересно посмотреть, сколько посетителей приходило с определённой ссылки в разные дни. Распределение по времени за определённый день (неделю, месяц). Адреса, куда уходят с такой-то страницы. (далее…)