Zahteve
Strojna oprema in OS
• | Računalnik za aplikacijski strežnik (minimumi): 2GB RAM-a in 10 GB prostega prostora na disku. |
• | Operacijski sistem: Windows Server 2003 R2, Windows XP Professional. To je preverjeno, glede na to da gre za Javo pa je sistem kompatibilen z vsemi OS, za katere obstaja ustrezna implementacija JVM. |
• | windows server (2000 in višje) ali linux operacijski sistem na aplikacijskem strežniku (AS), |
• | JBOSS aplikacijski strežnik 5.1.X ali poljuben aplikacijski strežnik (priporočljiv Websphere, Weblogic), ki podpira Javo, |
• | aplikacijski strežnik mora biti JEE5 certificiran, |
• | inštalirano java okolje, |
• | inštaliran oracle ali db2 client na aplikacijskem strežniku za povezavo na podatkovno bazo oz. zadostuju java knjižnjica z gonilnikom za dostop do baze (ojdbc5.jar), |
• | certifikat bo v certifacate storage-u na aplikacijskem strežniku. |
Programska oprema
• | JDK 5 Update 20 ali novejši (http://java.sun.com/javase/downloads/index.jsp) |
• | JBoss Community AS 4.2.3.GA (IRM testirano), lahko tudi novejši JBOSS 5.1.X (http://www.jboss.org/jbossas/downloads/) |
• | Stunnel 4.33 (http://www.stunnel.org/download/binaries.html). |
JMS Queue/Topic konfiguracije
Ustvarimo datoteko jms-queue-irmfixmsg-service.xml ali skopiramo tisto deployment.zip z naslednjo vsebino:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=IrmFixRequestQueue">
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=IrmFixResponseQueue">
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=IrmFixClientResponseQueue">
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=IrmFixClientFixLogQueue">
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
</server>
Datoteka vsebuje opis JMS elementov, potrebnih za delovanje aplikacije.
Konfiguracija dostopa do podatkov
Ustvarimo datoteko IrmFix-ds.xml z naslednjo vsebino ali skopiramo tisto v deployment.zip in jo prilagodimo okolju.
Pomembno! Connection-url, user-name in password je treba prilagoditi zahtevam/potrebam.
Konfiguracija dostopa do ORACLE-a
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE datasources PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN" "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
<datasources>
<local-tx-datasource>
<jndi-name>IrmFixDatasource</jndi-name>
<use-java-context>true</use-java-context>
<connection-url>jdbc:oracle:thin:@192.168.0.123:1521:orcl</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<user-name>APLIBI</user-name>
<password>aplibi</password>
</local-tx-datasource>
</datasources>
Konfiguracija dostopa do DB2
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE datasources
PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
"http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
<datasources>
<local-tx-datasource>
<jndi-name>IrmFixDatasource</jndi-name>
<use-java-context>true</use-java-context>
<connection-url>jdbc:db2://DB2_HOST_IP:DB2_PORT/DB2_SID:retrieveMessagesFromServerOnGetMessage=true;</connection-url>
<driver-class>com.ibm.db2.jcc.DB2Driver</driver-class>
<user-name>DB2_USER</user-name>
<password>DB2_PASS</password>
</local-tx-datasource>
</datasources>
Konfiguracija dostopa za DB ALIAS-e
V primeru povezave na DB ALIAS-e za potrebe load balancing-a se uporabi naslednja konfiguracija za povezavo:
jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=host1) (PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=host2) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=service)))
Več o povezavi na DB ALIASE-e je dokumentirano na povezavi http://www.jugpadova.it/articles/2007/04/11/jdbc-url-for-oracle-rac
Mape
Šifra |
Mapa |
Opis |
Base |
c:\irmfix |
Osnovna mapa namestitve |
JBossBase |
Base\jboss-4.2.3.GA |
JBoss AS namestitvena mapa |
JBossEndorsed |
JBossBase\lib\endorsed |
JBoss mapa s knjižnicami |
JBossDefault |
JBossBase\server\default |
Osnovna mapa Default konfiguracije |
JBossDeploy |
JBossDefault\deploy |
Mapa za namestitev na Default konfiguracijo |
JBossLib |
JBossDefault\lib |
Knjižnice Default konfiguracije |
IrmFixServer |
Base\fixserver |
Osnovna mapa IrmFixServer aplikacije |
IrmFixServerSettings |
Base\fixserver\settings |
Mapa z nastavitvenimi datotekami za IrmFixServer aplikacijo |
Priprava JBoss okolja
• | Prenesemo datoteke jboss-jaxrpc.jar, jboss-jaxws.jar, jboss-jaxws-ext.jar in jboss-saaj.jar v mapo JBossEndorsed. |
• | Prenesemo datoteko ojdbc5.jar (Oracle JDBC gonilnik) oz. db2jcc4.jar (DB2 JDBC gonilnik) v mapo JBossLib. |
• | Prenesemo datoteko jms-queue-irmfixmsg-service.xml v mapo JBossDeploy. |
• | Prenesemo datoteko IrmFix-ds.xml v mapo JBossDeploy. |
Ko imate JDK inštaliran npr. na C:\Program Files\Java\jdk1.6.0_18 je potrebno vpisati tudi
JAVA_HOME variablo. To storite na spodnji način:
1. Greste na My Computer -> Properties -> Advanced -> Environment Variables, potem System variables -> New
2. Vpišete spodnje podatke (pazite, ker vrednost izhaja iz zgoraj navedenega primera).
Namestitev JEE aplikacije
• | Poženemo JBoss s pomočjo ustrezne datoteke za zagon (na Windows je to datoteka run.bat). Run.bat mora teči in ga ne smete ugasniti, lahko se ga da v service, ki se avtomatsko starta. |
• | Prenesemo paket IrmFixWeb-ear.ear v mapo JBossDeploy. JBoss bi moral zaznati nov paket in ga namestiti. |
• | Če je namestitev uspela, potem bi morala biti aplikacija dostopna na naslovu http://localhost:8080/IrmFixWeb. |
Stunnel
Namestimo Stunnel. Stunnel uporabljamo za SSL šifriranje FIX komunikacije. IP nastavitve so odvisne od okolja člana.V namestitveno mapo Stunnel je nato potrebno popraviti stunnel.conf datoteko, da bo vsebina naslednja:
; Sample stunnel configuration file by Michal Trojnara 2002-2006
; Some options used here may not be adequate for your particular configuration
; Certificate/key is needed in server mode and optional in client mode
; The default certificate is provided only for testing and should not
; be used in a production environment
cert = fix.pem
key = fix.pem
; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
; Some debugging stuff useful for troubleshooting
; debug = 7
; output = stunnel.log
; Use it for client mode
client = yes
; Service-level configuration
[fix_tr]
accept = 6789
connect = 193.109.227.185:5003
[fix_md]
accept = 5678
connect = 193.109.227.185:5004
Vrata in naslovi v razdelkih [fix_tr] in [fix_md] se po potrebi korigirajo. Certifikati morajo biti shranjeni v datoteki fix.pem, ki se mora prav tako nahajati v namestitveni mapi Stunnel. Vse potrebne certifikate izvozimo v ustrezno tekstovno obliko in jih shranimo v omenjeno datoteko.
Pretvorba LJSE FIX certifikatov za delovanje s Stunnel
Predpostavke: Windows operacijski sistem, XP ali novejši. Tri datoteke s certifikati, certifikat stranke (zasebni in javni ključ), ljse_pub.cer in LJSE_test.cer.
1. | prenesemo OpenSSL: http://gnuwin32.sourceforge.net/packages/openssl.htm in sicer prenesemo "Binaries" paket (npr. openssl-0.9.8h-1-bin.zip). |
2. | Razpakiramo OpenSSL zip v poljubno mapo, v tem primeru d:\openssl. |
3. | Poženemo ukazno vrstico (command prompt) in se pomaknemo v mapo d:\openssl\bin. |
4. | Pretvorimo osebni certifikat (v tem primeru fixirm.pfx) z ukazom: openssl pkcs12 -in d:\fixirm.pfx -out d:\fixirm.pem -nodes |
5. | Rezultat zgornjih ukazov je PEM datoteka. Odpremo urejevalnik teksta, ki razume Unix prelome vrstic (npr. ConTEXT) in v novo prazno datoteko prekopiramo vsebino PEM datoteke. Dobljeno datoteko shranimo kot fix.pem in jo prenesemo v Stunnel mapo. |
*opomba: po pogovoru s člani bi moral biti dovolj samo vaš osebni certifikat!
Namestitev IrmFixServer aplikacije
IrmFixServer je standardna Java aplikacija z enostavnim GUI. Namestitveni ZIP paket bo vseboval potrebne datoteke za delovanje aplikacije in ga enostavno razpakiramo v mapo IrmFixServer. Potem je potrebno prilagoditi konfiguracijo v datotekah, ki se nahajajo v mapi IrmFixServerSettings. Ključni datoteki sta IrmFixServer.properties in IrmFixServer_LJSE.fix. Primer vsebine obeh datotek:
IrmFixServer.properties
# InitialContext settings
INITIAL_CONTEXT_FACTORY=org.jnp.interfaces.NamingContextFactory
URL_PKG_PREFIXES=org.jboss.naming.client
PROVIDER_URL=jnp://192.168.0.15:1099
# Stunnel host
STUNNEL_HOST=192.168.0.15
# FIX settings
UseJDBC=Y
ResetOnLogout=Y
FixSettingsFileName=c\:\\irmfix\\FixServer\\Settings\\IrmFixServer_LJSE.fix
IrmFixServer_LJSE.fix
[default]
ConnectionType=initiator
StartTime=08:00:00
EndTime=16:00:00
HeartBtInt=30
ReconnectInterval=5
ResetOnLogout=Y
FileStorePath=c:\irmfix\FixServer\FileStore
DataDictionary=c:\irmfix\FixServer\DataDictionary\fix44.xml
JdbcDriver=oracle.jdbc.OracleDriver
JdbcURL=jdbc:oracle:thin:@192.168.0.101:1522:orc2
JdbcUser=HYPO2
JdbcPassword=HYPO2
JdbcStoreMessagesTableName=fix_messages
JdbcStoreSessionsTableName=fix_sessions
JdbcLogIncomingTable=fix_messagesin_log
JdbcLogOutgoingTable=fix_messagesout_log
JdbcLogEventTable=fix_event_log
JdbcSessionIdDefaultPropertyValue=(emtpy)
JdbcLogHeartBeats=Y
ValidateFieldsOutOfOrder=N
[session]
BeginString=FIX.4.4
TargetCompID=LJSE_XETRA
SocketConnectHost=192.168.0.15
SocketConnectPort=6789
SenderCompID=TRDIRX_TR
[session]
BeginString=FIX.4.4
TargetCompID=LJSE_XETRA
SocketConnectHost=192.168.0.15
SocketConnectPort=5678
SenderCompID=TRDIRX_MD
StartTime in EndTime sta vezana na čas aktivne povezave lokalnega IrmFix strežnika z LJSE FIX okolje (uskladiti z LJSE):
StartTime=08:00:00 Europe/Ljubljana
EndTime=19:30:00 Europe/Ljubljana
Aplikacijo poženemo s pomočjo datoteke start.bat v mapi IrmFixServer. Pokaže se ukazno okno v katerem izvedemo povezavo na FIX strežnik s pomočjo ukaza “.connect“ (brez narekovajev) in pritiskom na tipko Enter. Slednjega ni potrebno več izvajati, ker se IrmFixServer postavi kot service (glej IrmFixServer kot Service).
Page url: http://service.irm.si/navodila/Z-NAVODILA/3.9/index.html?osnovna_namestitev.htm