TECHNICKÁ SPECIFIKACE

Minimální požadavky na HW

Databáze
  • dle specifikace dodavatele databáze
Server
  • Procesor – dedikovaný procesor odpovídají Pentuim IV (jakákoliv frekvence)
  • Operační pamět – minimálne 2 GB / optimálně 4 GB (platí pokud jsou použity všechny serverové moduly)
Klient
  • Procesor – odpovídají Pentuim III (1 000 Mhz)
  • Operační pamět – minimálne 1 GB

Nároky na diskový prostor

  • Databáze
    • IDFU (Výzvy / Poštovní kniha) – cca 1 GB
    • ISIR (Insolvenční rejstřík) – 5 až 10 GB
    • data banky – dle počtu klientů / produktů
  • File system
    • CMS – cca 50 až 80 GB měsíčně (podle počtu zásilek, odhad při 800 zásilkách denně)

Systémové požadavky pro instalaci / způsob instalace

  • Klient (dle konfiurace IDFU / ISIR / Poštovní kniha)
    • Buď společná instalace na sdíleném síťovém disku (to je preferovaná varianta) nebo lokálně na jednotlivých stanicích.
    • Klient vyžaduje přístup ke sdíleným adresářům aplikace a k aplikačnímu serveru prostřednictvím HTTP protokolu na nastavených portech.
    • OS – MS Windows, Linux.
    • Velikost instalace – cca 300 MB.
  • Aplikační server
    • Instalace serverové části probíhá nahráním (deploy) souborů aplikace na aplikační server.
    • OS – MS Windows, Linux, SUN Solaris, AIX, …
    • Podporované aplikační servery – IBM WebSphere, Apache Tomcat, Apache Geronimo, JBoss, SUN GlassFish, jetty, …
    • Aplikační server musí podporovat Javu ve verzi 5 (J2SE 5.0) a vyšší.
    • Instalace aplikačního serveru vyžaduje porty pro HTTP, HTTPS, RMI komunikaci (čísla portů je možné nastavit).
    • Komunikace mezi klientem s serverem využívá HTTP protokol.
    • Pro modul ISIR je potřeba přístup k webové službě justice.cz (resp. https://isir.justice.cz) přes HTTPS a port 8443.
    • Pro modul ISIR a nebo Poštovní kniha je potřeba přístup na SMTP server pro odesílání notifikačních emailů.
    • Velikost instalace – cca 200 MB.
  • Databáze
    • Instalace databáze dle specifikace dodavatele databáze.
    • Podporované databáze – MS SQL Server, IBM DB2, Oracle, PostgreSQL, Firebird, …
    • Aplikace má optimálně vlastní schema (všechny komponenty pak využívají toto jedno schmea).
    • Lze použít i existující schema, ale není to preferovaná varianta.
    • Pro přístup k datům aplikace využaduje jeden aplikační účet s právy na manipulaci s daty v rámci schematu.

Použité technologie

Java

Aplikace je vytvořena v jazyku Java v 1.5. Více viz. http://java.com/. Java je programovací jazyk pocházející od firmy Sun Microsystems. Jedná se o objektově orientovaný jazyk vycházející z C++, ke kterému má také syntakticky nejblíže.

Nejedná se jenom o programovací jazyk, ale také o platformu. Java obsahuje velmi mnoho již hotových knihoven tříd, od tříd pro vytváření grafických rozhraní, přes třídy pro přístup k databázím, až po šifrování a kompresi dat. Podobně jako u operačních systémů, např. Windows, kde existuje řada programových rozhraní pro všechny možné oblasti a přístroje, nabízí Java knihovny své funkce ve formě API. Ve skutečnosti existuje pro operační systémy jedno a to samé rozhraní a jednotlivá volání jsou za běhu převáděna do skutečné platformy. Toto abstraktně definované prostředí spolu s příslušným emulátorem se nazývá virtuální stroj (VM).

Java vývojář pracující vytvoří pouze jeden univerzální zdrojový kód. Ten posléze přeloží do binárního kódu pro Java VM, tzv. mezikód (bajtkód). Spouštěcí prostředí se skládá z emulátoru a řady knihoven tříd a tento mezikód vykonává. Toto se nazývá Java Runtime Environment. Tato nezávislost na platformě je její hlavní výhodou. Tedy program napsaný v jazyce Java by měl fungovat všude tam, kde je k dispozici Java Runtime Environment (např.: PC s různými operačními systémy, PDA, mobilní telefony).

Spring

Je jedním z nejrozšířenějších frameworků pro vývoj aplikací na platformě Java. Jádrem frameworku je inversion of control kontejner, který usnadňuje vývoj, testování, správu a konfiguraci aplikací.

Spring Framework podstatně zjednodušil a zefektivnil vývoj aplikací na Java platformě a některé koncepty byly využity pro návrh JEE 5 specifikace. Podstatnou výhodou Spring Frameworku je neinvazivnost – Spring lze využít se stávajícími technologiemi a produkty a zároveň nevyžaduje použití některých konkrétních produktů.

Spring Framework poskytuje podporu pro askpektově orientované programování, jednotnou abstrakční vrstvu pro práci s transakcemi, databázemi a ORM nástroji (např. Hibernate, Oracle TopLink). Více viz. http://www.springframework.org/

Hibernate

Framework pro pro relačně/objektové mapování v Java a .NET. Pomocí této vrstvy může být aplikace bez úprav provozována na jakékoliv standardní SQL databázi. Více viz. http://www.hibernate.org/

Eclipse RCP

Eclipse RCP (Rich Client Platform) je grafický framework pro vytváření „těžkých“ klientů. Eclipse byl původně vyvinut IBM a následně uvolněn jako OpenSource. Dnes se o jeho vývoj stará Eclipse Foundation. Eclipse Foundation má velké množství členů. Mezi strategické členy patří mimo jiné IBM, CA Inc., Oracle, SAP AG, Borland Software Corp., Sybase, Zend Technologies, Intel Corporation, Motorola, Nokia. . .

Eclipse se dnes skládá z velké řady projektů. Jsou to například The Business Intelligence and Reporting Tools, Test and Performance Tools, The Eclipse Web Tools, Mobile Tools for the Java, Eclipse Modeling Framework, Graphical Modeling Framework, Tools Services Framework (Corona), Eclipse Communication Framework, Process Framework . . .

Platforma Eclipse je použita jako základ pro velké množství open source i komerčních produktů, např. Lotus Notes 8, Lotus Workplace, nebo vývojářské nástroje (IBM Rational Application Developer). Pluginy napsané pro platformu Eclipse mohou být použity i pro integraci do Lotus Notes 8. Více viz. http://www.eclipse.org/

Content Management System

CMS se používá jako inteligentní jednotné úložiště nestrukturovaných dat. CMS má definované rozhraní pro různé aplikace. S daty z CMS lze pak pracovat jednotně bez ohledu na to, jakou aplikací byla do CMS uložena. V IDFU slouží CMS k ukládání veškerých vstupních a výstupních dat – dokumentů, naskenovaných dokumentů, XML, CSV a TXT souborů, mailů a jejich příloh atd. K těmto datům jsou v jednotlivých částech aplikace připojována metadata, která data popisují a slouží k jejich vyhledávání.

CMS řeší základní funkce:

  • ukládání a verzování dat
  • popisování dat – přidávání metadat
  • vyhledávání dat pomocí metadat

Data mohou být uložena v různých úložištích jako například SQL databáze, file system atd.

CMS Apache Jackrabbit

Pokud zákazník nemá vlastní CMS, tak je aplikace dodána s nakonfigurovaným OpenSource CMS Apache Jackrabbit. Lze použít i jakékoliv jiné OpenSource nebo komerční CMS podporující normu JSR 170, případně JSR 283, například IBM DB2 Content Manager, FileNet atd.
JSR 170 Content Repository for JavaTM technology API
Tento standard pro komunikaci s CMS podporují mimo jiné například: Sun Microsystems, IBM, Oracle, Google Inc., SAP, Hewlett-Packard, Apple Computer, Inc., BEA Systems, Red Hat Middleware LLC, Apache Software Foundation, Fujitsu Limited, Intel Corp., IONA Technologies PLC, Lea, Doug, Nortel …

JSR 283 Content Repository for JavaTM Technology API

Tento standard pro komunikaci s CMS podporují mimo jiné například Sun Microsystems, IBM, Oracle, Google Inc., Hewlett-Packard, BEA Systems, Red Hat, Apache Software Foundation, Fujitsu Limited, Borland Software Corporation, SAS Institute Inc., Intel Corp., Lea, Doug, Suleiman, Hani …

CMS konektor

Aplikace IDFU komunikuje s CMS přes vlastní konektor (integrační vrstvu), která aktuálně podporuje JSR 170, připravujeme podporu JSR 283. Pokud zákazník používá CMS s jiným specifikovaným rozhraním, jsme schopni podporu tohoto rozhraní přidat do CMS konektoru.
CMS konektor slouží ostatním modulům aplikace jako rozhraní pro CMS, ale také jako rozhraní pro uživatele. Obsahuje totiž jednoduchého CMS klienta, pomocí kterého lze vyhledávat a zobrazovat data z CMS.

Zobrazování odpovídajících dat z CMS uživateli samozřejmě poskytuje také aplikace v jednotlivých modulech – poštovní kniha – přílohy poštovní zásilky, dávka dotazů – maily, přílohy, výstupy atd.

Operační systém

Protože aplikace je vytvořena v jazyku Java a některé jeho části běží v aplikačním serveru, lze aplikaci provozovat v jakémkoliv operačním systému, pro který jsou dostupné Java a vybraný aplikační server. Např. SUN Solaris, i5/OS, AIX, Windows, Linux atd.

Aplikační server

Aplikace běží na serveru v prostředí Java aplikačního serveru. Toto prostředí obsahuje správu zdrojů, konfiguraci a monitorování aplikací a samozřejmě podporu Java standardů – EJB, JMS, JMX, … Lze použít jakýkoliv standardní aplikační server, například IBM WebSphere, Apache Tomcat, Jboos, jetty, Apache Geronimo, Sun GlassFish, …

Aplikační server musí podporovat Javu 5.

Aplikace je aktuálně testována a provozována na aplikačních serverech:

  • IBM WebSphere
  • IBM WebSphere Community Edition
  • Apache Tomcat

Pokud zákazník nepoužívá odpovídající aplikační server, je aplikace dodána s aplikačním serverem IBM WebSphere Community Edition.

Databáze

Databáze není součástí dodávky a je použita relační databáze dle volby zákazníka.
Díky použití vrstvy pro relačně/objektové mapování – Hibernate, může být aplikace bez úprav provozována na jakékoliv standardní SQL databázi, například:

  • MS SQL Server
  • Oracle
  • IBM DB2 for iSeries
  • IBM DB2 UDB
  • Firebird
  • PostgreSQL