15
4-2. J2SE
Język Java jest również naturalnym wyborem dla projektu, ze względu na swoją elegancję, prostotę i obszerną bibliotekę standardową [17]. Jedna z najważniejszych zalet Javy to fakt, iż jest darmowa oraz istnieje dla niej wiele wysokiej jakości bezpłatnych narzędzi i bibliotek. Przykładami mogą być tutaj Eclipse IDE oraz projekty Apache Software Foundation.
Kluczowa okazała się również możliwość dynamicznego ładowania klas w języku Java, która pozwoliła na prostą implementację systemu pluginów w brokerze.
Jako podstawę dla obsługi Web Services w systemie MOOOP wybrano kontener serwletów Tomcat [6], udostępniający usługi za pośrednictwem pakietu Apache Axis [8]. Projekt ten składa się między innymi z narzędzi do generowania szkieletów usług oraz ich klientów, a także z serwletu, eksponującego klasy języka Java jako Web Services.
Od brokera i źródła danych systemu MOOOP wymaga się, aby były w stanie przechowywać i modyfikować pewne informacje (źródło - informacje o modelach, broker - o użytkownikach, prawach itp.). Do tego celu wykorzystują one relacyjną bazę danych Firebird [15]. Rozwijany na bazie uwolnionego przez firmę Borland kodu Interbase 6.0, Firebird jest stabilnym, dojrzałym i dynamicznie rozwijającym się produktem. Jego wybór był motywowany następującymi cechami systemu:
• brak opłat za korzystanie z bazy, także w komercyjnych projektach,
• łatwość instalacji,
• dojrzała wersja produktu dla systemu Windows, także jego starszych wersji - od Windows 98,
• transakcyjność,
• możliwość przechowywania BLOBów (np. pliki problemów GAMS lub AMPL),
• dostępność sterownika JDBC Type 4 (Pure Java), a więc niezależnego od platformy.