Floating FB popout byReview Results

Fizička osoba i DEMO certifikat

by Nino22. January 2013 07:47

Čini se da je ipak moguće da i fizičke osobe, a ne samo pravne, mogu izvaditi DEMO certifikat za potrebe testiranja fiskalizacije. 

Citiramo:

"Fizička osoba MOŽE zatražiti DEMO certifikat od FINE. (Ja sam živi primjer :) ). Ispišete zahtjev za DEMO certifikatom, pod naziv firme navedete svoje ime/prezime, korisnik certifikata - opet vi. Ispišete, potpišete, kopirate osobnu prednju i zadnju stranu, odnesete u FINU.

I dobijete certifikat. :)

Ja sam navela da radim preko autorskih ugovora i nitko mi nije radio problem."

 

Hvala amalthea  :)

Tags: ,

DEMO certifikat | Testno okruženje

FiskalizacijaDEV - verzija 2.0 je "vani"

by Nino12. December 2012 18:17

Ova je verzija dovoljno stabilna za korištenje u produkcijskom okruženju. Novosti je dosta, najvažnije su implemetacija CIS timeouta u COM/EXE, obrada grešaka koje vraća CIS kroz COM/EXE, provjera valjanosti potpisa, ...

Sve novosti, kao i download su ovdje: http://fiskalizacija.codeplex.com/releases

Tags:

CIS | Tehničke specifikacije | Testno okruženje

CIS load test

by Nino4. November 2012 11:51

Pripremamo load test putem kojeg planiramo poslati veću količinu XML poruka tipa RacunZahtjev u CIS, u što kraćem periodu, kako bismo provjerili kakav je odziv i kako se vrijeme odziva ponaša kod jačeg opterećenja.

Prema službenim najavama, očekuje se cca 10.000.000 XML poruka dnevno, cijeli je sustav dizajniran da može obraditi cca 1.000 XML poruka u sekundi, odnosno, da vrijeme odziva ne bude veće od 2 sekunde, od trenutka ulaska XML poruke u CIS pa do vraćanja odgovora.

Trenutno je prosječni odziv CIS-a u rangu od 0,11 sekundi - naravno, ovdje se radi o "praznom hodu", odnosno, sustav praktično radi bez ikakvog opterećenja, osim povremenih i sporadičnih testova. Trenutni status CIS-a je dostupan ovdje, zajedno sa prikazom, tabelarnim i grafičkim, vremena odziva, te tabelarnim prikazom grešaka u radu.

Kako nemamo informacije o platformi (hardware + software) koja se koristi kao podloga za CIS, možemo jedino pričati o tome kako smo osmislili ovaj naš load test: u ovom smo trenutku u fazi prikupljanja XML poruka, koje se spremaju u SQL Azure bazu podataka. Samo sučelje, web stranice + web servis, se također nalaze u Azure-u, kao web rola koja se "vrti" na 2 instance; prema potrebi ćemo povećavati broj instanci, iako je procjena da neće biti potrebe za time u ovoj fazi prikupljanja XML poruka.

Nakon što prikupimo potreban broj XML poruka i nakon što se sve ostalo pripremi, XML poruke ćemo iz SQL Azure baze podataka prebaciti u Azure Queue. Poruke planiramo prebaciti u Queue kako bismo mogli povećati paralelan broj zahtjeva koje možemo obraditi. Naime, plan je da kad load test započne, podignemo najmanje 4-6 instanci worker role koja će odraditi testiranje, slanjem XML poruka tipa RacunZahtjev u CIS. Pri tome planiramo da svaka od instanci vrti barem 50-tak zasebnih threadova koji će slati podatke u CIS. S obzirom na ovu arhitekturu, smatramo da ćemo biti puno fleksibilniji ako XML poruke čitamo iz Queue, umjesto direktno iz baze podataka - na ovaj način ne moramo brinuti o tome koji smo redak iz baze pročitali, jesmo li poruku uspješno poslali ili ne, koja instanca i koji thread obrađuje koji segment podataka iz baze i sl. O svemu ovome "brine" Azure Queue mehanizam, na nama je da čitamo poruke i šaljemo ih...

Maksimalna veličina poruke koju je moguće poslati u Queue je 64 KB -  s obzirom da je prosječna veličina XML poruke tipa RacunZahtjev negdje oko 4 - 5 KB, ovo je sasvim prihvatljivo.

Windows Azure Queue može obraditi do 2.000 transakcija u sekundi - ovdje se radi o teoretskom maksimumu i taj broj je u praksi nešto manji. U ovom prvom load testu ćemo biti zadovoljni ako uspijemo poslati između 250-500 XML poruka u sekundi.

Za svaku XML poruku koju pošaljemo u CIS ćemo spremiti odgovor koji smo primili natrag - ukoliko se pojavi greška, spremit ćemo poruku greške. Kako bi se proces slanja/primanja poruka dodatno ubrzao i optimizirao, pristigle XML poruke ćemo isto pohranjivati u Queue. Nakon što load test završi, obradit ćemo odgovore u smislu da usporedimo podatke u SQL Azure bazi podataka i odgovore u Queue - na taj ćemo način napraviti usporedbu, prema UUID-u svake poruke, kako bismo vidjeli koliko smo poruka uspješno poslali i za koje smo primili JIR.

Svrha je ovog testiranja:

  • vidjeti ponašanje CIS-a u situaciji povećanog opterećenja; ovdje je bitno napomenuti da će očekivano opterećenje, barem za ovaj prvi load test, biti u redu veličini 25 - 50% maksimalnog opterećenja za koje je CIS projektiran.
  • izmjeriti očekivano povećanje u vremenu odziva kada je sustav pod opterećenjem
  • provjeriti da li se povećava broj neuspjelih odgovora (grešaka) kada je sustav pod opterećenjem - očekivano ponašanje je da CIS ispravno vraća odgovore bez obzira na opterećenje, jedino vrijeme odziva može biti povećano, no ne i postotak grešaka
  • svi developeri uključeni u ovo testiranje imaju priliku provjeriti svoje aplikacije, odnosno rutine za kreiranje XML-a i digitalno potpisivanje - pripremit ćemo detaljan izvještaj koji će prikazivati ove podatke
 
 
U ovom trenutku još nismo stupili u kontakt sa nekime iz APIS IT-a i testiranje nećemo pokrenuti prije toga. U svakom slučaju, pokušat ćemo dati neku službenu "notu" svemu ovome. Testiranje, odnosno, slanje XML poruka u CIS, će ranije biti najavljeno - najavit ćemo točan datum i vrijeme kada će test započeti.
 
 
Pridružite nam se ovdje.
 

Tags: , ,

CIS | Testno okruženje

CIS status - dostupna web stranica

by Nino29. October 2012 16:40

Sukladno ranijim najavama, od danas je dostupna i web stranica za praćenje statusa testnog okruženja.

Radi se o neslužbenom statusu, a adresa stranice je ovdje: https://www.fdev.hr/Status/Status-CIS-Servisa.aspx

Pogledajte i raniji članak Centralni informacijski sustav (CIS) - status službenog testnog web servisa u kojem je opisano kako je status moguće dohvatiti putem web servisa.

Tags:

Testno okruženje

Lista tehnologija i platformi na kojima provjereno radi FiskalizacijaDEV.dll

by Renato26. October 2012 09:17

Ovo je lista tehnologija/platformi na kojima (trenutno) provjereno radi naš DLL, bilo kao .NET assembly, bilo kao COM DLL ili vanjski EXE koji se poziva prema potrebi:

  • .NET, VB.NET, C#, Visual Studio 2008/2010/2012
  • Delphi 7 i XE
  • Visual Basic 6 (VB6)
  • VB Script
  • ASP.NET
  • Clarion
  • Visual Foxpro
  • Windows XP SP2, Windows Vista, Windows 7, Windows 8, Windows Server 2003, Windows Server 2008
  • DOS box pod Windows-ima
  • Linux (Debian, Ubuntu) + Mono
Nadamo se uskoro potvrdi i sa drugih tehnologija/platformi, ako ste isprobali FiskalizacijaDEV rješenje negdje drugdje, slobodno ostavite komentar :)

Tags:

Testno okruženje

CIS "radno vrijeme"

by Nino25. October 2012 08:18

Samo kratki update za sve one koji su jučer "razbijali glavu" oko ovoga: od cca  16:05 do 17:00 i zatim od cca 18:53 - 19:00 CIS nije radio, za sada je status moguće pratiti jedino preko našeg neslužbenog web servisa (http://blog.fiskalizacija-dev.com.hr/post/2012/10/22/Centralni-informacijski-sustav-(CIS)-status-sluzbenog-testnog-web-servisa.aspx), uskoro stiže i neslužbena web stranica sa više detalja, za prvu ruku, dok PU ne napravi nekaj svoje :)

Status se može, za sada, pratiti i kroz SAMPLE aplikaciju, koja je dio ovog projekta na Codeplex-u.

Inače, ovo je prvi veći "ispad" od kada redovito pratimo status uz napomenu da je i inače period od 16:00 - 17:00, radnim danom, te nedjeljom od 08:00 - 12:00 naznačen kao period u kojem se radi održavanje sustava, kako je i navedeno u Tehničkoj dokumentaciji. Imajte ovo na umu, da izbjegnete frustracije upravo na kraju radnog dana :)

Tags: ,

Tehničke specifikacije | Testno okruženje

Centralni informacijski sustav (CIS) - status službenog testnog web servisa

by Nino22. October 2012 11:03

Prema ranijim najavama, od danas je svima, a u sklopu projekta Fiskalizacija-DEV, dostupan i web servis koji možete koristiti za provjeru statusa službenog testnog okruženja (CIS-a).

Radi se o NESLUŽBENOM rješenju, koje je smješteno u Windows Azure cloud, na adresi https://www.fdev.hr/StatusWS/GetStatus.asmx. Ovaj servis se poziva kao i svaki drugi .NET web servis, primjer je u CodePlex-u, a vraća statuse:

  • green - znači da je sve OK, da sve radi
  • yellow - znači da je bilo nekih problema u zadnjoj minuti, da servis malo radi, malo ne
  • red - da servis ne radi
  • unknown - da status nije poznat
 
Kako se radi o neslužbenom rješenju, tako je bitno napomenuti da smo se prilikom izrade snalazili kako smo znali - ovo posebno znači da nismo mogli koristiti ECHO metodu s obzirom da onda radi i kada ne radi slanje računa odnosno poruka za poslovni prostor. Iz tog razloga smo odlučili ovaj servis za provjeru statusa implementirati tako da u pravilnim vremenskim intervalima (za sada svakih 10 sekundi) šaljemo potpisani XML sa RacunZahtjev porukom u CIS - nakon toga mjerimo vrijeme odziva i to sve spremamo u SQL Azure bazu. U slučaju pojave greške, spremamo tekst pogreške a pod response time spremamo 0 umjesto prave vrijednosti.
Odlučili smo se za slanje poruke tipa RacunZahtjev jer smo primijetili da, pogotovo unutar testnog perioda, ponekad servis ne radi kako treba što onda dovodi do frustrirajućih poruka "Internal server error 500", pa onaj koji testira nije siguran da li je problem kod njega ili je problem u tome što testni servis u tom trenutku ne radi kako bi trebao. Ako niste sigurni da li je problem kod vas, jednostavno dohvatite status i to je to Wink
 
S obzirom na korištenu "metodologiju", sasvim je jasno da se status CIS-a, jednom kada sustav bude u produkciji, na ovaj način neće moći pratiti - jednostavno nećemo biti u mogućnosti slati poruke tipa RacunZahtjev u Poreznu; nadamo se da će netko od osoba službeno uključenih u ovaj projekt prepoznati potrebu za time i da će ili sami implementirati ovakav servis za dohvat statusa, ili da će prilagodi ECHO (odnosno neku drugu web metodu) koja će to omogućiti.
 
Nadalje, u pripremi je i web stranica na kojoj će, a bez pozivanja web servisa, biti moguće vidjeti koji je trenutni status. Ovo su neki screenshotovi, još uvijek radimo na tome.
 

 

Koja je tehnička strana priče? Na jednom od naših servera se nalazi Windows servis koji šalje XML poruku u CIS, svakih 10 sekundi. Nakon što je primljen odgovor, poziva se WCF data servis, smješten u Windows Azure cloud-u i njemu se šalju prikupljeni podaci, koje spomenuti servis pohranjuje u Azure SQL bazu. Za svaki se poziv, u ovom trenutku, pohranjuje vrijeme poziva, vrijeme odziva (response time) od CIS-a i eventualni tekst greške. U slučaju greške, kao response time spremamo 0.

Za dohvat statusa, koristi se klasičan web servis (ASMX).

Sve je ovo deploy-ano na 2 small instance, što bi trebalo biti i više nego dovoljno za ovu fazu projekta. U svakom slučaju, ukoliko se pokaže da zaista postoji realna potreba za ovako nečime, te ukoliko neće postojati službena stranica sa statusom CIS-a (produkcija) i ukoliko će biti moguće na neki način dohvaćati status CIS-a, tada ćemo i Windows servis koji prikuplja status migrirati u cloud; u ovom trenutku jednostavno nema potrebe za time.

 

Kao završna napomena - servis za dohvat statusa je u beti - javite ako primijetite neku nelogičnost ili problem u radu; isto tako, sve su primjedbe, komentari i sugestije i više nego dobrodošle Smile

Tags: ,

Testno okruženje

Certifikati i fiskalizacija

by Nino17. October 2012 09:07

 

Ovo što dalje pišem u ovom postu jesu stvari proizašle iz našeg iskustva i prakse, te iz pitanja/problema koje ostale kolege imaju, a koja dolaze do nas. Kako ne znamo koja je generalna ideja FINA-e, APIS IT-a i Porezne uprave, unaprijed se ograđujem ukoliko napišemo nešto netočno - u svakom slučaju, neka nas netko ispravi :)

 

Prema dostupnim informacijama, nekoliko je certifikata u "igri":

  1. FISKAL (DEMO) certifikat, informatičke tvrtke odnosno, kasnije, obveznika
  2. Aplikacijski certifikat CIS-a, fiskalcistest
  3. Verifikacijski/root (samopotpisani) certifikat za Demo CA, democacert
  4. Poslužiteljski certifikat CIS-a, cistest.apis-it.hr
 
Certifikat pod brojem 4.) je certifikat koji se ne koristi za digitalno potpisivanje XML poruka - on se koristi kod uspostavljanja SSL (HTTPS) između vašeg računala (klijenta) i CIS servera.
 
Certifikat pod brojem 1.) je ključan u cijeloj ovoj priči - naime - on služi kako bi obveznik mogao digitalno potpisati svaku XML poruku (RacunZahtjev, PoslovniProstorZahtjev) prilikom slanja u Poreznu upravu. Svaki račun potpisan ovim certifikatom Poreznoj upravi, zakonski, znači da ste upravo vi poslali tu poruku. Drugim riječima, ako netko dođe u posjed ovog certifikata, on može u vaše ime u Poreznu slati bilo kakve podatke, tako da treba skrenuti pažnju da je sigurnost ovog certifikata vrlo važna. Pripremamo članak na ovom blogu na tu temu.
 
Certifikat pod rednim brojem 2.) se koristi (trebao bi se koristiti ?) za potpisivanje XML dokumenata koje Porezna uprava vraća obvezniku. Na taj način PU jamči da je odgovor koji ste zaprimili zaista došao od njih.
 
Certifikat pod rednim brojem 3.) je prilično važan - radi se o certifikatu koji je ROOT certifikat za sve ostale DEMO FISKAL certifikate. Ovo "ROOT", pojednostavljeno, znači da je taj certifikat "iznad" (certification path) svakog drugog FISKAL DEMO certifikata. Kako je FINA taj certifikat sama sebi izdala (certifikat je "samopotpisan"), tako znači da iznad njega nema nekog drugog ROOT certifikata. 
 
E, sad, ako iz vaše aplikacije pokušate poslati ECHO XML poruku usklađenu sa XSD-om, dakle XML poruku koja nije digitalno potpisana certifikatom pod 1.), prilikom spajanja na CIS vrlo vjerojatno ćete dobiti greške "The remote certificate is invalid according to the validation procedure." i "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.". Tehnička specifikacija definira da se prilikom spajanja na CIS mora koristiti SSL (HTTPS) i ove se greške javljaju upravo iz razloga što se ne može osigurati sigurna veza od vašeg klijentskog računala do CIS servera. Razlog za to je certifikat pod brojem 4.), odnosno, činjenica da ne postoji ispravan "certificate chain" do "trusted authority" (odnosno, certifikat pod brojem 3.) je samopotpisan). Obratite pažnju da u ovom slučaju certifikat pod brojem 1.) ne igra nikakvu ulogu - ECHO možete slati bez svog FISKAL certifikata, s obzirom da se on koristi samo za digitalno potpisivanje RacunZahtjev i PoslovniProstorZahtjev poruka. Treba, dakle, razlikovati certifikate koji se koriste za digitalno potpisivanje od onih koji su potrebni za uspostavu SSL (HTTPS) veze.
 
U trenutku kada i certifikat pod brojem 3.) uključite u cijelu priču (Kako preuzeti i instalirati democacert - Verifikacijski/root (samopotpisani) certifikat za Demo CA), sve sjeda na svoje mjesto.

 

Tags: ,

DEMO certifikat | Tehničke specifikacije | Testno okruženje

Među prvih smo 6 koji su uspješno testirali slanje podataka u službeni testni web servis

by Nino15. October 2012 17:01

Na današnjem predstavljanju pravnog dijela Prijedloga Zakona u prostorijama HGK je spomenuto da se do sada ukupno 6 korisnika uspješno povezalo na službeni testni servis Porezne uprave (https://cistest.apis-it.hr:8449/FiskalizacijaServiceTest). Sa ponosom ističemo da smo među prvima Smile

 

Ako još niste, preuzmite DLL i implementirajte podršku u svoju blagajnu: http://fiskalizacija.codeplex.com/

Tags:

Testno okruženje

Kako se certifikat može snimiti u datoteku ?

by Nino15. October 2012 12:14

Na temu dileme da li certifikat držati u Certficate store-u ili u pfx datoteci se ovih dana spremamo napisati neki mali članak - u svakom slučaju, i jedna i druga varijanta imaju za i protiv.

Ako FISKAL DEMO certifikat želite snimiti u datoteku, ovo je postupak:

1. otvorite Certificates snap in:

  • Start -> Run -> mmc

 

  • Kliknite OK i potvrdite da Managament Consolu otvarate kao Administrator

 

  • Kliknite File -> Add/Remove Snap in i iz liste odaberite Certificates
  • Kliknite Add i odaberite My User Account

 

  • Kliknite Finish i OK
2. Otvorite Personal -> Certificates i u listi sa desne strane pronađite FISKAL (npr. "FISKAL 1") certifikat
3. Kliknite sa desnom tipkom miša na certifikat -> All Tasks -> Export

 

 

4. Kliknite na Finish.

 

Nakon što ste certifikat izvezli u datoteku, možete ga koristiti za potpisivanje XML dokumenata. Ako koristite Fiskalizacija-DEV.dll, tada je postupak ovakav:

X509Certificate2 cert = Raverus.FiskalizacijaDEV.PopratneFunkcije.Potpisivanje.
DohvatiCertifikat(@"D:\Users\Nino\Desktop\MojCert.pfx""PASSWORD");
if (cert != null)
{
    Schema.RacunZahtjev zahtjev = PopratneFunkcije.XmlDokumenti.KreirajRacunZahtjev(racun);
    XmlDocument zahtjevXml = PopratneFunkcije.XmlDokumenti.SerijalizirajRacunZahtjev(zahtjev);
PopratneFunkcije.Potpisivanje.PotpisiXmlDokument(zahtjevXml, cert);
    PopratneFunkcije.XmlDokumenti.DodajSoapEnvelope(ref zahtjevXml);
XmlDocument doc = cis.PosaljiSoapPoruku(zahtjevXml); }

Tags:

Testno okruženje

Month List