Snpe razvojni sistem je aplikacija za kreiranje Swing klijenata za pristup i manipulaciju bazama podataka.
Sistem je napravljen korištenjem 100% čiste jave i osim JAVA SDK koristi hibernate, spring, spring rcp,
infonode docking window, jfreereport, jgoodies looks, jgoodies forms i još neke biblioteke
koje se najčešće podrazumevaju (log4j, apache-common, junit itd). Svi ovi alati su otvorenog koda (osim Jave).
Detaljne informacije i screenshotovi Snpe razvojnog sistema se mogu naći na sledećoj adresi:
http://www.snpe.co.yu/html/snpedevel.html
Osnovna namena sistema je kreiranje ekrana (formi) za osnovne operacije sa bazama (unos, brisanje, izmena), ali i moćni alat za pretraživanje, sortiranje, grupisanje (analitičke funkcije) i kreiranje izveštaja u raznim formatima. Glavna prednost je što se ekrani/izveštaji kreiraju vrlo jednostavno (neke jednostavne primere može sistem da kreira sam na osnovu dizajna baze) u par linija koda (samo se kreiraju vizuelni elementi i rasporede na ekranu), a dobije se sistem koji osim osnovnih operacija ima i pametno pretraživanje, sortiranje po bilo kojoj kombinaciji polja, obične i grupne izveštaje i uskoro grafikone. Pretraživanje, sortiranje, grupne izveštaje i ostale funkcije sistema su na raspolaganju krajnjem korisniku bez ikakve posebne intervencije programera/developera.
Sistem je moguće nadograđivati i kada dodajete funkciju sistemu ona je na raspolaganju svim delovima sistema - na primer, sledeću karakteristiku koju planiramo dodati ovih dana je kreiranje raznih grafikona - mi nećemo kreirati specijalizovane grafikone za pojedine podatke (i ovo je moguće naravno), nego ćemo dodati funkciju svim ekranima u sistemu, a krajnji korisnik će samo izabrati kolone za koje želi grafik i vrstu grafikona (slično kao sta sada kreira grupne izveštaje). Programer koji kreira ekran ne treba ništa da menja u postojećim i budućim ekranima za ovu funkciju.
Mi znamo da ne možemo sve zahteve da uradimo na ovaj način, ali pokušavamo da dostignemo princip 80/20, tj. 80% poslova u nekom informacionom sistemu će biti rešeno na ovaj način, a developeri će dodati još 20% specijalizovanih ponašanja. Međutim, onih 80% se može stalno nadograđivati sa novim funkcijama.
Srce sistema je (osim baze podataka) hibernate - hibernate je most između baze podataka i jave - hibernate radi osnovne operacije sa bazom i korištenjem hibernate sistem kreira upite u bazu za pretraživanje, sortiranje, izveštaje itd. Svi delovi sistema su zamenjivi, pa i hibernate, odnosno, model podataka, ali mi ne bismo mogli postići sve mogućnosti koje sistem pruža krajnjem korisniku bez hibernate.
Drugi važan dio sistema je spring rcp - mi koristimo spring rcp za povezivanje (binding) java vizuelnih elemenata sa hibernate klasama.
Ovo je važan dio takođe, jer omogućuje binding za ugnježdene elemente koje hibernate podržava. Ovo omogućuje da naši ekrani i funkcije
(pretraživanje, sortiranje, grupiranje itd) budu po prirodnom redosledu bez obzira kako je baza dizajnirana. Na primer, moguće je na
ekran za fakturu dodati polje faktura.kupac.kontaktOsoba.ime i mi radimo na ekranu za fakture sve funkcije
po imenu osobe za kontakt kod kupca, iako je ime osobe u nekoj tabeli u bazi koja nema nikakve direktne veze sa fakturama.
Spring se koristi za povezivanje kompletnog sistema i za definisanje ponašanja celog sistem (Dependency Injection), tj.
bilo koji dio sistema se može zameniti - recimo naš model podataka (DbDataModel).
Infonode docking window se koristi za kreiranje, prikazivanje i manipulisanje pogledima (view) u sistemu. Pogled može biti ekran, izveštaj, grupni izveštaj, pomoć, ekran za prikaz sistemskog dnevnika (log) itd. Pogledi se kreiraju/brišu, maksimiziraju, minimiziraju slično kao u bilo kojem modernom IDE alatu. Lako se može zameniti.
JFreeReport se koristi za kreiranje izveštaja i takođe se lako može zameniti sa nekim drugim sistemom.
JGoodies Forms mi koristimo za kreiranje vizuelnog dela ekrana (dela za osnovne operacije baze), ali se može koristiti bilo šta, pa čak i GUI IDE alati. JGoodies looks je samo za izgled, tj. Java Look & Feel.
Sistem radi na nekom operativnom sistemu za koji postoji Java i sa nekom bazom sa kojom radi hibernate (gotovo sve baze koje imaju jdbc drajver).
Dodatne informacije možete naći na:
http://www.snpe.co.yu/html/snpedevel.html