Када два система треба да размене податке без човека између њих, пише се интеграција. То се појављује и на сајту, и у Windows програму, и у Office додатку — али је свуда исти посао и носи исти ризик: половина кода зависи од туђег система који не контролишете и који се мења без најаве. Зато је издвојен као засебна услуга, са својом анализом и својом ценом.
Пола посла није у вашим рукама
Код који ја пишем могу да поправим за сат времена. Сервис са друге стране има своја правила, своје квоте и своје кварове, и тамо се чека. Све што следи на овој страници написано је због те једне реченице.
Пролази кроз све остало што радим
Иста интеграција се уграђује у сајт, у Windows програм или у Office додатак. Мења се само екран око ње, а тежина посла остаје иста.
Види се шта је послато
Свака интеграција добија евиденцију: шта је послато, шта је враћено и када. Без тога се после сваке несугласице расправља без доказа, а са њом се за минут види на чијој страни је грешка.
Шта радим
Шест врста посла. Прве три су најчешће и највише их има у портфељу.
Повезивање са туђим сервисом
Ваш софтвер зове туђи: наплата картицом, књиговодствени сервис, курирска служба, добављачев ценовник, СМС или електронска пошта. Пише се позив, обрада одговора, понашање када одговора нема и евиденција која остаје за проверу.
Двосмерна синхронизација
Два система држе исте податке и оба их мењају — сајт и ЕРП, продавница и складиште, ЦРМ и књиговодство. Овде се највише посла крије у питању чија измена је новија и шта се ради када су обе стране мењале исти запис.
Поправка интеграције која је стала
Радило је годинама, па је туђа страна угасила стару верзију, променила начин пријаве или увела ограничење броја позива. Улазим у затечени кôд, налазим шта се променило и враћам везу у рад, без обзира ко ју је писао.
Ваш сопствени API
Када туђи софтвер треба да узима податке од вас — партнер, апликација, сајт или клијентов систем — прави се ваш API: приступни кључеви, права, ограничење броја позива и упутство по коме туђи програмер ради без звања телефоном.
Наплата и електронске фактуре
Плаћање картицом, повраћаји и претплате, као и слање на систем електронских фактура. Ово је посебан случај јер грешка не кошта време него новац, па се ради са поновним покушајима који не могу двапут да наплате исти износ.
Пренос и увоз података
Једнократно пребацивање из старог система у нови или редован увоз ценовника и стања од добављача. Када је посао пре свега у самој бази — шема, индекси, чишћење — то је рад над базом података.
Зашто је ово посебан посао, а не део израде
Када правим екран, базу или извештај, знам све учеснике и све могу да исправим. Код интеграције то није тачно, и због тога се другачије процењује, другачије тестира и другачије наплаћује. Ових шест ствари се појављује скоро у сваком таквом послу:
- Документација не одговара стварности. Поље које по упутству увек постоји понекад стигне празно, а пример из документације враћа грешку. Први део посла је да се утврди како се сервис заиста понаша, а не како пише.
- Пријава и кључеви. Лозинка, токен који истиче, OAuth прозор у коме неко мора да кликне, сертификат са роком. Сваки од тих начина другачије се обнавља и сваки уме да обори везу у три ујутру.
- Ограничења броја позива. Сервиси рачунају позиве и наплаћују их или их одбијају. Зато се прави ред чекања и памти шта је већ преузето, уместо да се сваки пут повлачи све.
- Туђа страна се мења без најаве. Верзија се гаси, поље мења назив, услови се пооштре. Интеграција се пише тако да се то види одмах и на једном месту, а не кроз три месеца по притужби купца.
- Грешке које долазе и пролазе. Сервис падне на два минута. Посао не сме ни да стане ни да се изврши двапут — зато поновни покушаји и правило да исти налог не може бити послат два пута.
- Пробно окружење није продукција. Тестни сервис често прима оно што прави одбија. Део посла се зато може затворити тек на вашим стварним подацима и вашим налозима.
Због свега тога интеграција и на другим страницама носи своју цену — на пример код Office додатака одвојен је локални посао од оног са везом ка туђем сервису. Овде је тај део посла описан на једном месту, да се не би понављао пет пута. Интеграција вештачке интелигенције је посебан случај исте приче: и то је веза са туђим сервисом, само што тамо одговор на исто питање не мора двапут бити исти, па има своју страницу и своју анализу.
Урађено
Интеграције су присутне кроз цео портфељ, јер се појављују у свакој врсти софтвера коју радим.
- Све интеграције — петнаестак радова, од размене са књиговодством до преузимања података од добављача.
- Наплата и е-трговина — Stripe Checkout, наплата на сајту и у продавници.
- Пословни сервиси — Xero за књиговодство, Dropbox за размену датотека.
- Аутоматизација — послови који се извршавају сами, ноћу, без отвореног прозора.
Два готова производа су настала баш из оваквог посла: СЕФ додатак за Excel и Word-GPT VSTO додатак.
Како посао иде
- Кажете која два система треба повезати и шта би требало да се дешава — на пример „када купац плати на сајту, фактура да уђе у књиговодство".
- Анализа туђег API-ја. Читам документацију, правим пробне позиве вашим налогом и утврђујем шта је уопште могуће. Ово је једини део који се не може прескочити, јер се без њега не зна ни цена ни да ли посао има решење.
- Понуда за договорени обим. После анализе добијате фиксну цену и списак случајева који су покривени, укључујући и оно што се ради када туђа страна не одговори.
- Рад на пробним налозима где год их туђи сервис нуди, па провера на вашим подацима пре пуштања у рад.
- Предаја. Добијате кôд, кључеве на своје име, евиденцију позива и кратко упутство шта да урадите када туђа страна промени правила.
Цене
Исти распоред као код осталих услуга: прво анализа, затим захват са познатом улазном ценом, а ситне дораде по сату.
Први корак
Анализа се плаћа и поручује прва, а одбија се од цене посла ако наставимо. Ако се испостави да туђи сервис не дозвољава оно што вам треба, то ћете сазнати после анализе, а не после плаћеног развоја.
Захвати
Мање измене на интеграцији која већ ради не морају да иду кроз захват: за њих постоји рад по сату, где се плаћа утрошено време. Цео ценовник стоји на страници цена.
На шта се обавезујем
Шта није обухваћено ценом
Пишем ово да бисте цену разумели пре поруџбине, а не после. Све са списка могу да урадим, али се договара и наплаћује посебно.
Шта да припремите пре почетка
Власништво и излаз
- Налози и кључеви гласе на ваше име. Приступ туђем сервису отварате ви, па веза наставља да ради и ако се никада више не чујемо.
- Изворни кôд је ваш, заједно са описом свих позива који се користе.
- Евиденција остаје код вас. Записи о послатом и примљеном чувају се на вашем серверу, а не код мене.
- Без посредника у средини. Ваш софтвер зове туђи сервис непосредно; не уводим свој сервер кроз који би ваши подаци морали да пролазе.
Често постављана питања
Која два система треба да разговарају?
Напишите који су то системи и шта би требало да се дешава. Ако је веза могућа, рећи ћу вам како се ради и колико отприлике кошта; ако није, рећи ћу и то, пре него што било шта платите.
Пошаљите упитУглавном одговарам исти дан.

Оставите одговор