Wednesday, January 16, 2008

Setting Up dcm4chee for Oracle Database

Hi Folks!

I'm starting my masters degree this year and I wrote an interesting research project to build a complete medical image processing server which works together with dcm4chee: a DICOM clinical data manager system. In this post I will show you how to setup dcm4chee properly using the great and free Oracle Express Database. This tutorial is for Windows.

Firstly, download OracleXE and launch it. The installation is quite simple and intuitive. When asked create the system account that will manage the database, so type system for username and manager for password. Wait copying its files and then finish the wizard. On the Windows command prompt access the directory:

oraclexe\app\oracle\product\10.2.0\server\BIN

...and execute the sqlplus.exe program. You will be asked for entering an username and password, which is system and manager. If no problems occurred you are now connected to Oracle and will get the C:\SQL> command line.




The Oracle Express brings a clear web interface where you may perform the database management, however, it uses the Jetty server that works on HTTP port 8080. If you try to run any other server like JBoss you'll get stuck at errors because port 8080 wont't be available. To overcome this issue you must change the HTTP port for Oracle. On SqlPlus type the following SQL commands:

SQL> begin
2 dbms_xdb.sethttpport('18080');
3 end;
4 /

After execute these lines you'll change Oracle HTTP port from 8080 to 18080. We must do it because dcm4chee works under JBoss server that also uses port 8080 for web access. Meanwhile, we're done with Oracle!

Download dcm4chee binaries for Oracle and also get the amazing JBoss application server. I chose version 2.13.0 of dcm4chee and the JBoss 4.2.2.GA release. Extract dcm4chee files at the root directory "C:\". Avoid using a directory that has a name which contains spaces as installation directory. So make it simple, just rename the extracted folder
to dcm4chee.

The next step is to extract JBoss files to the root directory and then rename the new folder to jboss. When finished, you have to copy some files from JBoss to dcm4chee by executing install_jboss.bat with the path of your JBoss installation directory as parameter. Access the Windows command prompt to execute the script. Eg. C:\dcm4chee\bin>intall_jboss.bat C:\jboss.




That's it, dcm4chee is almost done! Come back to Oracle for creating your PACS database. Again, access the SqlPlus with your system account and execute the commands below. They create a new Oracle tablespace named pacsdb and a new database user pacs. Every dcm4chee data will be stored based on these configurations.

CREATE TABLESPACE pacsdb
DATAFILE 'C:\xxx\pacsdb.ORA' SIZE 5M
AUTOEXTEND ON NEXT 5120K
DEFAULT STORAGE (INITIAL 10K NEXT 50K MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 10) ONLINE;

CREATE USER pacs IDENTIFIED BY pacs
DEFAULT TABLESPACE pacsdb TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON pacsdb;

GRANT DBA TO pacs WITH ADMIN OPTION;

Reopen the Windows command prompt and execute SqlPlus. Now you have to establish connection with Oracle through your new user pacs and password pacs for generating all tables, primary keys, indexes, and so on. Therefore, type the following command and wait:

SQL> @C:\dcm4chee\sql\create.ora;

If no errors occurred your dcm4chee database is complete!

Important Notes:

1) dcm4chee doesn't contain an appropriate Jdbc driver for Oracle, so you need to download this driver and copy it to dcm4chee\server\default\lib\.

2)Use OCI connection for OracleXE. Change de Jdbc url connection in dcm4chee\server\default\deploy\pacs-oracle-ds.xml. Locate the tag <connection-url> and change its content to jdbc:oracle:oci:@xe.

3) Search Oracle installation directory for ocijdbc10g.dll and copy this file to dcm4chee\bin\native\.

Mission accomplished! Open the Windows command prompt, access dcm4chee\bin directory and execute run.bat to startup JBoss server. Finally, open your preffered web browser and go to localhost:8080/dcm4chee-web to see dcm4chee in action!




If you have any problems with this tutorial just let me know.
See you on the next post :)

Wednesday, November 28, 2007

Get rid of YouTube Downloaders! Firebug it!

Hi everyone,

If you are trying to download videos and always get stuck at YouTube downloader programs, don't worry, just Firebug it!

The amazing browser Mozilla Firefox is not a simple browser, but a rich and helpful tool for web developers and programmers. Among its extensions we can find one that may upset some world wide portals, I present you Firebug. Firebug "integrates with Firefox to put a wealth of web development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page".

These days I was trying to download videos from YouTube using some programs that claim to do that easily. However, I got stuck all the time! The programs really didn't work at all. So I decide to have a look at YouTube site through Firebug tool under Mozilla Firefox. There was the key! YouTube videos are "hidden" on different servers and URLs. It's speculation but I believe this is why downloader programs can't do the trick, they are not able to reach those servers and URLs. Using Firebug I could download my favourite videos properly.

First you have to download and install Mozilla Firefox. When finished, install Firebug on Firefox. Then restart the browser and be sure you have this icon at the browser bottom right corner:



To start working with Firebug and YouTube videos you need to access the YouTube site first. Then, just click on Firebug's green icon to open its tool panel. Now you have something like this:



Inside Firebug's panel you can debug Javascripts, inspect Html tags, explore the Html DOM tree, watch the XmlHttpRequest asynchronous requests and even know how long does every object on the page take to be downloaded by the browser. It's really amazing! Now as you were introduced to Firebug, let's see how to download your favourite YouTube videos.

Search for your video at YouTube.com and then click on it to start watching. Be sure that is this video you want to download. Now comes Firebug magic! Click on its green icon to open the tool panel. There is a tab named "Net", select it. This tab shows every object on the page and its respective download time. Now just hit Ctrl+F5 to refresh the page and see each object being downloaded by the browser.



Look at the red arrow (it's my arrow). There it is, your favourite video waiting for you to be downloaded. Can you see the real video URL? No more words, let's download the video. Right click the line where you see "get_video" followed by a weird URL and then hit "Open in new tab". Wow, Firefox want me to save a FLV (Flash Video) file? Yes, just do it.



Wait until the download is finished. The last step is rename the downloaded file from "get_video" to "youfilename.flv".

That's all folks!

Enjoy!

Wednesday, October 3, 2007

A Game Engine Project

Hi Folks!

From the last three years I've been working hard on a project I called MyGameEngine. The goal was to build a simple game engine where programmers may create their own virtual worlds, or their own 3D games!

On this post I bring you this great project. It's entirely written in C++ code and the whole graphical stuff was developed through the OpenGL API. If you're interested in downloading the project source code just let me know: samucs@gmail.com. Meanwhile this blog doesn't support downloads.

Below I present a screenshot of MyGameEngine in action!
Enjoy!