Reference iz portfelja u kojima Windows program ne radi sam za sebe, nego razgovara sa drugim sistemom: razmenjuje podatke sa drugom aplikacijom u realnom vremenu, prijavljuje se na veb servis i pretražuje ga, prati berzanske parametre i šalje naloge brokeru, inicijalizuje platni prolaz ili prosleđuje cene akcija iz Excel-a u bazu. Ovde program zavisi od sistema koji ne kontroliše, pa mora pouzdano da obradi odgovore, greške i prekide veze. Ovakve poslove radim u okviru usluga izrade Windows programa i servisnih aplikacija i API integracija.
Komunikacija u realnom vremenu između Python i C# aplikacija
Rađeno u drugom kvartalu 2022.
Problem
Klijent je želeo kanal za komunikaciju u realnom vremenu između Python aplikacije i C# aplikacije koje rade paralelno na istom računaru. Kao dokaz koncepta, Python aplikacija je u petlji povećavala celobrojnu vrednost svake milisekunde, a C# aplikacija je tu vrednost, koja se neprestano menja, trebalo da čita preko soketa — sa Python-om kao hostom i C#-om kao klijentom. Kod promena na nivou milisekunde, brzina i ispravnost podataka bile su presudne.
Rešenje
- prenos podataka u realnom vremenu: brza i pouzdana razmena podataka između dve aplikacije;
- komunikacija preko soketa: Python aplikacija radi kao host, a C# aplikacija kao klijent;
- brzina i ispravnost: podaci stižu tačni i na vreme, iako se menjaju svake milisekunde;
- dokaz koncepta: izvodljivost je pokazana na vrednosti koju Python aplikacija neprekidno uvećava.
Korišćene tehnologije
- Python (programiranje.co.rs) i C# (programiranje.co.rs): dve aplikacije koje razmenjuju podatke.
- Programiranje soketa: kanal za komunikaciju.
Rezultat
Dve aplikacije pisane u različitim jezicima razmenjuju podatke u realnom vremenu, a klijent je ishod ocenio kao bolji od očekivanog.
Utisak klijenta
★★★★★5/5“Ishod ovog projekta je premašio očekivanja. Bezprekorno uvezivanje i komunikacija između dve aplikacije su izvedeni besprekorno. Sve pohvale za odličan posao!”
Delphi aplikacija povezana sa veb servisom
Rađeno u drugom kvartalu 2021.
Problem
Klijentu je bila potrebna jednostavna desktop aplikacija u RAD Embarcadero Delphi okruženju, uz obaveznu predaju izvornog koda. Aplikacija je trebalo da se poveže sa zadatim veb servisom, da korisnika prijavi i odjavi korisničkim imenom i lozinkom, i da uz dobijenu sesiju poziva funkcije servisa: jednu koja vraća broj ljudi i drugu koja pretražuje goste po prezimenu. Svaki poziv, njegov odgovor i eventualna greška morali su da se beleže sa datumom i vremenom, a zahtev je imao i dodatne pojedinosti mimo osnovnog opisa.
Rešenje
Napravljena je jednostavna desktop aplikacija koja pouzdano komunicira sa API-jem veb servisa:
- veza sa veb servisom: stabilna veza sa zadatom adresom servisa;
- prijava i odjava: polja za korisničko ime i lozinku i dugmad za prijavu i odjavu, uz rad sa sesijom koju servis dodeljuje;
- broj ljudi: dugme koje poziva odgovarajuću funkciju servisa;
- pretraga gostiju: polje za prezime i dugme za pretragu;
- beleženje: datum i vreme svakog poziva i prijema, rezultati i greške upisuju se u tekstualni fajl;
- izvorni kod: klijent ima potpun pristup kodu aplikacije.
Korišćene tehnologije
- RAD Embarcadero Delphi (Pascal): razvoj desktop aplikacije i povezivanje sa veb servisom.
- API veb servisa: prijava, sesija i pozivi funkcija.
Rezultat
Korisnici iz jedne aplikacije pretražuju goste i proveravaju broj ljudi, a svaki poziv i greška ostaju zabeleženi; klijent uz to ima izvorni kod.
C# aplikacija za praćenje parametara i slanje naloga preko brokerskog API-ja
Rađeno u drugom kvartalu 2021.
Problem
Klijent je želeo C# aplikaciju koja jednostavnim petljama neprekidno prati određene finansijske parametre preko API-ja brokera i na osnovu njih odlučuje kada i koju vrstu naloga da pošalje preko istog API-ja. Tim klijenta od troje ljudi imao je osnovno znanje C-a, ali ne i C#-a, pa je tražio nekoga ko dobro poznaje C# i ima iskustva sa brokerskim API-jima. Isporuka je trebalo da bude ispravan C# kod u kome se rad lako pokreće i zaustavlja, a projekat je bio pun neizvesnosti od početka do kraja.
Rešenje
- automatsko praćenje: neprekidna kontrola ključnih finansijskih parametara;
- dinamično slanje naloga: nalozi se postavljaju automatski, u zavisnosti od stanja, preko brokerskog API-ja;
- jednostavno upravljanje: korisnik lako pokreće i zaustavlja praćenje i slanje naloga;
- razumljiv kod: alat je napravljen tako da tim koji poznaje C lako može da ga prati i prilagođava u C#-u;
- zajednički rad: deljenje ekrana u realnom vremenu radi razgovora o kodu i njegovog unapređivanja;
- rad po fazama: projekat je podeljen na pet faza, radi jasnoće i efikasnog izvođenja.
Korišćene tehnologije
- C# programski jezik (programiranje.co.rs): jezik aplikacije.
- Brokerski API: praćenje parametara i slanje naloga.
- Alati za saradnju: deljenje ekrana i zajedničko programiranje u realnom vremenu.
Rezultat
Klijent je dobio aplikaciju koja sama prati parametre i šalje naloge, a njegov tim je kroz zajednički rad dobro upoznao njen kod.
Utisak klijenta
★★★★★5/5“Dejan je nesumnjivo majstor svog zanata. On nije samo pomogao u našem projektu; unapredio ga je. Putovanje od začetka do završetka bilo je puno neizvesnosti, ali Dejan nas je vodio sa neuporedivom stručnošću i strpljenjem. Njegova komunikacija bila je dosledna, konstruktivna i ključna za uspeh našeg projekta. Od srca preporučujem Dejana i nadam se saradnji s njim u budućnosti. Njegova posvećenost je neuporediva - pravi profesionalac. Veliko hvala za sve!”
DLL za inicijalizaciju platnog prolaza
Rađeno u drugom kvartalu 2021.
Problem
Klijentu je trebala DLL biblioteka koja povezuje i inicijalizuje GoChipNow platni prolaz. Dobio je komercijalni SDK sa izvornim kodom Windows aplikacije koja te funkcije već obavlja, a zadatak je bio da se njene mogućnosti — pre svega podešavanje i autentifikacija — prenesu u DLL, kako bi se prolaz lakše i efikasnije uklapao u druge programe.
Rešenje
Napravljena je DLL biblioteka na osnovu dobijenog SDK-a i uputstava visokog nivoa:
- inicijalizacija prolaza: podešavanje i autentifikacija platnog prolaza, za bezbedne i pouzdane transakcije;
- korišćenje SDK-a: ključne funkcije izdvojene su iz izvornog koda grafičke Windows aplikacije i prenete u DLL;
- konfiguracioni fajl: podešavanja prolaza zadaju se u fajlu koji korisnik postavlja u folder projekta;
- promena ID-a terminala: korisnik može da promeni ID terminala, pa se prolaz inicijalizuje za tačno određeni terminal.
Korišćene tehnologije
- DLL (dinamička biblioteka): oblik u kome se funkcije prolaza ugrađuju u druge programe.
- GoChipNow SDK: osnova za funkcije platnog prolaza.
Rezultat
Umesto cele Windows aplikacije, klijent ima biblioteku koju ugrađuje u svoje programe i koja inicijalizuje prolaz za zadati terminal.
Prenos cena akcija iz Excel-a u bazu preko API-ja
Rađeno u četvrtom kvartalu 2020.
Problem
Klijent je koristio Excel tabelu u kojoj se cene akcija automatski ažuriraju preko Bloomberg dodatka. Trebalo je pratiti ta ažuriranja, prepoznati svaku promenu cene i ažurirane podatke odmah poslati u određenu bazu podataka preko API-ja. Okruženje klijenta bilo je posebno, pa je rešenje zahtevalo dosta prilagođavanja da bi sve radilo zajedno.
Rešenje
Napravljena je samostalna Windows aplikacija koja povezuje Excel sa bazom:
- praćenje u realnom vremenu: aplikacija neprekidno prati tabelu i uočava svaku promenu cene;
- automatsko slanje podataka: pri promeni cene ažurirani podaci odmah odlaze u bazu preko zadatog API-ja;
- prilagođeno rešenje: zbog posebnog okruženja klijenta bilo je potrebno opsežno otklanjanje problema i prilagođavanje, radi kompatibilnosti i ispravnog rada.
Korišćene tehnologije
- Samostalna Windows aplikacija: praćenje Excel-a u realnom vremenu i povezivanje sa API-jem.
- Excel i Bloomberg dodatak: izvor cena akcija uživo.
- API integracija: prenos ažuriranih podataka u bazu klijenta.
Rezultat
Svaka promena cene u Excel-u stiže u bazu klijenta u realnom vremenu, bez ručnog prenosa podataka.
Treba vam program povezan sa drugim sistemom?
Šta ulazi u izradu, kako se određuje cena i kako izgleda tok posla, piše na stranicama izrada Windows programa i servisnih aplikacija i API integracije. Pogledajte i veb servise, API i plaćanja i Windows aplikacije po meri.
Ostavite odgovor