Program konference
Torek, 13.6.2006
   
9:00
Otvoritev konference
   
9:15 - 10:00
Vabljeno predavanje
  Jose M. Cavanillas Vice-Chairman - NESSI Steering Committee
The Future of software and services
 
10:10 -11:45
Od storitvene arhitekture do poslovnih procesov in obratno

Matjaž B. Jurič
Procesi, BPEL in iterakcija z uporabniki

V prispevku se bomo ukvarjali s poslovnimi procesi v BPEL, ki so ne samo sestavni, ampak ključni del realizacije storitvenih arhitektur (SOA). Poslovni procesi velikokrat zahtevajo interakcijo z uporabniki. Tipični primeri so potrjevanje določenih aktivnosti ali sprejemanje odločitev. Da bi ugotovili, kako so interakcije z uporabniki podprte v BPEL, bomo opisali, analizirali in primerjali dve rešitvi: modeliranje delovnih tokov kot storitev in uporabo razširitev, kot jih predlaga BPEL4People. Videli bomo, da je pristop z uporabo storitev zelo fleksibilen, vendar zahteva poenotenje na nivoju vmesnikov. BPEL4People pa je v tem trenutku še v zgodnji fazi razvoja in še ne uživa podpore v strežnikih.

 

Matevž Gačnik
Sodelovanje storitev in delovnih tokov

Microsoftova platforma se razširja z naborom imenskim prostorov, ki so del tehnologij pod krovnim imenom WinFX. WinFX predstavlja nabor razširjenih funkcionalnosti, ki delujejo na ogrodju Microsoft .NET 2.0.

WinFX je trenutno sestavljen iz treh ključnih tehnologij – Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) in Windows Presentation Foundation (WPF). V prispevku se bomo posvetili WCF in WF, ki omogočata podporo storitvenim arhitekturam in delovnim tokovom znotraj platforme Windows.

Microsoftov odgovor na orkestracijo poslovnih procesov in storitev se skriva v integraciji omenjenih tehnologij. Gre za splošno podprte tehnologije, ki bodo prisotne na vseh strežnikih in delovnih postajah, ki bodo uporabljale prihajajoči val operacijskih sistemov Windows Vista.

Tehnologija Windows Workflow omogoča definicijo stanjskih in sekvenčnih delovnih tokov, s podporo za hibernacijo in persistiranje delovnega toka med izvajanjem. Modularna arhitektura omogoča poljubno nadgrajevanje s samostojnimi serializatorji XML in/ali ostalimi storitvenimi servisi, ki dovoljujejo vpogled v stanje delovnega toka, performanse in komunikacijo z zunanjim svetom.

Prispevek poudarja točke integracije med tehnologijo WCF (storitvena podpora) in WF (podpora delovnim tokovom) in primerja osnovne koncepte orkestracije glede na druge velike ponudnike programske opreme.

 

 

Peter Repinc, Silvo Koren
Prenova informacijskega sistema z vpeljavo storitvene arhitekture

V začetku devetdesetih let smo začeli z razvojem informacijskega sistema, ki podpira administracijo portfelja zavarovalnice. V tem času so obstajala CASE orodja, ki so obljubljala podporo razvoju aplikacij, a so v najboljšem primeru generirala programsko kodo, ki jo je bilo potrebno še ročno dodelati. Potrebe po hitrem razvoju in nadgradnji so nas vodile v izgradnjo lastnega orodja, ki je ob modeliranju podpiralo tudi avtomatsko persistenco, podporo transakcijam, podporo poročanju itd. Razvita orodja omogočajo veliko stopnjo integracije in hiter razvoj informacijskega sistema.
Spreminjajoče se zahteve strank ter nenazadnje tudi pomanjkanje podpore in razvoja programskega jezika ter razvojnega okolja Smalltalk nas silita v prenovo informacijskega sistema. Sedanje razmere na trgu zahtevajo sodobnejše rešitve povezljivosti in integracije sistema v obstoječe informacijsko okolje v podjetju.
Nove tehnologije, standardi in odprtokodni projekti, dandanes nudijo storitve, ki smo jih morali v preteklosti razviti sami. Storitveno usmerjena arhitektura omogoča fleksibilnejšo integracijo že obstoječih sistemov in sistema samega v celoto. V ospredju so poslovni procesi ter delovni tokovi zavarovalnice. Le-te je potrebno čim bolj avtomatizirati ter integrirati v celosten informacijski sistem.
Za izgradnjo sistema je torej potrebno skrbno načrtovanje in dekompozicija sistema v strokovno pravilne komponente in storitve, katere nam omogočajo enostavno in prilagodljivo avtomatizacijo poslovnih procesov.

 

  Uroš Novak
Praktične izkušnje pri uvajanju storitvene arhitekture

Uvajanje storitveno usmerjene arhitekture v večje poslovne informacijske sisteme je zahteven podvig, kjer obstaja veliko ovir in preprek, ki lahko povzročijo neuspeh projekta. V prispevku opisujemo projekt prenove informacijskega sistema in uvedbe storitveno usmerjene arhitekture, pri katerem strokovnjaki iz našega podjetja sodelujejo že nekaj časa. Opisan je celoten dosedanji življenski cikel programa, ki še ni popolnoma izpeljan, vendar je na dobri poti do uspešnega zaključka. Z vpogledom v posamezne, že izvedene faze programa želimo opisati enega izmed možnih načinov za uspešno uvajanje storitveno usmerjene arhitekture.

 

12:00 – 13:10
Odprtokodnost in agilnost

Matic Petek
Kako začeti odprtokodni projekt

Nekega dne ste iskali program, knjižnico ali kakšno rešitev preko vsem znanega spletnega iskalnika in ugotovili, da ustrezna rešitev ni na voljo. Ali pa ste dobili dobro idejo za izdelek, ki bi prav prišel tudi drugim, pa se ne želite obremenjevati s komercialno prodajo izdelka. Ena od najbolj razširjenih rešitev je začeti svoj odprtokodni projekt. Tako kot komercialni projekti, morajo tudi odprtokodni vsebovati podporne programe za vodenja razvoja programske opreme. Hranjenje izvorne kode, objava izvršilne kode programov, prijava napak, sledenje novim zahtevam, objava dokumentacije, forum za pogovor s uporabniki so samo najbolj znane podporne storitve, brez katerih si ne moremo predstavljati učinkovitega razvoja programske opreme. Za vse naštete storitve na trgu obstajajo tako odprtokodne kot komercialne rešitve, vendar zahtevajo primerno strojno in omrežno infrastrukturo, predvsem pa čas za namestitev in vzdrževanje. Velik del težav nam rešijo portali za razvoj odprtokodnih projektov.
Namen članka je predstaviti izkušnje pri vzpostavitvi in razvoju odprtokodnega izdelka, povzeto po naslednjih točkah:

  • Zakaj sploh začeti svoj odprtokodni projekt?
  • Storitve, ki so potrebne za nemoten skupinski razvoj,
  • Kaj ponujajo portali, kot so sourceforge.net, java.net, itd
  • Moje izkušnje pri razvoju dodatka GeoRaptor.

P.S : Avtor razvoja programski paket GeoRaptor, dodatek za Oracle SQL Developer, ki omogoča delo s Oracle Spatial podatki.

 

Pavel Reberc,
Integracija OpenOffice

V namenske aplikacije za spremljanje sodnih postopkov smo integrirali OpenOffice na več nivojih in sicer tako, da na podlagi poznavanja strukture dokumenta (open document standard) poslovna logika te dokumente tudi obdeluje.
OpenOffice se uporablja v t.i. "server mode" načinu za konverzijo dokumentov iz odt v pdf format...

 

  Jernej Srebrnič
Agilne metodologije pri uporabi odprtokodnih rešitev

Razvoj programske opreme na osnovi odprtokodnega programlja zahteva spremenjen razvojni cikel v primerjavi z tradicionlanim razvojnim modelom na osnovi licenčne programske opreme. En od ključnih dejavnikov je pogostost spreminjanje in dograjevanja verzij odprtkodnega pogramlja, ki so na žalost velikokrat nezdružljive s prejšnjimi. Po drugi strani, želimo si, da naš razvoj vključuje čim več novih in zmogljivih komponent, ki so del novih verzij. Razvoj aplikacij v tem okolju nas sili k konstantnem sledenju razvoja samega odprtokodnega okolja in sprotnega preverjanja funkcionalnosti in tehnološke zmogljivosti naše aplikacije. Uporaba agilnih metodologij je eden od ključnih dejavnikov pri uspešnem razvoju aplikacij v pogosto spremenjajočem razvojnem okolju.

V članku bomo opisali nujnost po uvajanju agilnih metodologij pri razvoju odprtokodnih rešitev, ter iz konkretnih razvojnih projektov poslovno kritičnih aplikacij v Java EE5 okolju predstavili naše prijeme soočanja z izivi.

 
14:00 -14:45
Vabljeno predavanje
Michael Roe
Cryptography and Evidence
 
15:00 – 16:40
Sodobna razvojna okolja in pristopi

Tomaž Taks, Gregor Polančič
Zakaj in kako izbrati programsko ogrodje

Programska ogrodja so tehnika ponovne uporabe, ki razvijalcem omogočajo znatne izboljšave iz vidika produktivnosti in kakovosti razvoja programske opreme. Pri tem se razvijalci, ki razvijajo rešitve na programskih ogrodjih, velikokrat sprašujejo, katero programsko ogrodje je za njih najustreznejše. Težava pri odločanju nastopi zaradi različnih potreb razvijalcev in velikega števila razpoložljivih programskih ogrodij, ki se med sabo razlikujejo po številnih lastnostih (na primer: kakovost ogrodja, namen ogrodja in kompleksnost ogrodja).
Kakovost programskega ogrodja predstavlja pomemben dejavnik odločanja, saj ima neposreden vpliv na rešitve, ki bodo izdelane na osnovi programskega ogrodja, zato se v prispevku osredotočamo na vrednotenje programskih ogrodij iz vidika kakovosti programske opreme, kot je definirana v mednarodnem standardu ISO 9126.
V prispevku predstavljamo pojem kakovosti v splošnem in v kontekstu programskih ogrodij. Predstavljeni so atributi kakovosti programskih ogrodij, temelječi na ISO 9126. Na osnovi atributov kakovosti programskih ogrodij je predstavljen ocenitveni model, ki temelji na združevanju delnih funkcij koristnosti. Model je vključen v ocenitveno metodo, ki vključuje znanje eksperta in uporabnika programskega ogrodja, katere primer uporabe je predstavljen na primeru ocenjevanja odprto-kodnega ogrodja Expresso. Metoda je uporabna tako za razvijalce programskih ogrodij, ki lahko z njeno pomočjo ocenijo kakovost programskega ogrodja, kakor za uporabnike ogrodij, ki jim metoda lahko služi kot pomoč pri odločanju o izbiri programskega ogrodja.

 



Ciril Petr, Bojan Štok
Uporaba virtualizacije v procesu razvoja programske opreme

Virtualizacija je sicer že dolgo prisotna, vendar pa je v zadnjem času dosegla zelo široko uporabo tudi v produkcijskih okoljih velikih sistemov. V prispevku je opisana postavitev okolja na lokalnem računalniku na katerem lahko razvijalec celovito testira aplikacijo in se nanjo oddaljeno povezuje preko integriranega razvojega orodja (IDE). Orodja kot so VmWare, Xen, VirtualPC, omogočajo, da si razvijalec na enem računalniku postavi enega ali več virtualnih računalnikov z različnimi operacijskimi sistemi verzijami, različnimi konfiguracijami. To nam omogoča, da lahko enostavno preverimo kako se aplikacija obnaša v različnih okoljih in zato ne potrebujemo dodatnega računalnika. Java 5.0 in Java 6.0 (Mustang) prinašata precej novosti, ki omogočajo razvijalcu lažjo diagnosticiranje in razhroščevanje programov. Prostodostopno orodje NetBeans 5.0 vključuje zelo močno orodje za diagnosticiranje porabe pomnilnika (profiler), iskanje metod v programski opremi, ki porabijo največ časa, oddaljeno razhroščevanje itd. Opisan je postopek konfiguracije na oddaljeni aplikaciji in razvojnega okolja za razhroščevanje, odkrivanje ozkih grl in uglaševanje sistema. 

 

Denis Giacomelli
Razvojni cikel programske rešitve v sodobnem okolju

Sodobna programska rešitev je porazdeljena, uporablja razpršene vire pri njenem razvoju pa sodeluje projektna ekipa strokovnjakov. Kompleksnost in priložnost za napako torej v vseh pogledih. Razvojni cikel sodobne programske rešitve je sestavljen iz več med seboj prekrivajočih se faz. Za kvalitetno rešitev so pomembne vse faze, ravno tako tudi njihova integracija. Z orodjem VS Team System smo končno tudi razvijalci programskih rešitev dobili »svoj« strežnik. Strežniki za skupinsko delo so v poslovnih programskih rešitvah že dolgo dobro znani in brez njih si dela praktično ne moremo več predstavljati. Pri razvoju programskih rešitev smo bili, kar se tiče skupinskega dela celotne razvojne skupine, do izida VS Team System prepuščeni predvsem svoji iznajdljivosti. Razvijalci smo reševali to z integriranjem paricalnih rešitev ali s samostojnim razvijanjem podpornih orodij. VS Team System nam v tem pogledu ponuja velik korak naprej.

 

Dejan Jovanović
Pristop k avtomatskemu testiranju porazdeljenih sistemov

Prispevek predstavlja problematiko avtomatskega testiranja porazdeljenih sistemov, s poudarkom na testiranju komponent telekomunikacijskih omrežij nove generacije (NGN). Težišče aktivnosti zagotavljanja kakovosti v primeru NGN je poleg preverjanja skladnosti delovanja opreme s standardi predvsem medoperabilnost mrežnih komponent. Predstavljen je skriptni jezik za podporo avtomatskemu testiranju porazdeljenih sistemov TTCN-3 in primer uvajanja TTCN-3 testnega sistema v prakso.

 

 
17:00-18:15
Okrogla miza
Programska oprema in storitve – pogled v prihodnost
 
18:30
Družabno srečanje
 

Sreda, 14.6.2006

   
9:00 – 9:45
Vabljeno predavanje
Ernesto Damiani
Extraction and Trust Based Validation of Semantic Web MetaData

After discussing the basic notions of Semantic Web ontology design and construction, the talk introduces a way of building Semantic Web ontologies that proceeds in a bottom-up fashion, defining concepts as clusters of concrete XML objects.  Bottom-up ontologies are based on simple relations like association and inheritance as well as on value restrictions, and can be used to develop and update  the usual Semantic Web “supply-side” normative ontologies. Then, the talk describes how automatically generated assertions based on bottom-up ontologies can be associated with a flexible degree of trust by non-intrusively collecting user feedback in the  form of implicit and explicit votes. Dynamic trust-based views on assertions filter out imprecisions and substantially improve Semantic Web metadata quality in the long run, creating a non-intrusive, user-centered quality improver for automatically generated metadata. 

 

10:00 – 11:20 
Predstavitev, obdelava in zaščita podatkov

Boštjan Šumak
Napredna obdelava podatkov XML na nivoju podatkovne baze

Tehnologija XML in tehnologije, ki temeljijo na jeziku XML so osnovni način komuniciranja med poslovnimi procesi in podpornimi informacijskimi sistemi in storitvami. Za učinkovito povezovanje poslovnih procesov, informacijskih sistemov in storitev so zelo pomembni mehanizmi pridobivanja, obdelave in shranjevanja podatkov XML. Učinkovit informacijski sistem temelji na učinkovitem sistemu za upravljanje s podatki. Podpora tehnologijam XML na nivoju podatkovne baze je zelo pomembna saj omogoča obdelavo podatkov XML in eliminacijo aplikacijskih nivojev, namenjenih za obdelavo dokumentov XML. V prispevku bomo predstavili prednosti upravljanja s podatki XML na nivoju sistemov za upravljanja s podatkovno bazo. Pogledali bomo kateri produkti obstajajo na tržišču in kakšno podporo nudijo obdelavi podatkov XML. Na praktičnih primerih bomo predstavili uporabo sodobnih tehnologij za obdelavo, shranjevanje in povpraševanje po podatkih XML na nivoju podatkovne baze.

 

Vinko Podobnik, Dominik Bele
Implementacija razširitev za neposredni dostop do prostorskih podatkov

WFS-i (web feature service) nudijo generičen dostop do prostorskih podatkov preko spleta, vendar se v specifičnih primerih pojavijo dodatne zahteve, ki jih z obstoječimi orodji ne moremo zagotoviti. GeoServer je eno izmed teh orodij, saj je popolnoma funkcionalen odprtokodni WFS-T in WMS strežnik, ki sledi OGC odprtim standardom. Podpira neposredne dostope do prostorskih podatkov, shranjenih v tabelah; ima pa določene omejitve npr. izbiro podatkov samo iz enega podatkovnega izvora. Ker je standard še v razvoju, je bilo potrebno razviti razširitev, ki bi zadovoljila naše dodatne potrebe: kontroliran dostop do baznih API-jev (avtentikacija uporabnika), beleženje vseh dostopov, možnost implementacije dodatne logike v sam API (npr. izbiro podatkov iz več podatkovnih virov).

 

Luka Pavlič
Grafični prikaz prevoženih poti v sistemu e-cestninjenje

V članku na kratko predstavimo ozadje naprednih elektronskih sistemov cestninjenja v prostem prometnem toku v slovenskem kot tudi širšem evropskem prostoru. Na kratko je predstavljen prototipni sistem elektronskega cestninjenja, njegov način delovanja in zgradba. Bistvo članka je naravnano zelo praktično. Podaja izkušnje pri razvoju splošne komponente za izris cestnih odsekov na spodaj ležeči sliki zemljevida. Predstavimo funkcionalnosti takšne komponente in način, kako smo jih dosegli. Poleg zgradbe in načina delovanja komponente opišemo še nekatere težave in napredne algoritme, ki jih rešijo. Predstavimo tudi način, kako smo komponento vklopili v delujoč spletni informacijski sistem elektronskega cestninjenja.

 

Mirko Zadravec, Gregor Klajnšek, David Podgorelec, Matic Petek
Geometrijska in topološka podpora operacijam v GIS

Urejevalnik mnogokotnikov je aplikacija, ki skrbi za podporo geometrijskim operacijam nad vektorsko predstavitvijo mnogokotnikov zemljiškega katastra. Take operacije so npr. risanje novih mnogokotnikov, spreminjanje geometrije mnogokotnikov (npr. premikanje točk), računanje površin mnogokotnikov, računanje preseka, itd. Urejevalnik mora v svojem jedru podpirati široko paleto operacij, hkrati pa zagotavljati robustnost in varnost pri izvedbi katerekoli od teh operacij. Urejevalnik mnogokotnikov, ki smo ga razvili, temelji na uporabi slojev. Vsak sloj predstavlja entitete določenega tipa (npr. mnogokotnike, ki predstavljajo posebna območja). Sloji so med seboj neodvisni, tako da spremembe na enem sloju ne vplivajo na drug sloj, kljub temu pa obstajajo operacije, ki jih lahko izvajamo nad več sloji (npr. presek).

 

11:40 – 13:20
Sodobni vmesniki in njihova varnost

Andraž Koželj
Spletne aplikacije v preobleki debelih odjemalcev

Pogledali bomo osnovne značilnosti spletnega programiranja s pomočjo AJAX pristopa.
Gre za višjo stopnjo interakcije s strežnikom in prijaznejše (pomoč na zahtevo), pametnejše spletne obrazce (sprotno preverjanje vnešenih podatkov), atraktivnejše spletne aplikacije (kombinacija DOM programiranja ter AJAX akcij), hitrejšo komunikacijo. Predstavi se nekatere večje projekte, ki so na spletu dostopni in na veliko uporabljani. Spoznali bomo prednosti tega pristopa, nekatere izmed možnosti uporabe, osnovna priporočila pri tovrstnem programiranja in znanja potrebna za izvedbo takih projektov. Prenašajo se manjši sklopi informacij, operacije potekajo asinhrono. Komunikacija s strežnikom je mogoča brez ponovnih nalaganj spletnih strani, vmesnih korakov pri večjih spletnih obrazcih ni toliko, ravno tako je večja možnost sprotnega odpravljanja napak na podatkih.

Podrobneje predstavimo uporabo AJAX-a na projektu izvedenem na J2EE platformi, kjer smo razvili lastno »tag« knjižnico in objekte za enostavno delo s hierarhičnimi šifranti. Kombinacija JSP ter frameworka Struts+Tiles nam omogoča lahko razširljivost in enostavno vzdrževanje aplikacije.

Predstavili bomo še pasti, ki čakajo razvijalce na tem področju. Gre predvsem za specifike raznih spletnih brskalnikov, zahteve s strani tehnologije (JavaScript, XML parserji, cache control) ter njihove odzive na AJAX. Izpostavili bi tudi varnost pri tovrstnih aplikacijah. Ker gre za nov pristop k spletnim aplikacijam, je pomemben tudi »user experience« in posledično drugi odzivi na nestandardno dogajanje na zaslonu. Uporabniku lahko z nekaterimi na človeški psihi bazirajočimi pristopi močno približamo dogajanje in olajšamo uporabo takih aplikacij. 

 

 

Marko Molan
AJAX - nov pristop implementacije internetnega poslovanja

Vse več in več podjetij in posameznikov se odloča za izvajanje poslovnih dejavnosti preko svetovnega spleta. Težava pa se pojavlja v tem, da sama spletna tehnologija ni bila zgrajena v te namene in tako sama po sebi ne zadostuje za hitro in učinkovito izvajanje zahtevnih poslovnih procesov. V ta namen razvijalci po vsem svetu iščejo nove in nove rešitve teh problemov. V tem članku bomo poizkušali odgovoriti na  vprašanja, ali je morda AJAX tisto, kar si podjetja oziroma uporabniki želijo? Ali si tega želijo tudi razvijalci spletnih rešitev

 

  Andrej Koman
Več klikov - več težav?

V prispevku si bomo pogledali, kako lahko z osnovnimi funkcionalnostmi spletnega protokola poskrbimo za varnejšo in uporabniku prijaznejšo aplikacijo.
Vsi interaktivni programi uporabljajo dve osnovni funkcionalnosti: pridobijo in obdelajo uporabnikov vnos in prikažejo rezultate. Spletne aplikacije niso nič drugačne: ti dve funkcionalnosti implementirajo s pomočjo HTTP metod – GET in POST. Po definiciji naj bi GET metoda pridobila podatke iz strežnika, POST metoda pa poslala podatke na strežnik in po vsej verjetnosti spremenila tudi stanje na strežniku (vpis v podatkovno zbirko, prijavljanje uporabnika...). Večina spletnih aplikacij tega ne upošteva dosledno, saj vrnejo nek rezultat iz strežnika kot odgovor POST zahtevku. V tem primeru lahko uporabnik iste podatke ponovno pošlje na strežnik, ker seveda ni primerno in nevarno, tako da si je ta problem celo prislužil svoje ime – Double Submit problem. Pogledali si bomo, kako lahko to težavo dokaj uspešno rešimo s klasičnimi metodami, predstavili načelo PRG (Post – Redirect – Get) ter se seznanili z njegovimi dobrimi in slabimi lastnostmi. Problemi, ki bodo prav tako naslovljeni so:

    • hranjenje spletnih strani, ki smo jih obiskali, v lastnem pomnilniku, s čimer pridobimo hitrejšo odzivnost aplikacije.
    • gumb Nazaj, s katerim lahko uporabnik ponovno pošlje iste podatke, ki je v javanskem svetu dobil celo svoj vzorec - Synchronizer Token pattern
    • uporabnik, navajen dvoklika lahko klikne gumb submit dvakrat ali večkrat, še preden strežnik vrne odgovor brskalniku.
    • govora bo tudi o zagotavljanju varnosti

     

Andrej Sevčnikar
Implementacija in integracija elektronskega podpisa v spletne aplikacije

V današnjem času se vse bolj poslužujemo poslovanja preko interneta. Na ta način zmanjšujemo stroške, prihranimo na času, ki ga sicer zapravljamo zaradi čakanja v vrstah, itd.
Vsak dokument ali obrazec, ki ga izpolnemo na pošti, banki ali drugi javni ustanovi zahteva naš lastnoročni podpis s katerim potrdimo, da se strinjamo z vsebino listine, da so podatki, ki so navedeni z naše strani resnični, skratka potrdimo veljavnost listine. V elektronskem okolju je izviren dokument nemogoče ločiti od njegovih kopij, nima lastnoročnega podpisa in kot že ime pove se nahaja v elektronski obliki. Možnost zlorabe je precejšna saj je relativno lahko prestreči in spremeniti podatke v elektronski obliki.

Možnih rešitev za samo implementacijo je več, le te pa so odvisne od uporabe platforme na kateri sloni aplikacija za elektronsko poslovanje. Predstavil bom implementacijo in integracijo elektronskega podpisa za primer B2C, ko klient uporablja za poslovanje spletni brskalnik (konkretno za Microsoftov Internet Explorer in Mozilla Firefox). Ob uvedbi elektronskega podpisa je zaželjeno, da na klientovi strani ni potrebno nameščanje kakršnegakoli programskega okolja (npr. Java Runtime Environment).

Nazadnje bom še omenil kaj vse je potrebno narediti, da delujoči komponenti uporabimo v praksi, to je formalni vidik glede zahtev o elektronskem podpisovanju.

 

Dušan Zupančič
Nova generacija spletnih vmesnikov z ogrodjem ASP .NET ATLAS

Po daljšem času se na področju spletnih rešitev dogajajo zanimivi premiki, ki pa niso toliko posledica novih tehnologij ampak so bolj konsenz o tem kako v prihodnosti razvijati spletne aplikacije novega rodu. V prispevku je najprej na kratko obdelan AJAX kot kratica o kateri se med spletnimi razvijalci v zadnjem času največ govori. Kot je bilo že omenjeno, ne gre za novo tehnologijo ampak za dogovor, da AJAX rešitve uporabljajo dogovorjen nabor tehnologij, kar bo v prihodnosti poenostavilo vprašanja o kompatibilnosti rešitev z raznimi brskalniki na eni strani in omogočilo razvoj nove generacije knjižnic in orodij, ki bodo podpirala razvoj takšnih rešitev. Kaj zmore AJAX lahko vidimo v novejših generacijah spletnih rešitev (live.com, maps.google.com …). Razvijalcem je v pomoč kar precejšnje število knjižnic (tudi za ASP .NET), vendar vseeno velja razvoj AJAX rešitev za relativno kompleksen proces (sodeč po debatah v novičarskih skupinah so mnenja o kompleksnosti razvoja AJAX rešitev precej deljena). Prispevek v nadaljevanju govori o Microsoftovem nastajajočem ogrodju ATLAS, ki je skupek knjižnic na strani strežnika (komponente) in odjemalca (JavaScript), ki omogočajo izgradnjo dinamičnih spletnih rešitev v AJAX stilu.

 

 
14:15 – 15:00
Vabljeno predavanje
Lorna Uden
Activity Theory for Knowledge Management in Organisations

Although knowledge management (KM) is an important asset in most organisations, most current systems fail to realise their potentials. Current approaches to KM systems tend to concentrate development mainly on the technical aspects, but ignore the social organisational issues. There are many issues that are important for the effective implementation of a knowledge management system. These include issues such as the organisation of the knowledge, the design process, and knowledge sharing. Effective KMS design requires that the role of technologies should be that of supporting business knowledge processes rather than storing data. A Knowledge Management System (KMS) needs to accommodate the complex, dynamic, distributed and context-dependent aspects of organisational knowledge. Thus the structure of an effective KMS must build on a genuine representation of real, distributed work and business that can be implemented in technologies without loss of context. It is the author’s belief that the cultural historical activity theory (CHAT) can be used as a theoretical model to analyse the development of knowledge management systems and knowledge sharing. Activity theory is a socio-cultural, socio-historical lens through which we can analyse human activity systems. It focuses on the interaction of human activity and consciousness within its relevant environmental context. Activity theory as a philosophical and cross disciplinary framework for studying different forms of human practices is well suited for study research within a community of practice such as knowledge management in collaborative research. This paper shows how activity theory can be used as a kernel theory for the development of a knowledge management design theory for collaborative work.

 

 
15:20 – 16:30
Strežniške tehnologije
 

Tomaž Ipavec
Integracija in razvoj aplikacij na osnovi Java EE 5

Specifikacija Java EE5 predstavlja velik napredek pri razvoju in integraciji poslovno kritičnih aplikacij glede na specifikacijo J2EE 4. Ključne prednosti so poenostavitev razvoja in abstrakcije objetno-relacijskega modela, enostavna uporaba standardnih POJO struktur in metod razvoja (npr. unit testing), usmeritev na poslovno funkcionalnost in ne na “framework”, uporaba konceptov iz Java 1.5 (generiki, anotacije, autoboxing, itd).

V članku bomo predstavili prednosti oz. učinkovitosti integracije strežniških aplikaciji v okolju Java EE 5. Poudarek bo predvsem na izboljšavah, ki jih prinaša EJB3 specifikacija, kot so poenostavljen razvojni model strežniških komponent aplikacije zaradi uporabe anotacij in generikov in posledično uporabe navadne POJO pri O/R preslikavah. Poseben poudarek bo na avtomatični generaciji Rich Client Platform (RCP) gradnikov direkno iz POJO objekta na osnovi lastno razvithih Java 1.5 anotacij, ki so vključeni v EJB3 zrna. Vsi navedeni primeri so pobrani iz prakse in uporabljeni na poslovno kritičnih aplikacijah.

 

  Gregor Kovač, Primož Grajžl
Zakaj nočemo J2EE?

Trenutna veljavna specifikacija J2EE je 1.4, ki vključuje različne tehnologije za razvoj poslovnih aplikacij. J2EE ima svoje dobre in slabe sestavine. Ena izmed slabših so poslovna zrna (EJB) Vendar pa ta tehnologija ni vedno primerna za manjše razvojne ekipe, ki v svojih aplikacijah potrebujejo enake storitve, kot jih ponuja J2EE.
Naša ERP rešitev nudi končnim uporabnikom storitve, ki jih ponujajo tudi velike ERP rešitve, kot so materialno poslovanje, finance, skladiščno poslovanje, kadrovska, plače, POS sistemi za maloprodajo, itd.
Potrebuje pa storitve, ki jih ponuja J2EE, kot so dostop do baze, transakcije v katerih sodeluje podatkovna baza in določeni Javanski objekti, itd. Vendar pa z malo razvojno skupino (3 inženirji) in uporabo J2EE to ni izvedljivo, saj podatkovna baza vsebuje preko 2000 tabel. Predstavili bomo alternativo J2EE, ki temelji na lastnih in odprtokodnih rešitvah (ogrodje Spring in sporočilna platforma Mule).
Ogrodje Spring je nastalo, da bi rešilo veliko problemov J2EE. Ogrodje je zelo lahko za uporabo, saj se večino dela postori preko ustrezne konfiguracije v datotekah XML. Razvijalcu aplikacij ni potrebno uporabljati nobenih razredov, ki jih ponuja ogrodje Spring, kar pomeni, da aplikacijo zelo hitro in brez večjih posegov prenesemo v drugo podobno ogrodje ali pa ogrodje nadomestimo z lastno implementacijo. Ker ogrodje ne poizkuša nadomestiti storitve, ki jih ponuja J2EE, nam tudi ponuja možnost komunikacije s poslovnimi zrni.
Sporočilna platforma Mule temelji na idejah ESB (Enterprise Service Bus). V samem kontejnerju tečejo sporočilne komponente, ki so navadni Javanski objekti (POJO – Plain Old Java Object). Vsaka kompomenta lahko sprejema in oddaja sporočila. Platforma ponuja storitve transakcij, dogodkov (event) pri sprejemanju in pošiljaju sporočil, usmerjevanje sporočil glede na konfiguracijo. Mule podpira komunikacijo preko protokola JMS, HTTP, RMI, POP3, IMAP, datotek, itd.

 

Miha Plohl
Na tirih

Razvoj programske opreme je danes neverjetno hitro rastoča industrija, ki prinaša tako pozitivne in negativne učinke. To občutimo vsi v vsakdanjem življenju. Enako občutijo tudi programerji, ki so tako rekoč motor te industrije. Programer implementira, programer natipka izvorno kodo programa. Pri tem vsakodnevnem opravilu se večinoma ubada s sestavljanjem in povezovanjem znanja, ki ga ima o knjižnicah, ki mu jih programski jezik nudi in modelu aplikacije, ki ga mora realizirat. Tako se povprečen programer večinoma ukvarja z iskanjem znanja po spletnih iskalnikih in po domače povedano rutinskim “klofanjem” izvorne kode. Pri tem ga ovira še množica “kratic”, kot so J2EE, .NET, SOA, WSDL, XML, XSLT, ki prinašajo samo še večjo zmedo v njegov lastni proces razvoja. V svoji kreativnosti je dostikrat omejen tudi s samim programskim jezikom in njegovimi pomanjkljivostmi. Ne nazadnje se mora odločit tudi za kateri programski jezik bo “navijal”. Vse to so ovire, ki vplivajo na kvaliteto in seveda produktivnost programerja. Produktivnost je pa prednost, ki si jo želimo vsi v tej industriji.
Konfiguracija je postala problem. Projekti so vedno večji in zajemajo več med seboj povezljivih tehnologij. Združevanje le teh v smiselne aplikacije je v končni fazi delo programerja, ki mora vse te komponente konfigurirat. Včasih je bila konfiguracija vprašanje navadne ASCII datoteke, danes je mnogo več kot to. Programer se zagotovo sreča vsaj z eno ponavadi pa več deset XML datotek, v katerih so shranjene konfiguracije raznih komponent. Težko si je zapomniti imena teh datotek, ki pa jih moramo nujno poznati. Konfiguracija je postala zahtevnejša od samega programiranja.

Sedaj ste v mislih prešteli vse datoteke, ki jih morate poznati, če ste zaprisežen java programer : web.xml, jboss-web.xml, server.xml, build.xml, application.xml, hibernate-deployer.xml ...

Če odmislimo težave v preobsežni konfiguraciji, se na drugi strani soočimo s težavami programskih jezikov. Lastnosti pravega objektno orientiranega programiranja v moderni jezikih, kot je Java, še vedno dajejo občutek, kot da so “le dodani”. Primitivni tipi, zahtevno upravljanje z izjemami, pretvarjanje tipov, in tako dalje, vse to je kontraproduktivno za povprečnega java programerja in zahteva več tipkanja, kot programiranja.
 
17:00 – 18:15
Od modelov do kode

Andrej Krajnc, Gorazd Kos
Uporaba jezika UML 2.0 v sodobnih informacijskih sistemih

Jezik UML predstavlja de-facto standardni način modeliranja objektno orientiranih aplikacij. Podjetja pri razvoju informacijskih sistemov uporabljajo jezik UML za vizualni opis struktur in obnašanj sistema. UML družine 1.x opisuje osnovne objektno orientirane koncepte, kot so razred, objekt, vmesnik itd. Nova verzija UML 2.0 definira nekatere nove diagrame in prinaša novosti predvsem na področju komponentnega razvoja. V prispevku so predstavljene pomembnejše novosti jezika UML 2.0.

Sodobne storitveno orientirane arhitekture (SOA) temeljijo na uporabi spletnih storitev in jezika XML. Čeprav so te sodobne arhitekture domala vse implementirane z objektno orientiranimi jeziki, pa se za njihovo predstavitev uporabljajo drugi jeziki (BPEL, WSDL itd.). Prispevek opisuje prednosti in omejitve pri uporabi jezika UML 2.0 pri razvoju sodobnih informacijskih sistemov.

 

Tomaž Hunjadi
Primerjava notacij za modeliranje aspektnih aplikacij

Aspektno usmerjena tehnologija se ukvarja s področjem ločevanja dolžnosti, s čemer omogoča, da lahko posamezne dolžnosti sistema načrtujemo in poskrbimo za njihovo medsebojno neodvisnost. Aspektno programiranje dopolnjuje objektno usmerjeno programiranje s tem, da dovoljuje razvijalcu dinamično spreminjati  statični objektno orientiran model (razrede z osnovno funkcionalnostjo), zaradi česar se lahko razvojni sistem vedno znova  srečuje z novimi zahtevami. Za modeliranje aspektno usmerjenih aplikacij pa potrebujemo modelirni jezik, ki bi v celoti podpiral aspektni razvoj, njegove zahteve in bi bil zmožen izražati osnovne in aspektne komponente ter njihove povezave. Trenutno je za vpeljavo grafične notacije aspektno usmerjenih aplikacij podanih kar nekaj predlogov, ki pa še v večini niso primerni za načrtovanje aspektnih aplikacij. V delu so predstavljene najprimernejše predloge za načrtovanje aspektnega pristopa, ki temeljijo na uporabi UML razširitvenih mehanizmov, uporabi vedenjskih vzorcev, razširitvah UML konstruktov ter načrtovanju s pomočjo meta modela. Na koncu je podana še analiza vsakega izmed predstavljenih predlogov ter njihova medsebojna primerjava.

 

Boris Benko
Z agilnimi procesi do delujoče kode

Ključne smernice na področju IKT peljejo v smer snovanja agilnih rešitev, kar pomeni, da je potrebno iz obstoječega in delujočega informacijskega sistema, ter iz izraženih trenutnih potreb uporabnikov hitro zasnovati novo rešitev, ki je uporabnikom na voljo hitro, ter je kvalitetno vkomponirana v obstoječi informacijski sistem. Za uspešno izvedbo informacijsko – komunikacijskih rešitev sta potrebna dva ključna elementa: agilni razvojni procesi in storitveno naravnana informacijska infrastruktura.

 

Denis Rojs, Bogdan Mlakar, Primož Žvižaj
Povezava jezika EGL in Jave

EGL (Enterprise Generation Language) je evolucija 4GL (Generation Languages) jezikov za hiter razvoj aplikacij. Podoben je COBOL-u, ampak ima posamezne elemente ki spominjajo na Javo in nekaj konceptov objektnega programiranja. EGL omogoča lažji prehod programerjev v proceduralnih jezikih k objektnemu razmišljanju. Slednji imajo težave pri sprejemanju in uvajanju objektnih jezikov. EGL izvorno kodo je mogoče generirat v želeno izvajalo platformo kot: COBOL, Javo ali spletno aplikacijo. Spoznali bomo medsebojne prednosti in slabosti razvoja v EGL-lu in Javi.

 
18:15
Zaključek konference
   
Pokrovitelji
Generalni pokrovitelj
Pokrovitelji

Novice
1.7.2006
Objavili smo slike iz konferenc TP za programsko opremo in storitve, OTS'2006, KMO'2006 in INPRO'2006. Stran s povezamai na posamezne albume najdete tukaj.
6.6.2006
Še en teden do pričetka konference OTS'2006. Prijavite se lahko tukaj.
5.6.2006
Na družabnem večeru bo nastopil klaviaturist Renato Ribič
29.5.2006
Vabimo Vas tudi na prvo konferenco TP za programsko opremo in storitve – udeležba brezplačna.
26.5.2006
Od danes velja spremenjena cena kotizacije.
22.5.2006
Objavljen končni program s povzetki prispevkov.
19.5.2006
Izkoristite možnost znižane kotizacije – še samo šest dni.
11.5.2006
Prvo uvodno predavanje na konferenci potrdil predstavnik NESSI - Jose M. Cavanillas.
24.4.2006
IBM pokrovitelj OTS'2006
21.4.2006
Telekom d.d. pokrovitelj OTS'2006
19.4.2006
Actual pokrovitelj OTS'2006
27.3.2006
Perftech d.o.o. pokrovitelj OTS'2006
27.3.2006
Iskratel d.o.o. pokrovitelj OTS'2006
20.3.2006
Marand d.o.o. pokrovitelj OTS'2006
15.3.2006
FJA OdaTeam d.o.o. pokrovitelj OTS'2006
15.3.2006
Alcad d.o.o. pokrovitelj OTS'2006
15.3.2006
Razvojni center IRC Celje pokrovitelj OTS'2006
13.3.2006
IZUM pokrovitelj OTS'2006
10.3.2006
TIS pokrovitelj OTS'2006
8.3.2006
Nova KBM pokrovitelj OTS'2006
8.3.2006
ORACLE pokrovitelj OTS'2006
8.3.2006
MIKROpis (EMG d.d.) pokrovitelj OTS'2006
2.3.2006
SRC.SI pokrovitelj OTS'2006