Fujitsu-Siemens
 
M A G A Z I N
 
SOFTWARE 
  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.

 

 

VRH STRANE

(c) 2004 OMEGA - sva prava zadržana