Показват се публикациите с етикет сървъри. Показване на всички публикации
Показват се публикациите с етикет сървъри. Показване на всички публикации

неделя, 29 септември 2013 г.

База данни за метеорити

Разработих проста база данни с научна информация за метеорити:

http://meteoritedb.appspot.com/

Засега базата данни съдържа само една таблица, в която всеки ред описва един метеорит. Метеоритът се описва в следните полета на реда:
  1.  Name -  официално име, с което е регистриран метеорита;
  2.  Observed Fall - показва дали е наблюдавано, или не падането на този метеорит;
  3.  Year - през коя година е открит или видян да пада метеорита;
  4.  Place - страната и мястото, където е намерен;
  5.  Type - към кой клас е отнесен метеорита;
  6.  Mass - обща маса (тегло) на всички намерени късове от метеорита;
  7.  Information - известни данни от изследвания на метеорита (структура, минерален и химичен състав и други), а също и сведения, дали има осеяна с отломки област (Strewn Field), което е интересно за търсачите на метеорити.
Базата данни има полета, в които се задава търсене по име, страна (място), клас или произволен текст в информацията, а също и поле за сортиране по име, клас, година или маса (символът звезда * в някое поле, разбира се, означава "всички"). Има бутон Search! който се натиска и се появяват данните.

Технически подробности


Написах системата на езикa PHP. За хостинг използвах Google App Engine for PHP (https://gaeforphp.appspot.com/).

Използвах вградена машина за бази данни (Embedded Database), която също е написана на PHP и включена в основната програма. Вградената база данни изпълнява заявки на език SQL и използва свое вътрешно представяне за съхраняване на данните в текстови файлове, разположени във файловата система на Google App Engine for PHP.

Изходният код, който системата изпраща към браузъра, съответства на стандартите на HTML5/CSS3, което проверих с http://validator.w3.org/ .

вторник, 29 януари 2013 г.

Инсталиране на JSP хост

Напоследък се занимавам с инсталирането на Web-приложение за достъп до база данни. Системата е разработена на JavaServer Pages (JSP). Машината е с операционна система Linux Mandriva.

Инсталирал съм още:
  • Сървър за бази данни MySQL 5.1.55
  • Контейнера на сървлети Tomcat 6.0.20 (Java 1.6.0)
  • Web-сървър Apache 2.2.14
На моменти трябваше да преодолявам известни трудности като:

1) От tomcat6 излизаше съобщение, че не може да се зареди JDBC драйвера:

Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

След известно оглеждане оправих това, като набързо копирах файла
mysql-connector-java-5.1.14-bin.jar
от собствената поддиректория WEB-INF/lib на Web-приложението (където той беше дотогава) в директорията /usr/share/java/tomcat6

2) Apache Web-сървърът е конфигуриран да препраща заявките към сървъра за приложения tomcat6, който слуша на порт 8009. Конфигурацията беше:

<VirtualHost *:80>
  ProxyPass /data/ ajp://localhost:8009/data/
  ...
</VirtualHost>

при което нямаше достъп до Web-приложението и от Apache излизаше съобщение:

client denied by server configuration: proxy:ajp://localhost:8009/data/

Това се оправи, след като добавих <Location> в конфигурацията, така:

<VirtualHost *:80>
  ProxyPass /data/ ajp://localhost:8009/data/
  <Location /data/>
    Order allow,deny
    Allow from all   
  </Location>
  ...
</VirtualHost>