S o f t v e r
PC home - osnovna strana
PC #58 - Jul 2000PC #58 - Jul 2000

Strategija gradnje

   Office 2000 Developer je u poslovnom okruženju zauzeo važno mesto koje je donedavno pripadalo isključivo programskim jezicima. Kakve su perspektive na taj način dobijenih rešenja u poslovnom okruženju?
Dragan Grbić

    U fizičkoj organizaciji poslovnih aplikacija danas su zastupljena dva glavna koncepta. Prvi je tzv. thin-client obrazac, koji se zasniva na "glupim" terminalima koji služe kao pristupne stanice glavnom računaru na kome se sve izvršava. Drugi koncept je tzv. rich-client, metod povezivanja radnih stanica koje mogu da funkcionišu i samostalno. To su personalni računari koji istovremeno nude i sopstvenu procesorsku snagu i interfejs ka resursima mreže.

    Prvi koncept rešava probleme multiplatformske primene, jer jednom host sistemu (mainframe ili Terminal server) mogu da pristupaju radne stanice različitog hardvera i sistemskog softvera. Druga osobina ovog okruženja je uniformnost - koristi se jednoobrazni softver koji radi na host-u, mada se u nekim slučajevima to može smatrati i nedostatkom. Koncept rich-client organizacije se oslanja na fleksibilnost postojeće, uglavnom jedinstvene platforme, čiji softver radi tako da može brzo da odgovori na potrebe koje nisu unapred projektovane.

Korak dalje


Tri boje čine tri sloja: jedinstveni interfejs može da interpretira podatke iz svih izvora

    Poslednjih desetak godina razvoja korisničkog softvera za poslovne namene je obeležen dramatičnim obrtima i razvojem koji je malo ko mogao da predvidi. U vremenu velikog porasta interesovanja za Windows, Microsoft je pronašao svoju šansu razvijajući programe paketa Office u smeru koji prevazilazi prostu (preciznije rečeno pasivnu) korisničku primenu. Cilj je postignut, klijentski programi kao što su Access, Word i Excel pretvoreni su u prave front-end aplikacije u mrežnom ambijentu. Danas su to moćni programi koji u potpunosti zadovoljavaju svoju osnovnu svrhu pripreme, obrade i prezentacije podataka u raznim oblicima.

    Moguće je učiniti i korak dalje: svi programi se mogu adaptirati tako da u združenoj okolini (međusobno i u sprezi sa programima na serveru mreže) formiraju sistem komponenti kojima se može napraviti proizvoljna struktura za obradu podataka. Te strukture mogu imati oblik posebno pisanog programa ali, sve češće danas se koriste gotovi, ali adaptirani klijentski programi i tako pripremljenu programsku strukturu nazivamo integrisanim rešenjem.

    U opštem slučaju, integrisana rešenja u Microsoft Office-u su zasnovana na konceptu rich-client organizacije, mada pojavom Windows NT Terminal Server-a, a potom i Windows-a 2000 ta granica prestaje da bude oštra. Sa stanovišta terminologije (pa i marketinga), Microsoft nije prezao ni od izmene slike o logici mrežnog informacionog sistema, sve u cilju promocije svog pogleda na jedinstveno realizovani sistem. Pre dosta vremena, Microsoft je pokušavao da šemu sedam OSI slojeva svede na priču o tri sloja, pod izgovorom praktične implementacije. Takvo "skrnavljenje" teorije nije naišlo na odobravanje, pa se došlo do novije terminologije: three-tier solution je šema na kojoj se zasniva i projektuje strategija zvana Digital Nervous System (DNS). Reč je o "velikoj slici" kojom Microsoft pokušava da osvoji svet korporativne primene softvera, a u kojoj se doslovno svaka aktivnost vodi uz pomoć informacionih tehnologija ili bolje reći - zasniva se na njima.


Prepoznatljiva šema relacija u Access-u, ali podaci su na SQL Server-u

    Šema rešenja se zasniva na tzv. slojevima pravila: temelj čine pravila organizacije podataka, srednji sloj sadrži skup poslovnih pravila na osnovu kojih se grade aplikacije i upravlja podacima, dok vrh čini interfejs, zapravo sredstva i metode eksploatacije informacija (prikupljanje, obrada, analiza i prezentacija svih oblika podataka). Sloj interfejsa karakteriše skup velikog broja jednostavnih radnji, gde se često izvode iste operacije nad različitim podacima, ali i obrnuto - nad istim skupom podataka se obavljaju različite radnje. I upravo na tom mestu dolazimo do poente današnjeg izgleda Microsoft Office-a: dužnost ovog paketa programa je da obezbedi punu interakciju korisnika sa poslovnim sistemom, uobličenim u organizovani skup različitih podataka.

    U prošlom broju "PC"-ja imali ste prilike da se upoznate sa sadržajem paketa Microsoft Office 2000 Developer i sa opštim mogućnostima koje nudi. Podsećamo vas i na članak "Rešena jednačina: Office = intranet" iz "PC #55", gde smo vas upoznali sa osnovnim principima interakcije Office-a sa resursima intraneta. Ovaj put zaokružujemo priču, kao i seriju tekstova o Office-u 2000, raspravom o strateškim mogućnostima ovog paketa u poslovnom ambijentu iz ugla aplikativne primene.

Od podatka do informacije

    Jedna od školskih definicija u teoriji informacija glasi: "razlika između podatka i informacije je u tome što informacija ima kontekst". Današnja informatička praksa je obeležena nastojanjem da se u najkraćem vremenu formira organizovan pogled na podatke u unapred nepredvidljivom kontekstu. To nije novo, ali je nova činjenica da to postaje dominantan oblik rada informacionog sistema, centralna aktivnost u kojoj informacioni sistem treba da iskaže svoju vrednost.

    Moderni menadžer je samo povremeno zainteresovan za klasične bilansne izveštaje, njega interesuje trenutno stanje u korelaciji sa drugim proizvoljnim podacima, na osnovu čega će doneti poslovnu odluku. Planeri i analitičari žele da imaju na raspolaganju sve moguće brojke, koje će kombinovati shodno prilici, a po unapred nepoznatim obrascima. Zato je razvijen koncept data warehouse, struktura koja sadrži najrazličitije oblike podataka organizovanih na rudimentarnom nivou, ali povezanih u sloju poslovnih pravila tako da se mogu lako koristiti. Microsoft-ova interpretacija ovog koncepta je oličena u tzv. OLAP (online analytical processing) bazama, koje se organizuju na SQL Server-u. Tzv. OLAP "kocke" sadrže stored procedure koje optimizuju strukturu za različite upite. Svaka Office aplikacija ima na raspolaganju link ka raznim bazama podataka, među kojima OLAP zauzima centralno mesto. Tako je, na primer, moguće formirati izvedenu tabelu u Excel-u koja analizira uzorak podataka velik na stotine gigabajta, a da se rezultat dobije u roku od samo nekoliko sekundi.


Jedan obrazac povezan sa nekoliko linija koda...

    Čest je slučaj da fizički obuhvat podataka određuje i kontekst primene i lokaciju na kojoj se podaci nalaze. Na primer, neki poslovođa želi da raspolaže informacijama koje se tiču samo prometa u njegovoj prodavnici, pa baza transakcija može da počiva na lokalnom serveru. Da bi te informacije dobile kontekst u čitavom trgovačkom preduzeću, potrebno je da se integrišu u centralnu bazu. Zbog toga u Office-u postoje efikasni metodi i alati za replikaciju i migraciju podataka, koji u odgovarajućoj komunikacionoj infrastrukturi mogu biti potpuno transparentni za tog poslovođu. Štaviše, Access 2000 je promovisan kao glavna front-end aplikacija za podatke na SQL Server-u, pa migracija podataka iz lokalnog u mrežni okvir može da prođe gotovo neprimetno za krajnjeg korisnika.

    Prezentacija obrađenih informacija je vitalno važan postupak. Od tradicionalne štampe izveštaja verovatno se nikad neće odustati, ali papir je spor medijum ako izveštaj mora da dođe do velikog broja ljudi. Maloj grupi ljudi na nekom sastanku izveštaj će se možda plasirati u PowerPoint-u, ali velikoj i dislociranoj populaciji korisnika danas se najbrže prilazi putem Web-a. Potpuna integracija svih sadržaja napravljenih u Office-u obezbeđuje i konverziju u HTML oblik. U poslednje vreme i elementarne transakcije se obavljaju na ovaj način, a tu na red dolazi integracija XML formata, koja je već implementirana u Office. Da bi se postigao optimum brzine, treba samo automatizovati procese izrade izveštaja.

Prototip je možda dovoljan

    Svako integrisano rešenje je, na neki način, odgovor na pojedinačni zahtev ili potrebu. Projektant koji dobro razume problem ima priliku da napravi novu Office strukturu pomoću alata u Office Developer-u tako da ona bude prilagođena nivou stručnosti i iskustva krajnjeg korisnika. Jedna od najlepših osobina Office-a kao razvojnog sistema je mogućnost projektanta da brzo izradi prototip aplikacije i da se potom pokaže da dalje nije potrebno trošiti resurse na rešenje. "Redovno" okruženje svakog Office programa često pruža dovoljnu udobnost interfejsa da neka ugrađena struktura bude funkcionalna odmah.


...veza sa bazom podataka i - komponenta je gotova

    Zamislimo da treba napraviti Office komponentu za kopiranje podataka iz baze, koja može biti funkcionalna u više programa. U VBE je formiran novi projekat, koji čine jedan obrazac (UserForm), jedan neveliki VBA modul i komponenta DataEnvironment koja povezuje obrazac sa bazom. U ovom primeru se povezuje jedna tabela MDB baze, recimo da je to lista komitenata. Projekat je sačuvan kao DLL komponenta koja se može koristiti u više programa, dakle ovo je posao za koji je iskusnom programeru potrebno petnaestak minuta. DLL datoteka je potom povezana kao referenca VBA projekta Excel dokumenta, pri čemu novi objekti komponente postaju izloženi programu. Radnoj svesci se dodeljuje mali toolbar povezan sa kratkim makroom koji otvara MDB bazu i inicira obrazac komponente. Klikom na taster, otvara se obrazac u čijem jednom oknu se "overi" checkbox pored jednog ili više imena komitenata, a u drugom se odaberu polja koja treba da se uvezu. Potvrdom izbora, sva označena polja odabranih slogova se kopiraju u ćelije radnog lista.

    Odgovarajućom pripremom makroa u Word-u isti posao se može izvesti tako da se podaci uvezu u tabelu dokumenta. Moguća je i dalja stilska vežba: neki HTML dokument se može učitati sa intraneta u Word, a neki podaci u tabeli tog dokumenta se uz pomoć ove komponente mogu zameniti drugim podacima. Klik na Save i podaci u intranetu su osveženi! Obratite pažnju na akcije krajnjeg korisnika: u čitavoj proceduri nije bilo ni jednog poteza koji korisnik ne bi umeo da izvede nakon pohađanja elementarnog kursa o Word-u. U tome je gotovo poenta integrisanog rešenja - efekat jednostavnosti i u izradi i u primeni. Opisani primer je trivijalan, ali integrisano rešenje bilo kog stepena složenosti, ako je valjano napravljeno, neće biti ništa komplikovanije u primeni, osim možda u količini obrazaca i koda i broju opcija. O vremenu koje iskusni projektant/programer utroši na gradnju prototipa da i ne govorimo.


Izbor podataka, klik na OK...

    Pogledajmo šta se dešava tokom života integrisanog rešenja: pretpostavimo da jednog trenutka podatke treba migrirati iz MDB baze na SQL Server. Da bi integrisano rešenje "preživelo", potrebne su dve operacije: sama migracija podataka, koja se obavlja uz pomoć Access-ovog čarobnjaka, i izmena svojstva komponente DataEnvironment, koja se preusmerava na drugi izvor podataka u tabeli. Kako bi se izbegla promena makroa u šablonima i dokumentima, to će se izvesti kroz pogled u staroj MDB bazi, koja sada umesto tabela ima reference ka SQL tabelama.

    Kada se napravi nova DLL datoteka, uz pretpostavku da je prethodna verzija bila smeštena na mrežni disk, krajnji korisnici neće primetiti promenu i nastaviće da koriste integrisano rešenje kao i ranije. Ukoliko projektant odluči da, zbog boljih performansi, napravi direktnu vezu ka tabeli na SQL Server-u umesto kroz sloj MDB baze, promeniće i makroe u šablonima dokumenata, pazeći da šabloni osveže i stare dokumente pri sledećem otvaranju (to mora biti global template). Kratka pouka ove analize glasi: uz blagovremenu organizaciju osnovnih struktura Office-a na serveru mreže i pažljivo izvedenu promenu verzije integrisanog rešenja, korisnici neće primetiti promenu, ali će raditi efikasnije.

Cena efikasnog sistema

    Iako svaki korporativni informacioni sistem zahteva prisustvo i angažovanje stručnog inženjerskog kadra, a osnovna cena korporativnih licenci Microsoft-ovog softvera nije mala stavka, već na prvi pogled postaje jasno da je koncepcija integrisanih rešenja rentabilna i efikasna u sistemu bilo koje veličine. Razvijeni svet je neumoljiv u večitom ispitivanju ekonomskih parametara i realni pokazatelji primene Microsoft Office-a postoje.


...i podaci su u radnom listu!

    Na osnovu studija praktične primene Office-a 2000 kao glavnog front-end sistema korporativne mreže, napravljena je analiza cene i efikasnosti u odnosu na gradnju klasičnih aplikativnih rešenja u klijent-server okruženju. Dok je za izradu kompletnog klasičnog sistema aplikacija bilo potrebno od šest do petnaest meseci, rešenje istog tipa u integrisanom okruženju baziranom na intranetu i Office-u se realizuje za tri do osam meseci, uključujući obuku personala - dakle, duplo brže. Postavljanje, razvoj i obuka po radnoj stanici u klasičnom okruženju košta oko 10-12,000 USD, dok isti ambijent zasnovan na Office rešenjima košta oko 3,000 dolara. Razlika u ceni razvoja i održavanja sistema u periodu eksploatacije je relativno mala, ali je pritom računata samo osnovna, projektovana namena sistema, dok se uopšte nije kalkulisalo sa mogućnošću svakog korisnika da korišćenjem programa samostalno prilagođava podatke svojim potrebama.

    Ovo je sasvim dovoljno kao preporuka, ali se treba setiti da je Office 2000 Developer danas moćan sistem za gradnju korisničkih aplikacija koje se isporučuju krajnim korisnicima, a ne samo ambijent za gradnju lokalnih rešenja. Time se Office, u neku ruku, preklapa sa funkcijama paketa Visual Studio. Uverili smo se u osobine ovog razvojnog sistema i znamo da ova tvrdnja ne zvuči naivno, iako bi se "pravi programeri" tome mogli usprotiviti.

    Poslednja decenija je zbilja obeležila gotovo potpunu promenu načina projektovanja, implementacije i korišćenja korporativnih informacionih sistema u svetu. Kroz nekoliko iteracija informacione tehnologije su sazrevale pa se, osim o tehnološkom napretku u hardveru i softveru, može govoriti i o napretku shvatanja korisnika da je kvalitetna informacija najznačajniji resurs poslovnog sistema. Nažalost, to vreme se poklapa sa decenijom teških ekonomskih uslova u našem okruženju, zbog čega se nije stiglo daleko u realizaciji sličnih ideja. Konkretno, Microsoft Office se danas kod nas mahom koristi kao prosti skup "dobrih programa", a ne kao moćni i fleksibilni sistem za eksploataciju informacija. U tom svetlu, priča do čijeg kraja smo došli može da liči na opskurno tehničko štivo ili na loš SF roman. Budite uvereni da smo samo učinili pokušaj da vam skrenemo pažnju na Office kao na jedan od najefikasnijih resursa na tržištu poslovnog softvera. Ne stidite se da programirate u Office-u: iznenadićete se koliko je lako rešiti probleme koji se "od nule" teško programiraju.

KORISNA ADRESA:
CET, Knez Mihajlova 6/VI, Beograd, tel. 011/3281-614


    PC home - osnovna strana Novi broj|Arhiva|Pretrazivanje svih brojeva|O nama
Pretplatite se na PC|Oglasavanje u casopisu PC|Postanite saradnik casopisa PC|Pitanja i komentari u vezi casopisa