Windows програми повезани са API-јима – референце

Референце из портфеља у којима Windows програм не ради сам за себе, него разговара са другим системом: размењује податке са другом апликацијом у реалном времену, пријављује се на веб сервис и претражује га, прати берзанске параметре и шаље налоге брокеру, иницијализује платни пролаз или прослеђује цене акција из Excel-а у базу. Овде програм зависи од система који не контролише, па мора поуздано да обради одговоре, грешке и прекиде везе. Овакве послове радим у оквиру услуга израде Windows програма и сервисних апликација и API интеграција.

Комуникација у реалном времену између Python и C# апликација

Рађено у другом кварталу 2022.

Проблем

Клијент је желео канал за комуникацију у реалном времену између Python апликације и C# апликације које раде паралелно на истом рачунару. Као доказ концепта, Python апликација је у петљи повећавала целобројну вредност сваке милисекунде, а C# апликација је ту вредност, која се непрестано мења, требало да чита преко сокета — са Python-ом као хостом и C#-ом као клијентом. Код промена на нивоу милисекунде, брзина и исправност података биле су пресудне.

Решење

  • пренос података у реалном времену: брза и поуздана размена података између две апликације;
  • комуникација преко сокета: Python апликација ради као хост, а C# апликација као клијент;
  • брзина и исправност: подаци стижу тачни и на време, иако се мењају сваке милисекунде;
  • доказ концепта: изводљивост је показана на вредности коју Python апликација непрекидно увећава.

Коришћене технологије

Резултат

Две апликације писане у различитим језицима размењују податке у реалном времену, а клијент је исход оценио као бољи од очекиваног.

Утисак клијента

★★★★★5/5

“Исход овог пројекта је премашио очекивања. Беспрекорно увезивање и комуникација између две апликације су изведени беспрекорно. Све похвале за одличан посао!”


Delphi апликација повезана са веб сервисом

Рађено у другом кварталу 2021.

Проблем

Клијенту је била потребна једноставна десктоп апликација у RAD Embarcadero Delphi окружењу, уз обавезну предају изворног кода. Апликација је требало да се повеже са задатим веб сервисом, да корисника пријави и одјави корисничким именом и лозинком, и да уз добијену сесију позива функције сервиса: једну која враћа број људи и другу која претражује госте по презимену. Сваки позив, његов одговор и евентуална грешка морали су да се бележе са датумом и временом, а захтев је имао и додатне појединости мимо основног описа.

Решење

Направљена је једноставна десктоп апликација која поуздано комуницира са API-јем веб сервиса:

  • веза са веб сервисом: стабилна веза са задатом адресом сервиса;
  • пријава и одјава: поља за корисничко име и лозинку и дугмад за пријаву и одјаву, уз рад са сесијом коју сервис додељује;
  • број људи: дугме које позива одговарајућу функцију сервиса;
  • претрага гостију: поље за презиме и дугме за претрагу;
  • бележење: датум и време сваког позива и пријема, резултати и грешке уписују се у текстуални фајл;
  • изворни код: клијент има потпун приступ коду апликације.

Коришћене технологије

  • RAD Embarcadero Delphi (Pascal): развој десктоп апликације и повезивање са веб сервисом.
  • API веб сервиса: пријава, сесија и позиви функција.

Резултат

Корисници из једне апликације претражују госте и проверавају број људи, а сваки позив и грешка остају забележени; клијент уз то има изворни код.


C# апликација за праћење параметара и слање налога преко брокерског API-ја

Рађено у другом кварталу 2021.

Проблем

Клијент је желео C# апликацију која једноставним петљама непрекидно прати одређене финансијске параметре преко API-ја брокера и на основу њих одлучује када и коју врсту налога да пошаље преко истог API-ја. Тим клијента од троје људи имао је основно знање C-а, али не и C#-а, па је тражио некога ко добро познаје C# и има искуства са брокерским API-јима. Испорука је требало да буде исправан C# код у коме се рад лако покреће и зауставља, а пројекат је био пун неизвесности од почетка до краја.

Решење

  • аутоматско праћење: непрекидна контрола кључних финансијских параметара;
  • динамично слање налога: налози се постављају аутоматски, у зависности од стања, преко брокерског API-ја;
  • једноставно управљање: корисник лако покреће и зауставља праћење и слање налога;
  • разумљив код: алат је направљен тако да тим који познаје C лако може да га прати и прилагођава у C#-у;
  • заједнички рад: дељење екрана у реалном времену ради разговора о коду и његовог унапређивања;
  • рад по фазама: пројекат је подељен на пет фаза, ради јасноће и ефикасног извођења.

Коришћене технологије

  • C# програмски језик (programiranje.co.rs): језик апликације.
  • Брокерски API: праћење параметара и слање налога.
  • Алати за сарадњу: дељење екрана и заједничко програмирање у реалном времену.

Резултат

Клијент је добио апликацију која сама прати параметре и шаље налоге, а његов тим је кроз заједнички рад добро упознао њен код.

Утисак клијента

★★★★★5/5

“Дејан је несумњиво мајстор свог заната. Он није само помогао у нашем пројекту; унапредио га је. Путовање од зачетка до завршетка било је пуно неизвесности, али Дејан нас је водио са неупоредивом стручношћу и стрпљењем. Његова комуникација била је доследна, конструктивна и кључна за успех нашег пројекта. Од срца препоручујем Дејана и надам се сарадњи с њим у будућности. Његова посвећеност је неупоредива - прави професионалац. Велико хвала за све!”


DLL за иницијализацију платног пролаза

Рађено у другом кварталу 2021.

Проблем

Клијенту је требала DLL библиотека која повезује и иницијализује GoChipNow платни пролаз. Добио је комерцијални SDK са изворним кодом Windows апликације која те функције већ обавља, а задатак је био да се њене могућности — пре свега подешавање и аутентификација — пренесу у DLL, како би се пролаз лакше и ефикасније уклапао у друге програме.

Решење

Направљена је DLL библиотека на основу добијеног SDK-а и упутстава високог нивоа:

  • иницијализација пролаза: подешавање и аутентификација платног пролаза, за безбедне и поуздане трансакције;
  • коришћење SDK-а: кључне функције издвојене су из изворног кода графичке Windows апликације и пренете у DLL;
  • конфигурациони фајл: подешавања пролаза задају се у фајлу који корисник поставља у фолдер пројекта;
  • промена ID-а терминала: корисник може да промени ID терминала, па се пролаз иницијализује за тачно одређени терминал.

Коришћене технологије

  • DLL (динамичка библиотека): облик у коме се функције пролаза уграђују у друге програме.
  • GoChipNow SDK: основа за функције платног пролаза.

Резултат

Уместо целе Windows апликације, клијент има библиотеку коју уграђује у своје програме и која иницијализује пролаз за задати терминал.


Пренос цена акција из Excel-а у базу преко API-ја

Рађено у четвртом кварталу 2020.

Проблем

Клијент је користио Excel табелу у којој се цене акција аутоматски ажурирају преко Bloomberg додатка. Требало је пратити та ажурирања, препознати сваку промену цене и ажуриране податке одмах послати у одређену базу података преко API-ја. Окружење клијента било је посебно, па је решење захтевало доста прилагођавања да би све радило заједно.

Решење

Направљена је самостална Windows апликација која повезује Excel са базом:

  • праћење у реалном времену: апликација непрекидно прати табелу и уочава сваку промену цене;
  • аутоматско слање података: при промени цене ажурирани подаци одмах одлазе у базу преко задатог API-ја;
  • прилагођено решење: због посебног окружења клијента било је потребно опсежно отклањање проблема и прилагођавање, ради компатибилности и исправног рада.

Коришћене технологије

  • Самостална Windows апликација: праћење Excel-а у реалном времену и повезивање са API-јем.
  • Excel и Bloomberg додатак: извор цена акција уживо.
  • API интеграција: пренос ажурираних података у базу клијента.

Резултат

Свака промена цене у Excel-у стиже у базу клијента у реалном времену, без ручног преноса података.

Треба вам програм повезан са другим системом?

Шта улази у израду, како се одређује цена и како изгледа ток посла, пише на страницама израда Windows програма и сервисних апликација и API интеграције. Погледајте и веб сервисе, API и плаћања и Windows апликације по мери.