 |
| |
Mikanović S. Radenko
SMS Gateway aplikacija |
|
Od prve poslane SMS poruke,
svi oni koji se iole profesionalno bave informacionim tehnologijama
(programiranjem, Internetom,...) žudeli su da koriste ili sami razviju
aplikaciju kojom je omogućeno slanje SMS-a preko Internet-a (Web2SMS),
slanje SMS-na e-mail (Sms2SMTP). Ovim zahtevima najbrže su izašli
u susret neki umetnici na web stranama Quios i eXcell, ali su ovi
servisi vrlo brzo prerasli u komercijalne, čime je interesovanje
za njih bitno splasnulo (samo kod nas). Korisnik iz naših krajeva
(čitaj Srbije), uvek očekuje da mnogo toga može da dobije besplatno,
ali je poznato da takve usluge nisu pouzdane i dostupne su ograničen
vremenski period. O ovim servisima sam pisao početkom 1998-e, a
nadam se da ste vi o tome čuli dosta.
Ovoga puta ću vam predstaviti servis SMS Gateway i koncept integracije
Windows i Web aplikacije. Neću pisati o poverljivim detaljima (mada
mi to nije osobina), jer je investitor ovog projekta tražio zaštitu
na par meseci, ali mogu vam predstaviti kako to sve funkcioniše
na način da to bude razumljivo i onima koji se ne bave baš programiranjem.
Kako je sve počelo
Kompanija Metropolis Group (MG) se bavi poslovima prometa nekretnina,
ima 8 članica (agencija) i, po mojim saznanjima, radi svoj posao
korektno prema mušterijama i prema državi. Za MG već godinu dana
radim na razvoju nekoliko manjih aplikacija, a dugoročni naš posao
je rešenje informacionog sistema na takav način da agent, zaposlen
u ovoj grupaciji, može svoj posao da obavlja od kuće (računar da
ne pominjem). Direktor kompanije MG, pored svojih poslovnih obaveza,
voli da istražuje i koristi sve prednosti informatike, da poboljša
poslovanje i informisanost mušterija i zaposlenih. Često me iznenađuje
svojim dobrim idejama, ali me me je, septembra 2003-e, toliko iznenadio
da nisam verovao da ću ispuniti zahtev koji je glasio: "želim
da omogućim agencijama da šalju SMS poruke svojim kupcima kada u
agenciju stigne odgovarajući stan". Tačno je da je takva ideja,
u našem zajedničkom timu, provejavala krajem avgusta, tek kao čista
vizija rada u nekoj dalekoj budućnosti. Ovoga puta smo imali i rezultate
njegovog istraživačkog tima, koji su jasno ukazivali da vizija može
da se ostvari vrlo brzo i uz relativno mala ulaganja.
Odmah su nam se ukazala dva potpuno različita koncepta: 1) SMS Gateway-a
(čvorište sa Web aplikacijom) ili 2) oslanjanje na softversko rešenje
nekog od proizvođača mobilnih telefona, a kako je SMS Gateway daleko
fleksibilniji, brži, dinamičniji za održavanje i administraciju,
opredelili smo se za njega.
Zadatak, resursi i podrška
Zadatak softvera je bio da omogući:
1) unos i ažuriranje podataka o potražnji (kupcima) nekretnina
2) razmenu tih informacija sa drugima u okviru MG grupacije
3) unos podataka o ponudi nekretnina
4) pronalaženje slaganja ponude i potražnje
5) slanje SMS poruka kupcima.
Posle par sati vršljanja po Internet-u, došao sa do poraznih saznanja
da sam bio u zabludi kako sam u ovome pionir. Sve mi se učini dosta
komplikovanim i skoro reših da kupim kompletno softversko rešenje
koje se u inostranstvu nudi po ceni 300-500 evra, ali rekoh sebi:
"uradi to sam da ne budeš puki korisnik ili posrednik".
Na samom početku rada na ovom projektu, pomislio sam da je dobro
zatražiti podršku od domaćih GSM provajdera, jer je bilo realno
očekivati da ćemo manje platiti domaćem nego nekom inostranom provajderu.
Iz MG tima su me upozorili da je to gubljenje vremena, jer se razvojni
sektor domaćih GSM provajdera još uvek bavi razvojem najskupljih
servisa, odnosno drži se pravila da razvija samo ono što može skupo
prodati, a promocija VIVO i MMS-a je to i potvrdila. Nisam tako
mislio pa sam se obratio Mobtelu i Telekomu, a odgovor dobio samo
od Mobtel-a. Gospoda iz Mobtel-a pravila se neuka i uglavnom se
interesovala "za šta to želim da koristim", nudili mi
njihov Web2SMS servis (čime sam otkrio da me uopšte nisu razumeli),
pa sam i ja uvideo da sa njima samo gubim vreme.
Za vrlo kratko vreme zakupili smo prava na korišćenje SMS Server-a
u inostranstvu, dobili svu potrebnu dokumentaciju i počeli razvoj
Web aplikacije kao čvorišta (PHP & MySQL), a zatim i Windows
aplikacije za korišćenje iz svake agencije ponaosob. Softverskom
rešenju dat naziv MG SMS Info. Sa stanovišta programera, trebalo
je omogućiti sledeći proces:
Windows aplikacija -> Web aplikacija -> SMS Server
Mada SMS Server nudi razne pristupe (EMAIL to SMS, FTP Upload, COM
Object,...) nismo dozvolili direktan pristup SMS Serveru, jer smo
hteli da bolje kontrolišemo sub-user-e, unapređujemo rad njihove
aplikacije i razvijamo još neku aplikaciju koja će biti usmerena
na isto čvorište. Sada, posle dva meseca rada, se vidi da je to
bio ključni korak, jer je administracija vremenski svedena na par
minuta nedeljno, a dalji razvoj nije ograničen.
Sintkasa pristupa SMS Serveru se može podeliti u dva segmenta (primeri
u PHP-u):
otvaranje sesije:
$url = "$baseurl/http/auth?user=$user&password=$password&api_id=$app_id";
i korišćenje sesije za izvršavanje komande:
$url = "$baseurl/http/sendmsg?session_id=$sess_id&from=$from&to=$to&queue=
1&deliv_time=$deliv_time&text=$text";
a u nastavku je dat samo mali deo omogućenih argumenata:
|
argument
|
opis
|
|
password
|
password |
|
user
|
korisničko ime |
|
api_id
|
API product ID - identifikacija klijenta za korišćenje
aplikacije na serveru (omogućava da serveru mogu potojati dva
ista korisniča imena, jer ih razlikuje api_ID) |
|
concat
|
Split long messages into smaller messages where
needed |
|
deliv_time
|
vreme (u minutama) do slanja poruke,
omogućava zakazivanje slanja |
|
from
|
GSM broj ili ime pošiljaoca poruke (dužine između
1 i 16 karaktera bez spacijalnih znakova) |
|
max_credits
|
maksimalni iznos kredita za slanje poruke (za
našu mrežu 381 kredit za slanje jedne poruke iznosi 1), a usko
je vezan za tip poruke |
|
msg_type
|
opcioni izbor tipa poruke (SMS_TEXT, SMS_FLASH,
SMS_NOKIA_OLOGO, SMS_NOKIA_GLOGO, SMS_NOKIA_PICTURE, SMS_NOKIA_RINGTONE,
SMS_NOKIA_RTTL, SMS_NOKIA_CLEAN, SMS_NOKIA_VCARD, SMS_NOKIA_VCAL) |
|
session_id
|
sesija, otvorena za slanje jedne ili više komandi |
|
text
|
sadržaj poruke (SMS) |
|
to
|
lista (do 300) primaoca, odvojenih zapetom, bez
prefiksa '00' ili '+' |
|
validity
|
vreme u minutama, kojim se definiše validno vreme
odašiljanja, pa ako se za ovo vreme poruka ne pošalje sa servera,
on će je otkazati (npr. zbog opterećenja destinacione mreže) |
Ovde je momenat da se naglasi da usluga neće biti
naplaćena ako poruka ne bude upućena, dok se izveštaj o istoriji
slanja poruka može dobiti na jednostavan način. Dešava se da korisnik
servisa pošalje 3 poruke na 100 primaoca, a posle očekuje da je
potrošio 3 kredita, ali nije tako - jer se tarifira broj primaoca,
a slanje poruke na grupu je prednost koju možete, ali ne morate,
koristiti.
Izgled osnovnog intrefejsa programa MG SMS Info je prikazan na sledećoj
slici:
gde se može uočiti da je stanje računa potpuno automatizovano,
kao i Update same aplikacije, a sve kao prednost razvijanja čvorišta.
Performanse
SMS Server, čiji su resursi zakupljeni, predstavlja
najveći ovakav sistem u svetu, a to smo zaključili po tome da svi
najbolji programi slični ovom našem, koriste baš ovaj server. Lepih
strana ovog servera ima mnogo, ali bih istakao sledeće:
1) neogranočen broj pod korisnika jednog otvorenog računa
2) stanje računa možete da dobijete za 2-3 sekunde,
3) SMS poruke, čije slanje ne bude uspešno (npr. nepostojeći broj
primaoca), se ne naplaćuju,
4) do 300 primaoca jedne poruke,
5) odlično razvijen sistem ažuriranja sub-user-a (za programere/administratore)
6) mogućnost tempiranja vremena slanja sa servera,
7) mogućnost deljenja velike poruke na više manjih, jer je SMS statndardizovan
na 160 karaktera
8) pošiljalac može da uzme bilo koji identitet, što znači da možete
da pošaljete poruku sa identitetom 'TVOJA_VOLJENA' ili koristite
broj svoj GSM broj.
Jedina mana, koju sam ja uočio je nešto sporiji odziv u sistemu
elektronskog plaćanja usluga (uplata može da kasni i do 5 dana),
a što će biti sigurno usavršeno. Cena oko 3 din/sms uopšte nije
velika kada se uzme u obzir da od momenta slanja do trenutka prijema
poruke protekne tek 2,5 sekunde i da se greške (bilo kog oblika)
ne tarifiraju.
Performanse našeg čvorišta na Web-u su takve da može da obezbedi
oko 100 SMS poruka samo u 1 sekundi, ali daleko od toga da će nam
takva frekvencija uskoro zatrebati, pa ako vama zatreba sličan servis
- obratite se autoru ovog teksta.
Na sledećoj slici je prikazan izgled interfejsa prilikom kreiranja
poruka za kupce (iz programa MG SMS Info):
Windows aplikacija zahteva PC Pentium II sa 64 MB
RAM-a i modemom. Čak i loš DialUp ne predstavlja problem jer je
vreme provedeno na vezi izuzetno kratko. Kroz MG SMS Info se poruke
mogu pripremiti u OffLine režimu rada, a kasnije, po uspostavljanju
Internet konekcije, sve pripremljene poslati. Sve poslane poruke
ostaju u arhivi, omogućeno je njihovo dupliciranje, ali ne i brisanje.
Rad u aplikaciji je krajnje jednostavan, ne traži veliko poznavanje
korišćenja računara, a obuka za korisnike traje oko 60 minuta.
Na sledećim slikama je prikazano kreiranje i slanje jedne slobodne
poruke:
Budućnost
Nekom brzo, nekom sporo, ali nas uporno sustiže.
Rečenica ima toliko smisla, koliko i naše velike korporacije, koje
se bave informacionim i telekomunikacionim tehnologijama (trgovinom,
uslugama i razvojem) imaju odgovornost u pružanju usluga. Ako oni
od nekog posla, ne bi mogli da zarade 20 puta više nego što su uložili
- u posao ne ulaze. Zbog ovoga, mi kao korisnici mnogo gubimo, jer
nam se nude samo skupe i laičke usluge (041, VIVO, MMS) zasnovane
na brzom bogaćenju davaoca usluga, a sve ono što omogućava ekonomičnije
i efikasnije korišćenje novih tehnologija se ostavlja za budućnost
i nekom drugom.
Cene telekomunikacionih usluga su među najskupljima u svetu, ali
su zato po kvalitetu među poslednjima. Jedan moj kolega (zasposlen
kod GSM provajdera na Kipru) je ovo ilustrovao ovako:
"Zamisli da imaš 3 supermarketa, da niko ne kontroliše po kojim
cenama prodaješ i da ti nudiš ta tri tražena artikla. Dovoljno si
pametan da: 1. podigneš cene artikala; 2. rasporediš u svaki supermarket
po jedan artikal (stvara osećaj nestašice i konkurencije) i podigneš
cenu artikala; 3. izmisliš uslugu pakovanja i podigneš cenu artikala;
4. dozvoliš uličnu prodaju, ali prethodo... (naravno) podigneš cenu.
Dakle, sav biznis ti se svodi na podizanje cena, a GSM provajderi
u Srbiji baš to igraju - monopol."
Konkurencija im ipak preti iz inostranstva pa će tako naši GSM trgovci
dobijati sve manje velikih i dugoročnih projekata, a domaći projekti
će se sve više realizovati negde u inostranstvu, jer je kvalitet
daleko bolji, a cene manje čak i kad se uzmu u obzir i sve dodatne
dažbine prema inostranstvu (najverovatnije destinacije Grčka, Kipar,
Južnoafrička Republika,...).
U međuvremenu (dok sam ja kasnio sa ovim člankom), a kao rezultat
mog otpora na totalnu nezainteresovanosti domaćih GSM provajdera,
počelo se i sa idejom razvoja SMS Info Servera, koji bi davao detaljne
informacije na zahtev upućen preko SMS-a u standardizovanom formatu.
Promocija ovog projekta se očekuje krajem februara 2004-e, a ono
što je za sada sigurno je samo to da će u ovom projektu mnogi videti
ono što čini savremeni, najracionalniji i najbrži sistem poručivanja
informacija i da će se zasnivati na konceptu: poručilac preko SMS-a
-> upit na bazu podataka -> vraćanje rezultata pošiljaocu.
Nešto slično imaju kod nas samo GSM provajderi, ali su usluge ovakvih
sistema nepotrebno skupe, ako izuzmemo sisteme koji omogućavaju
plaćanje (roba ili usluga) preko SMS servera.
Razmislite i uočićete da pozitivnim idejama u razvoju ovakvog sistema
nema kraja, a uvek će biti onih koji nude i onih koji traže informacije.
Još ako je sistem ekonomičan, racionalan, samoodrživ i bezbedan,
biće i korišćen.
Rezime
Vreme utošeno u razvoje navedenog SMS Gateway sistema
se meri u nedeljama, ali, posle trnovitog puta, vidi se svetlost
u daljini - sada bih to mogao da završim i za 3 dana. Pretpostavlja
se, da naručilac ima potpuno jasnu sliku šta želi i dokumentovan
model baze podataka koju koristi. U sledećem članku ove teme, planirao
sam da vam prikažem detalje programiranja ovakve aplikacije, a kako
mi je za to potrebno više vremena i odložićemo to na par nedelja.
|